• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
GetInstance()24 SceneSessionManagerLite& SceneSessionManagerLite::GetInstance()
25 {
26     static sptr<SceneSessionManagerLite> instance(new SceneSessionManagerLite());
27     return *instance;
28 }
29 
SetSessionContinueState(const sptr<IRemoteObject> & token,const ContinueState & continueState)30 WSError SceneSessionManagerLite::SetSessionContinueState(const sptr<IRemoteObject>& token,
31     const ContinueState& continueState)
32 {
33     WLOGFD("in");
34     return SceneSessionManager::GetInstance().SetSessionContinueState(token, continueState);
35 }
36 
SetSessionLabel(const sptr<IRemoteObject> & token,const std::string & label)37 WSError SceneSessionManagerLite::SetSessionLabel(const sptr<IRemoteObject>& token, const std::string& label)
38 {
39     WLOGFD("in");
40     return SceneSessionManager::GetInstance().SetSessionLabel(token, label);
41 }
42 
SetSessionIcon(const sptr<IRemoteObject> & token,const std::shared_ptr<Media::PixelMap> & icon)43 WSError SceneSessionManagerLite::SetSessionIcon(const sptr<IRemoteObject>& token,
44     const std::shared_ptr<Media::PixelMap>& icon)
45 {
46     WLOGFD("in");
47     return SceneSessionManager::GetInstance().SetSessionIcon(token, icon);
48 }
49 
IsValidSessionIds(const std::vector<int32_t> & sessionIds,std::vector<bool> & results)50 WSError SceneSessionManagerLite::IsValidSessionIds(
51     const std::vector<int32_t>& sessionIds, std::vector<bool>& results)
52 {
53     WLOGFD("in");
54     return SceneSessionManager::GetInstance().IsValidSessionIds(sessionIds, results);
55 }
56 
GetSessionInfos(const std::string & deviceId,int32_t numMax,std::vector<SessionInfoBean> & sessionInfos)57 WSError SceneSessionManagerLite::GetSessionInfos(const std::string& deviceId, int32_t numMax,
58     std::vector<SessionInfoBean>& sessionInfos)
59 {
60     WLOGFD("in");
61     return SceneSessionManager::GetInstance().GetSessionInfos(deviceId, numMax, sessionInfos);
62 }
63 
GetMainWindowStatesByPid(int32_t pid,std::vector<MainWindowState> & windowStates)64 WSError SceneSessionManagerLite::GetMainWindowStatesByPid(int32_t pid, std::vector<MainWindowState>& windowStates)
65 {
66     return SceneSessionManager::GetInstance().GetMainWindowStatesByPid(pid, windowStates);
67 }
68 
GetSessionInfo(const std::string & deviceId,int32_t persistentId,SessionInfoBean & sessionInfo)69 WSError SceneSessionManagerLite::GetSessionInfo(const std::string& deviceId,
70     int32_t persistentId, SessionInfoBean& sessionInfo)
71 {
72     WLOGFD("in");
73     return SceneSessionManager::GetInstance().GetSessionInfo(deviceId, persistentId, sessionInfo);
74 }
75 
GetSessionInfoByContinueSessionId(const std::string & continueSessionId,SessionInfoBean & sessionInfo)76 WSError SceneSessionManagerLite::GetSessionInfoByContinueSessionId(
77     const std::string& continueSessionId, SessionInfoBean& sessionInfo)
78 {
79     TLOGD(WmsLogTag::WMS_MAIN, "continueSessionId: %{public}s", continueSessionId.c_str());
80     return SceneSessionManager::GetInstance().GetSessionInfoByContinueSessionId(continueSessionId, sessionInfo);
81 }
82 
RegisterSessionListener(const sptr<ISessionListener> & listener,bool isRecover)83 WSError SceneSessionManagerLite::RegisterSessionListener(const sptr<ISessionListener>& listener, bool isRecover)
84 {
85     WLOGFD("in");
86     return SceneSessionManager::GetInstance().RegisterSessionListener(listener);
87 }
88 
UnRegisterSessionListener(const sptr<ISessionListener> & listener)89 WSError SceneSessionManagerLite::UnRegisterSessionListener(const sptr<ISessionListener>& listener)
90 {
91     WLOGFD("in");
92     return SceneSessionManager::GetInstance().UnRegisterSessionListener(listener);
93 }
94 
TerminateSessionNew(const sptr<AAFwk::SessionInfo> info,bool needStartCaller,bool isFromBroker)95 WSError SceneSessionManagerLite::TerminateSessionNew(
96     const sptr<AAFwk::SessionInfo> info, bool needStartCaller, bool isFromBroker)
97 {
98     WLOGFD("in");
99     return SceneSessionManager::GetInstance().TerminateSessionNew(info, needStartCaller, isFromBroker);
100 }
101 
GetSessionSnapshot(const std::string & deviceId,int32_t persistentId,SessionSnapshot & snapshot,bool isLowResolution)102 WSError SceneSessionManagerLite::GetSessionSnapshot(const std::string& deviceId, int32_t persistentId,
103     SessionSnapshot& snapshot, bool isLowResolution)
104 {
105     WLOGFD("in");
106     return SceneSessionManager::GetInstance().GetSessionSnapshot(deviceId, persistentId, snapshot, isLowResolution);
107 }
108 
PendingSessionToForeground(const sptr<IRemoteObject> & token)109 WSError SceneSessionManagerLite::PendingSessionToForeground(const sptr<IRemoteObject>& token)
110 {
111     WLOGFD("in");
112     return SceneSessionManager::GetInstance().PendingSessionToForeground(token);
113 }
114 
PendingSessionToBackground(const sptr<IRemoteObject> & token,const BackgroundParams & params)115 WSError SceneSessionManagerLite::PendingSessionToBackground(const sptr<IRemoteObject>& token,
116     const BackgroundParams& params)
117 {
118     WLOGFD("in");
119     return SceneSessionManager::GetInstance().PendingSessionToBackground(token, params);
120 }
121 
PendingSessionToBackgroundForDelegator(const sptr<IRemoteObject> & token,bool shouldBackToCaller)122 WSError SceneSessionManagerLite::PendingSessionToBackgroundForDelegator(const sptr<IRemoteObject>& token,
123     bool shouldBackToCaller)
124 {
125     WLOGFD("in");
126     return SceneSessionManager::GetInstance().PendingSessionToBackgroundForDelegator(token, shouldBackToCaller);
127 }
128 
GetFocusSessionToken(sptr<IRemoteObject> & token,DisplayId displayId)129 WSError SceneSessionManagerLite::GetFocusSessionToken(sptr<IRemoteObject>& token, DisplayId displayId)
130 {
131     WLOGFD("in");
132     return SceneSessionManager::GetInstance().GetFocusSessionToken(token, displayId);
133 }
134 
GetFocusSessionElement(AppExecFwk::ElementName & element,DisplayId displayId)135 WSError SceneSessionManagerLite::GetFocusSessionElement(AppExecFwk::ElementName& element, DisplayId displayId)
136 {
137     WLOGFD("in");
138     return SceneSessionManager::GetInstance().GetFocusSessionElement(element, displayId);
139 }
140 
IsFocusWindowParent(const sptr<IRemoteObject> & token,bool & isParent)141 WSError SceneSessionManagerLite::IsFocusWindowParent(const sptr<IRemoteObject>& token, bool& isParent)
142 {
143     TLOGD(WmsLogTag::WMS_FOCUS, "in");
144     return SceneSessionManager::GetInstance().IsFocusWindowParent(token, isParent);
145 }
146 
ClearSession(int32_t persistentId)147 WSError SceneSessionManagerLite::ClearSession(int32_t persistentId)
148 {
149     WLOGFD("Id: %{public}d", persistentId);
150     return SceneSessionManager::GetInstance().ClearSession(persistentId);
151 }
152 
ClearAllSessions()153 WSError SceneSessionManagerLite::ClearAllSessions()
154 {
155     WLOGFD("in");
156     return SceneSessionManager::GetInstance().ClearAllSessions();
157 }
158 
LockSession(int32_t sessionId)159 WSError SceneSessionManagerLite::LockSession(int32_t sessionId)
160 {
161     WLOGFD("Id: %{public}d", sessionId);
162     return SceneSessionManager::GetInstance().LockSession(sessionId);
163 }
164 
UnlockSession(int32_t sessionId)165 WSError SceneSessionManagerLite::UnlockSession(int32_t sessionId)
166 {
167     WLOGFD("Id: %{public}d", sessionId);
168     return SceneSessionManager::GetInstance().UnlockSession(sessionId);
169 }
170 
MoveSessionsToForeground(const std::vector<int32_t> & sessionIds,int32_t topSessionId)171 WSError SceneSessionManagerLite::MoveSessionsToForeground(const std::vector<int32_t>& sessionIds, int32_t topSessionId)
172 {
173     WLOGFD("in");
174     return SceneSessionManager::GetInstance().MoveSessionsToForeground(sessionIds, topSessionId);
175 }
176 
MoveSessionsToBackground(const std::vector<int32_t> & sessionIds,std::vector<int32_t> & result)177 WSError SceneSessionManagerLite::MoveSessionsToBackground(const std::vector<int32_t>& sessionIds,
178     std::vector<int32_t>& result)
179 {
180     WLOGFD("in");
181     return SceneSessionManager::GetInstance().MoveSessionsToBackground(sessionIds, result);
182 }
183 
GetFocusWindowInfo(FocusChangeInfo & focusInfo,DisplayId displayId)184 void SceneSessionManagerLite::GetFocusWindowInfo(FocusChangeInfo& focusInfo, DisplayId displayId)
185 {
186     return SceneSessionManager::GetInstance().GetFocusWindowInfo(focusInfo, displayId);
187 }
188 
RegisterWindowManagerAgent(WindowManagerAgentType type,const sptr<IWindowManagerAgent> & windowManagerAgent)189 WMError SceneSessionManagerLite::RegisterWindowManagerAgent(WindowManagerAgentType type,
190     const sptr<IWindowManagerAgent>& windowManagerAgent)
191 {
192     return SceneSessionManager::GetInstance().RegisterWindowManagerAgent(type, windowManagerAgent);
193 }
194 
UnregisterWindowManagerAgent(WindowManagerAgentType type,const sptr<IWindowManagerAgent> & windowManagerAgent)195 WMError SceneSessionManagerLite::UnregisterWindowManagerAgent(WindowManagerAgentType type,
196     const sptr<IWindowManagerAgent>& windowManagerAgent)
197 {
198     return SceneSessionManager::GetInstance().UnregisterWindowManagerAgent(type, windowManagerAgent);
199 }
200 
CheckWindowId(int32_t windowId,int32_t & pid)201 WMError SceneSessionManagerLite::CheckWindowId(int32_t windowId, int32_t& pid)
202 {
203     return SceneSessionManager::GetInstance().CheckWindowId(windowId, pid);
204 }
205 
UpdateWindowModeByIdForUITest(int32_t windowId,int32_t updateMode)206 WMError SceneSessionManagerLite::UpdateWindowModeByIdForUITest(int32_t windowId, int32_t updateMode)
207 {
208     return SceneSessionManager::GetInstance().UpdateWindowModeByIdForUITest(windowId, updateMode);
209 }
210 
CheckUIExtensionCreation(int32_t windowId,uint32_t tokenId,const AppExecFwk::ElementName & element,AppExecFwk::ExtensionAbilityType extensionAbilityType,int32_t & pid)211 WMError SceneSessionManagerLite::CheckUIExtensionCreation(int32_t windowId, uint32_t tokenId,
212     const AppExecFwk::ElementName& element, AppExecFwk::ExtensionAbilityType extensionAbilityType, int32_t& pid)
213 {
214     return SceneSessionManager::GetInstance().CheckUIExtensionCreation(windowId, tokenId, element, extensionAbilityType,
215         pid);
216 }
217 
GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>> & infos)218 WMError SceneSessionManagerLite::GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>>& infos)
219 {
220     return SceneSessionManager::GetInstance().GetVisibilityWindowInfo(infos);
221 }
222 
UpdateWindowMode(int32_t persistentId,int32_t windowMode)223 WSError SceneSessionManagerLite::UpdateWindowMode(int32_t persistentId, int32_t windowMode)
224 {
225     return SceneSessionManager::GetInstance().UpdateWindowMode(persistentId, windowMode);
226 }
227 
GetWindowModeType(WindowModeType & windowModeType)228 WMError SceneSessionManagerLite::GetWindowModeType(WindowModeType& windowModeType)
229 {
230     return SceneSessionManager::GetInstance().GetWindowModeType(windowModeType);
231 }
232 
GetMainWindowInfos(int32_t topNum,std::vector<MainWindowInfo> & topNInfo)233 WMError SceneSessionManagerLite::GetMainWindowInfos(int32_t topNum, std::vector<MainWindowInfo>& topNInfo)
234 {
235     return SceneSessionManager::GetInstance().GetMainWindowInfos(topNum, topNInfo);
236 }
237 
GetCallingWindowInfo(CallingWindowInfo & callingWindowInfo)238 WMError SceneSessionManagerLite::GetCallingWindowInfo(CallingWindowInfo& callingWindowInfo)
239 {
240     return SceneSessionManager::GetInstance().GetCallingWindowInfo(callingWindowInfo);
241 }
242 
GetAllMainWindowInfos(std::vector<MainWindowInfo> & infos)243 WMError SceneSessionManagerLite::GetAllMainWindowInfos(std::vector<MainWindowInfo>& infos)
244 {
245     return SceneSessionManager::GetInstance().GetAllMainWindowInfos(infos);
246 }
247 
ClearMainSessions(const std::vector<int32_t> & persistentIds,std::vector<int32_t> & clearFailedIds)248 WMError SceneSessionManagerLite::ClearMainSessions(const std::vector<int32_t>& persistentIds,
249     std::vector<int32_t>& clearFailedIds)
250 {
251     return SceneSessionManager::GetInstance().ClearMainSessions(persistentIds, clearFailedIds);
252 }
253 
RaiseWindowToTop(int32_t persistentId)254 WSError SceneSessionManagerLite::RaiseWindowToTop(int32_t persistentId)
255 {
256     return SceneSessionManager::GetInstance().RaiseWindowToTop(persistentId);
257 }
258 
RegisterIAbilityManagerCollaborator(int32_t type,const sptr<AAFwk::IAbilityManagerCollaborator> & impl)259 WSError SceneSessionManagerLite::RegisterIAbilityManagerCollaborator(int32_t type,
260     const sptr<AAFwk::IAbilityManagerCollaborator>& impl)
261 {
262     return SceneSessionManager::GetInstance().RegisterIAbilityManagerCollaborator(type, impl);
263 }
264 
UnregisterIAbilityManagerCollaborator(int32_t type)265 WSError SceneSessionManagerLite::UnregisterIAbilityManagerCollaborator(int32_t type)
266 {
267     return SceneSessionManager::GetInstance().UnregisterIAbilityManagerCollaborator(type);
268 }
269 
GetWindowStyleType(WindowStyleType & windowStyletype)270 WMError SceneSessionManagerLite::GetWindowStyleType(WindowStyleType& windowStyletype)
271 {
272     return SceneSessionManager::GetInstance().GetWindowStyleType(windowStyletype);
273 }
274 
TerminateSessionByPersistentId(int32_t persistentId)275 WMError SceneSessionManagerLite::TerminateSessionByPersistentId(int32_t persistentId)
276 {
277     return SceneSessionManager::GetInstance().TerminateSessionByPersistentId(persistentId);
278 }
279 
CloseTargetFloatWindow(const std::string & bundleName)280 WMError SceneSessionManagerLite::CloseTargetFloatWindow(const std::string& bundleName)
281 {
282     return SceneSessionManager::GetInstance().CloseTargetFloatWindow(bundleName);
283 }
284 
CloseTargetPiPWindow(const std::string & bundleName)285 WMError SceneSessionManagerLite::CloseTargetPiPWindow(const std::string& bundleName)
286 {
287     return SceneSessionManager::GetInstance().CloseTargetPiPWindow(bundleName);
288 }
289 
GetCurrentPiPWindowInfo(std::string & bundleName)290 WMError SceneSessionManagerLite::GetCurrentPiPWindowInfo(std::string& bundleName)
291 {
292     return SceneSessionManager::GetInstance().GetCurrentPiPWindowInfo(bundleName);
293 }
294 
GetRootMainWindowId(int32_t persistentId,int32_t & hostWindowId)295 WMError SceneSessionManagerLite::GetRootMainWindowId(int32_t persistentId, int32_t& hostWindowId)
296 {
297     return SceneSessionManager::GetInstance().GetRootMainWindowId(persistentId, hostWindowId);
298 }
299 
GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>> & infos)300 WMError SceneSessionManagerLite::GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>>& infos)
301 {
302     return SceneSessionManager::GetInstance().GetAccessibilityWindowInfo(infos);
303 }
304 
NotifyAppUseControlList(ControlAppType type,int32_t userId,const std::vector<AppUseControlInfo> & controlList)305 WSError SceneSessionManagerLite::NotifyAppUseControlList(
306     ControlAppType type, int32_t userId, const std::vector<AppUseControlInfo>& controlList)
307 {
308     return SceneSessionManager::GetInstance().NotifyAppUseControlList(type, userId, controlList);
309 }
310 
MinimizeMainSession(const std::string & bundleName,int32_t appIndex,int32_t userId)311 WMError SceneSessionManagerLite::MinimizeMainSession(const std::string& bundleName, int32_t appIndex, int32_t userId)
312 {
313     return SceneSessionManager::GetInstance().MinimizeMainSession(bundleName, appIndex, userId);
314 }
315 
LockSessionByAbilityInfo(const AbilityInfoBase & abilityInfo,bool isLock)316 WMError SceneSessionManagerLite::LockSessionByAbilityInfo(const AbilityInfoBase& abilityInfo, bool isLock)
317 {
318     return SceneSessionManager::GetInstance().LockSessionByAbilityInfo(abilityInfo, isLock);
319 }
320 
HasFloatingWindowForeground(const sptr<IRemoteObject> & abilityToken,bool & hasOrNot)321 WMError SceneSessionManagerLite::HasFloatingWindowForeground(const sptr<IRemoteObject>& abilityToken,
322     bool& hasOrNot)
323 {
324     return SceneSessionManager::GetInstance().HasFloatingWindowForeground(abilityToken,
325         hasOrNot);
326 }
327 
RegisterSessionLifecycleListenerByIds(const sptr<ISessionLifecycleListener> & listener,const std::vector<int32_t> & persistentIdList)328 WMError SceneSessionManagerLite::RegisterSessionLifecycleListenerByIds(const sptr<ISessionLifecycleListener>& listener,
329     const std::vector<int32_t>& persistentIdList)
330 {
331     return SceneSessionManager::GetInstance().RegisterSessionLifecycleListener(listener, persistentIdList);
332 }
333 
RegisterSessionLifecycleListenerByBundles(const sptr<ISessionLifecycleListener> & listener,const std::vector<std::string> & bundleNameList)334 WMError SceneSessionManagerLite::RegisterSessionLifecycleListenerByBundles(
335     const sptr<ISessionLifecycleListener>& listener, const std::vector<std::string>& bundleNameList)
336 {
337     return SceneSessionManager::GetInstance().RegisterSessionLifecycleListener(listener, bundleNameList);
338 }
339 
UnregisterSessionLifecycleListener(const sptr<ISessionLifecycleListener> & listener)340 WMError SceneSessionManagerLite::UnregisterSessionLifecycleListener(const sptr<ISessionLifecycleListener>& listener)
341 {
342     return SceneSessionManager::GetInstance().UnregisterSessionLifecycleListener(listener);
343 }
344 
ListWindowInfo(const WindowInfoOption & windowInfoOption,std::vector<sptr<WindowInfo>> & infos)345 WMError SceneSessionManagerLite::ListWindowInfo(const WindowInfoOption& windowInfoOption,
346     std::vector<sptr<WindowInfo>>& infos)
347 {
348     return SceneSessionManager::GetInstance().ListWindowInfo(windowInfoOption, infos);
349 }
350 
GetRecentMainSessionInfoList(std::vector<RecentSessionInfo> & recentSessionInfoList)351 WSError SceneSessionManagerLite::GetRecentMainSessionInfoList(std::vector<RecentSessionInfo>& recentSessionInfoList)
352 {
353     return SceneSessionManager::GetInstance().GetRecentMainSessionInfoList(recentSessionInfoList);
354 }
355 
PendingSessionToBackgroundByPersistentId(const int32_t persistentId,bool shouldBackToCaller)356 WSError SceneSessionManagerLite::PendingSessionToBackgroundByPersistentId(const int32_t persistentId,
357     bool shouldBackToCaller)
358 {
359     return SceneSessionManager::GetInstance().PendingSessionToBackgroundByPersistentId(persistentId,
360         shouldBackToCaller);
361 }
362 
CreateNewInstanceKey(const std::string & bundleName,std::string & instanceKey)363 WMError SceneSessionManagerLite::CreateNewInstanceKey(const std::string& bundleName, std::string& instanceKey)
364 {
365     return SceneSessionManager::GetInstance().CreateNewInstanceKey(bundleName, instanceKey);
366 }
367 
GetRouterStackInfo(int32_t persistentId,const sptr<ISessionRouterStackListener> & listener)368 WMError SceneSessionManagerLite::GetRouterStackInfo(
369     int32_t persistentId, const sptr<ISessionRouterStackListener>& listener)
370 {
371     return SceneSessionManager::GetInstance().GetRouterStackInfo(persistentId, listener);
372 }
373 
RemoveInstanceKey(const std::string & bundleName,const std::string & instanceKey)374 WMError SceneSessionManagerLite::RemoveInstanceKey(const std::string& bundleName, const std::string& instanceKey)
375 {
376     return SceneSessionManager::GetInstance().RemoveInstanceKey(bundleName, instanceKey);
377 }
378 
TransferSessionToTargetScreen(const TransferSessionInfo & info)379 WMError SceneSessionManagerLite::TransferSessionToTargetScreen(const TransferSessionInfo& info)
380 {
381     return SceneSessionManager::GetInstance().NotifyTransferSessionToTargetScreen(info);
382 }
383 
UpdateKioskAppList(const std::vector<std::string> & kioskAppList)384 WMError SceneSessionManagerLite::UpdateKioskAppList(const std::vector<std::string>& kioskAppList)
385 {
386     return SceneSessionManager::GetInstance().UpdateKioskAppList(kioskAppList);
387 }
388 
EnterKioskMode(const sptr<IRemoteObject> & token)389 WMError SceneSessionManagerLite::EnterKioskMode(const sptr<IRemoteObject>& token)
390 {
391     return SceneSessionManager::GetInstance().EnterKioskMode(token);
392 }
393 
ExitKioskMode(const sptr<IRemoteObject> & token)394 WMError SceneSessionManagerLite::ExitKioskMode(const sptr<IRemoteObject>& token)
395 {
396     return SceneSessionManager::GetInstance().ExitKioskMode();
397 }
398 
SendPointerEventForHover(const std::shared_ptr<MMI::PointerEvent> & pointerEvent)399 WSError SceneSessionManagerLite::SendPointerEventForHover(const std::shared_ptr<MMI::PointerEvent>& pointerEvent)
400 {
401     return SceneSessionManager::GetInstance().SendPointerEventForHover(pointerEvent);
402 }
403 } // namespace OHOS::Rosen
404