1 /*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "session_manager/include/scene_session_manager.h"
17 #include "session_manager/include/scene_session_manager_lite.h"
18
19 namespace OHOS::Rosen {
20 namespace {
21 constexpr HiviewDFX::HiLogLabel LABEL = { LOG_CORE, HILOG_DOMAIN_WINDOW, "SceneSessionManagerLite" };
22 } // namespace
23
WM_IMPLEMENT_SINGLE_INSTANCE(SceneSessionManagerLite)24 WM_IMPLEMENT_SINGLE_INSTANCE(SceneSessionManagerLite)
25
26 WSError SceneSessionManagerLite::SetSessionContinueState(const sptr<IRemoteObject>& token,
27 const ContinueState& continueState)
28 {
29 WLOGFD("run SetSessionContinueState");
30 return SceneSessionManager::GetInstance().SetSessionContinueState(token, continueState);
31 }
32
SetSessionLabel(const sptr<IRemoteObject> & token,const std::string & label)33 WSError SceneSessionManagerLite::SetSessionLabel(const sptr<IRemoteObject>& token, const std::string& label)
34 {
35 WLOGFD("run SetSessionLabel");
36 return SceneSessionManager::GetInstance().SetSessionLabel(token, label);
37 }
38
SetSessionIcon(const sptr<IRemoteObject> & token,const std::shared_ptr<Media::PixelMap> & icon)39 WSError SceneSessionManagerLite::SetSessionIcon(const sptr<IRemoteObject>& token,
40 const std::shared_ptr<Media::PixelMap>& icon)
41 {
42 WLOGFD("run SetSessionIcon");
43 return SceneSessionManager::GetInstance().SetSessionIcon(token, icon);
44 }
45
IsValidSessionIds(const std::vector<int32_t> & sessionIds,std::vector<bool> & results)46 WSError SceneSessionManagerLite::IsValidSessionIds(
47 const std::vector<int32_t>& sessionIds, std::vector<bool>& results)
48 {
49 WLOGFD("run IsValidSessionIds");
50 return SceneSessionManager::GetInstance().IsValidSessionIds(sessionIds, results);
51 }
52
GetSessionInfos(const std::string & deviceId,int32_t numMax,std::vector<SessionInfoBean> & sessionInfos)53 WSError SceneSessionManagerLite::GetSessionInfos(const std::string& deviceId, int32_t numMax,
54 std::vector<SessionInfoBean>& sessionInfos)
55 {
56 WLOGFD("run GetSessionInfos");
57 return SceneSessionManager::GetInstance().GetSessionInfos(deviceId, numMax, sessionInfos);
58 }
59
GetMainWindowStatesByPid(int32_t pid,std::vector<MainWindowState> & windowStates)60 WSError SceneSessionManagerLite::GetMainWindowStatesByPid(int32_t pid, std::vector<MainWindowState>& windowStates)
61 {
62 return SceneSessionManager::GetInstance().GetMainWindowStatesByPid(pid, windowStates);
63 }
64
GetSessionInfo(const std::string & deviceId,int32_t persistentId,SessionInfoBean & sessionInfo)65 WSError SceneSessionManagerLite::GetSessionInfo(const std::string& deviceId,
66 int32_t persistentId, SessionInfoBean& sessionInfo)
67 {
68 WLOGFD("run GetSessionInfo");
69 return SceneSessionManager::GetInstance().GetSessionInfo(deviceId, persistentId, sessionInfo);
70 }
71
GetSessionInfoByContinueSessionId(const std::string & continueSessionId,SessionInfoBean & sessionInfo)72 WSError SceneSessionManagerLite::GetSessionInfoByContinueSessionId(
73 const std::string& continueSessionId, SessionInfoBean& sessionInfo)
74 {
75 TLOGD(WmsLogTag::WMS_MAIN, "liteProxy -> continueSessionId: %{public}s", continueSessionId.c_str());
76 return SceneSessionManager::GetInstance().GetSessionInfoByContinueSessionId(continueSessionId, sessionInfo);
77 }
78
RegisterSessionListener(const sptr<ISessionListener> & listener)79 WSError SceneSessionManagerLite::RegisterSessionListener(const sptr<ISessionListener>& listener)
80 {
81 WLOGFD("run RegisterSessionListener");
82 return SceneSessionManager::GetInstance().RegisterSessionListener(listener);
83 }
84
UnRegisterSessionListener(const sptr<ISessionListener> & listener)85 WSError SceneSessionManagerLite::UnRegisterSessionListener(const sptr<ISessionListener>& listener)
86 {
87 WLOGFD("run UnRegisterSessionListener");
88 return SceneSessionManager::GetInstance().UnRegisterSessionListener(listener);
89 }
90
TerminateSessionNew(const sptr<AAFwk::SessionInfo> info,bool needStartCaller,bool isFromBroker)91 WSError SceneSessionManagerLite::TerminateSessionNew(
92 const sptr<AAFwk::SessionInfo> info, bool needStartCaller, bool isFromBroker)
93 {
94 WLOGFD("run TerminateSessionNew");
95 return SceneSessionManager::GetInstance().TerminateSessionNew(info, needStartCaller, isFromBroker);
96 }
97
GetSessionSnapshot(const std::string & deviceId,int32_t persistentId,SessionSnapshot & snapshot,bool isLowResolution)98 WSError SceneSessionManagerLite::GetSessionSnapshot(const std::string& deviceId, int32_t persistentId,
99 SessionSnapshot& snapshot, bool isLowResolution)
100 {
101 WLOGFD("run GetSessionSnapshot");
102 return SceneSessionManager::GetInstance().GetSessionSnapshot(deviceId, persistentId, snapshot, isLowResolution);
103 }
104
PendingSessionToForeground(const sptr<IRemoteObject> & token)105 WSError SceneSessionManagerLite::PendingSessionToForeground(const sptr<IRemoteObject>& token)
106 {
107 WLOGFD("run PendingSessionToForeground");
108 return SceneSessionManager::GetInstance().PendingSessionToForeground(token);
109 }
110
PendingSessionToBackgroundForDelegator(const sptr<IRemoteObject> & token,bool shouldBackToCaller)111 WSError SceneSessionManagerLite::PendingSessionToBackgroundForDelegator(const sptr<IRemoteObject>& token,
112 bool shouldBackToCaller)
113 {
114 WLOGFD("run PendingSessionToBackgroundForDelegator");
115 return SceneSessionManager::GetInstance().PendingSessionToBackgroundForDelegator(token, shouldBackToCaller);
116 }
117
GetFocusSessionToken(sptr<IRemoteObject> & token)118 WSError SceneSessionManagerLite::GetFocusSessionToken(sptr<IRemoteObject>& token)
119 {
120 WLOGFD("run GetFocusSessionToken");
121 return SceneSessionManager::GetInstance().GetFocusSessionToken(token);
122 }
123
GetFocusSessionElement(AppExecFwk::ElementName & element)124 WSError SceneSessionManagerLite::GetFocusSessionElement(AppExecFwk::ElementName& element)
125 {
126 WLOGFD("run GetFocusSessionElement");
127 return SceneSessionManager::GetInstance().GetFocusSessionElement(element);
128 }
129
ClearSession(int32_t persistentId)130 WSError SceneSessionManagerLite::ClearSession(int32_t persistentId)
131 {
132 WLOGFD("run ClearSession with persistentId: %{public}d", persistentId);
133 return SceneSessionManager::GetInstance().ClearSession(persistentId);
134 }
135
ClearAllSessions()136 WSError SceneSessionManagerLite::ClearAllSessions()
137 {
138 WLOGFD("run ClearAllSessions");
139 return SceneSessionManager::GetInstance().ClearAllSessions();
140 }
141
LockSession(int32_t sessionId)142 WSError SceneSessionManagerLite::LockSession(int32_t sessionId)
143 {
144 WLOGFD("run LockSession with persistentId: %{public}d", sessionId);
145 return SceneSessionManager::GetInstance().LockSession(sessionId);
146 }
147
UnlockSession(int32_t sessionId)148 WSError SceneSessionManagerLite::UnlockSession(int32_t sessionId)
149 {
150 WLOGFD("run UnlockSession with persistentId: %{public}d", sessionId);
151 return SceneSessionManager::GetInstance().UnlockSession(sessionId);
152 }
153
MoveSessionsToForeground(const std::vector<int32_t> & sessionIds,int32_t topSessionId)154 WSError SceneSessionManagerLite::MoveSessionsToForeground(const std::vector<int32_t>& sessionIds, int32_t topSessionId)
155 {
156 WLOGFD("run MoveSessionsToForeground");
157 return SceneSessionManager::GetInstance().MoveSessionsToForeground(sessionIds, topSessionId);
158 }
159
MoveSessionsToBackground(const std::vector<int32_t> & sessionIds,std::vector<int32_t> & result)160 WSError SceneSessionManagerLite::MoveSessionsToBackground(const std::vector<int32_t>& sessionIds,
161 std::vector<int32_t>& result)
162 {
163 WLOGFD("run MoveSessionsToBackground");
164 return SceneSessionManager::GetInstance().MoveSessionsToBackground(sessionIds, result);
165 }
166
GetFocusWindowInfo(FocusChangeInfo & focusInfo)167 void SceneSessionManagerLite::GetFocusWindowInfo(FocusChangeInfo& focusInfo)
168 {
169 return SceneSessionManager::GetInstance().GetFocusWindowInfo(focusInfo);
170 }
171
RegisterWindowManagerAgent(WindowManagerAgentType type,const sptr<IWindowManagerAgent> & windowManagerAgent)172 WMError SceneSessionManagerLite::RegisterWindowManagerAgent(WindowManagerAgentType type,
173 const sptr<IWindowManagerAgent>& windowManagerAgent)
174 {
175 return SceneSessionManager::GetInstance().RegisterWindowManagerAgent(type, windowManagerAgent);
176 }
177
UnregisterWindowManagerAgent(WindowManagerAgentType type,const sptr<IWindowManagerAgent> & windowManagerAgent)178 WMError SceneSessionManagerLite::UnregisterWindowManagerAgent(WindowManagerAgentType type,
179 const sptr<IWindowManagerAgent>& windowManagerAgent)
180 {
181 return SceneSessionManager::GetInstance().UnregisterWindowManagerAgent(type, windowManagerAgent);
182 }
183
CheckWindowId(int32_t windowId,int32_t & pid)184 WMError SceneSessionManagerLite::CheckWindowId(int32_t windowId, int32_t& pid)
185 {
186 return SceneSessionManager::GetInstance().CheckWindowId(windowId, pid);
187 }
188
GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>> & infos)189 WMError SceneSessionManagerLite::GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>>& infos)
190 {
191 return SceneSessionManager::GetInstance().GetVisibilityWindowInfo(infos);
192 }
193
UpdateWindowMode(int32_t persistentId,int32_t windowMode)194 WSError SceneSessionManagerLite::UpdateWindowMode(int32_t persistentId, int32_t windowMode)
195 {
196 return SceneSessionManager::GetInstance().UpdateWindowMode(persistentId, windowMode);
197 }
198
GetWindowModeType(WindowModeType & windowModeType)199 WMError SceneSessionManagerLite::GetWindowModeType(WindowModeType& windowModeType)
200 {
201 return SceneSessionManager::GetInstance().GetWindowModeType(windowModeType);
202 }
203
RaiseWindowToTop(int32_t persistentId)204 WSError SceneSessionManagerLite::RaiseWindowToTop(int32_t persistentId)
205 {
206 return SceneSessionManager::GetInstance().RaiseWindowToTop(persistentId);
207 }
208
GetMainWindowInfos(int32_t topNum,std::vector<MainWindowInfo> & topNInfo)209 WMError SceneSessionManagerLite::GetMainWindowInfos(int32_t topNum, std::vector<MainWindowInfo>& topNInfo)
210 {
211 return SceneSessionManager::GetInstance().GetMainWindowInfos(topNum, topNInfo);
212 }
213
RegisterIAbilityManagerCollaborator(int32_t type,const sptr<AAFwk::IAbilityManagerCollaborator> & impl)214 WSError SceneSessionManagerLite::RegisterIAbilityManagerCollaborator(int32_t type,
215 const sptr<AAFwk::IAbilityManagerCollaborator>& impl)
216 {
217 return SceneSessionManager::GetInstance().RegisterIAbilityManagerCollaborator(type, impl);
218 }
219
UnregisterIAbilityManagerCollaborator(int32_t type)220 WSError SceneSessionManagerLite::UnregisterIAbilityManagerCollaborator(int32_t type)
221 {
222 return SceneSessionManager::GetInstance().UnregisterIAbilityManagerCollaborator(type);
223 }
224
GetAllMainWindowInfos(std::vector<MainWindowInfo> & infos)225 WMError SceneSessionManagerLite::GetAllMainWindowInfos(std::vector<MainWindowInfo>& infos)
226 {
227 return SceneSessionManager::GetInstance().GetAllMainWindowInfos(infos);
228 }
229
ClearMainSessions(const std::vector<int32_t> & persistentIds,std::vector<int32_t> & clearFailedIds)230 WMError SceneSessionManagerLite::ClearMainSessions(const std::vector<int32_t>& persistentIds,
231 std::vector<int32_t>& clearFailedIds)
232 {
233 return SceneSessionManager::GetInstance().ClearMainSessions(persistentIds, clearFailedIds);
234 }
235
GetWindowStyleType(WindowStyleType & windowStyletype)236 WMError SceneSessionManagerLite::GetWindowStyleType(WindowStyleType& windowStyletype)
237 {
238 return SceneSessionManager::GetInstance().GetWindowStyleType(windowStyletype);
239 }
240
TerminateSessionByPersistentId(int32_t persistentId)241 WMError SceneSessionManagerLite::TerminateSessionByPersistentId(int32_t persistentId)
242 {
243 return SceneSessionManager::GetInstance().TerminateSessionByPersistentId(persistentId);
244 }
245
GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>> & infos)246 WMError SceneSessionManagerLite::GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>>& infos)
247 {
248 return SceneSessionManager::GetInstance().GetAccessibilityWindowInfo(infos);
249 }
250
CloseTargetFloatWindow(const std::string & bundleName)251 WMError SceneSessionManagerLite::CloseTargetFloatWindow(const std::string& bundleName)
252 {
253 return SceneSessionManager::GetInstance().CloseTargetFloatWindow(bundleName);
254 }
255
CloseTargetPiPWindow(const std::string & bundleName)256 WMError SceneSessionManagerLite::CloseTargetPiPWindow(const std::string& bundleName)
257 {
258 return SceneSessionManager::GetInstance().CloseTargetPiPWindow(bundleName);
259 }
260
GetCurrentPiPWindowInfo(std::string & bundleName)261 WMError SceneSessionManagerLite::GetCurrentPiPWindowInfo(std::string& bundleName)
262 {
263 return SceneSessionManager::GetInstance().GetCurrentPiPWindowInfo(bundleName);
264 }
265 } // namespace OHOS::Rosen
266