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
CheckUIExtensionCreation(int32_t windowId,uint32_t tokenId,const AppExecFwk::ElementName & element,AppExecFwk::ExtensionAbilityType extensionAbilityType,int32_t & pid)189 WMError SceneSessionManagerLite::CheckUIExtensionCreation(int32_t windowId, uint32_t tokenId,
190 const AppExecFwk::ElementName& element, AppExecFwk::ExtensionAbilityType extensionAbilityType, int32_t& pid)
191 {
192 return SceneSessionManager::GetInstance().CheckUIExtensionCreation(windowId, tokenId, element, extensionAbilityType,
193 pid);
194 }
195
GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>> & infos)196 WMError SceneSessionManagerLite::GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>>& infos)
197 {
198 return SceneSessionManager::GetInstance().GetVisibilityWindowInfo(infos);
199 }
200
UpdateWindowMode(int32_t persistentId,int32_t windowMode)201 WSError SceneSessionManagerLite::UpdateWindowMode(int32_t persistentId, int32_t windowMode)
202 {
203 return SceneSessionManager::GetInstance().UpdateWindowMode(persistentId, windowMode);
204 }
205
GetWindowModeType(WindowModeType & windowModeType)206 WMError SceneSessionManagerLite::GetWindowModeType(WindowModeType& windowModeType)
207 {
208 return SceneSessionManager::GetInstance().GetWindowModeType(windowModeType);
209 }
210
RaiseWindowToTop(int32_t persistentId)211 WSError SceneSessionManagerLite::RaiseWindowToTop(int32_t persistentId)
212 {
213 return SceneSessionManager::GetInstance().RaiseWindowToTop(persistentId);
214 }
215
GetMainWindowInfos(int32_t topNum,std::vector<MainWindowInfo> & topNInfo)216 WMError SceneSessionManagerLite::GetMainWindowInfos(int32_t topNum, std::vector<MainWindowInfo>& topNInfo)
217 {
218 return SceneSessionManager::GetInstance().GetMainWindowInfos(topNum, topNInfo);
219 }
220
RegisterIAbilityManagerCollaborator(int32_t type,const sptr<AAFwk::IAbilityManagerCollaborator> & impl)221 WSError SceneSessionManagerLite::RegisterIAbilityManagerCollaborator(int32_t type,
222 const sptr<AAFwk::IAbilityManagerCollaborator>& impl)
223 {
224 return SceneSessionManager::GetInstance().RegisterIAbilityManagerCollaborator(type, impl);
225 }
226
UnregisterIAbilityManagerCollaborator(int32_t type)227 WSError SceneSessionManagerLite::UnregisterIAbilityManagerCollaborator(int32_t type)
228 {
229 return SceneSessionManager::GetInstance().UnregisterIAbilityManagerCollaborator(type);
230 }
231
GetAllMainWindowInfos(std::vector<MainWindowInfo> & infos)232 WMError SceneSessionManagerLite::GetAllMainWindowInfos(std::vector<MainWindowInfo>& infos)
233 {
234 return SceneSessionManager::GetInstance().GetAllMainWindowInfos(infos);
235 }
236
ClearMainSessions(const std::vector<int32_t> & persistentIds,std::vector<int32_t> & clearFailedIds)237 WMError SceneSessionManagerLite::ClearMainSessions(const std::vector<int32_t>& persistentIds,
238 std::vector<int32_t>& clearFailedIds)
239 {
240 return SceneSessionManager::GetInstance().ClearMainSessions(persistentIds, clearFailedIds);
241 }
242
GetWindowStyleType(WindowStyleType & windowStyletype)243 WMError SceneSessionManagerLite::GetWindowStyleType(WindowStyleType& windowStyletype)
244 {
245 return SceneSessionManager::GetInstance().GetWindowStyleType(windowStyletype);
246 }
247
TerminateSessionByPersistentId(int32_t persistentId)248 WMError SceneSessionManagerLite::TerminateSessionByPersistentId(int32_t persistentId)
249 {
250 return SceneSessionManager::GetInstance().TerminateSessionByPersistentId(persistentId);
251 }
252
GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>> & infos)253 WMError SceneSessionManagerLite::GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>>& infos)
254 {
255 return SceneSessionManager::GetInstance().GetAccessibilityWindowInfo(infos);
256 }
257
CloseTargetFloatWindow(const std::string & bundleName)258 WMError SceneSessionManagerLite::CloseTargetFloatWindow(const std::string& bundleName)
259 {
260 return SceneSessionManager::GetInstance().CloseTargetFloatWindow(bundleName);
261 }
262
CloseTargetPiPWindow(const std::string & bundleName)263 WMError SceneSessionManagerLite::CloseTargetPiPWindow(const std::string& bundleName)
264 {
265 return SceneSessionManager::GetInstance().CloseTargetPiPWindow(bundleName);
266 }
267
GetCurrentPiPWindowInfo(std::string & bundleName)268 WMError SceneSessionManagerLite::GetCurrentPiPWindowInfo(std::string& bundleName)
269 {
270 return SceneSessionManager::GetInstance().GetCurrentPiPWindowInfo(bundleName);
271 }
NotifyAppUseControlList(ControlAppType type,int32_t userId,const std::vector<AppUseControlInfo> & controlList)272 WSError SceneSessionManagerLite::NotifyAppUseControlList(
273 ControlAppType type, int32_t userId, const std::vector<AppUseControlInfo>& controlList)
274 {
275 return SceneSessionManager::GetInstance().NotifyAppUseControlList(type, userId, controlList);
276 }
277
GetRootMainWindowId(int32_t persistentId,int32_t & hostWindowId)278 WMError SceneSessionManagerLite::GetRootMainWindowId(int32_t persistentId, int32_t& hostWindowId)
279 {
280 return SceneSessionManager::GetInstance().GetRootMainWindowId(persistentId, hostWindowId);
281 }
282 } // namespace OHOS::Rosen
283