• 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 
PendingSessionToBackgroundForDelegator(const sptr<IRemoteObject> & token,bool shouldBackToCaller)115 WSError SceneSessionManagerLite::PendingSessionToBackgroundForDelegator(const sptr<IRemoteObject>& token,
116     bool shouldBackToCaller)
117 {
118     WLOGFD("in");
119     return SceneSessionManager::GetInstance().PendingSessionToBackgroundForDelegator(token, shouldBackToCaller);
120 }
121 
GetFocusSessionToken(sptr<IRemoteObject> & token,DisplayId displayId)122 WSError SceneSessionManagerLite::GetFocusSessionToken(sptr<IRemoteObject>& token, DisplayId displayId)
123 {
124     WLOGFD("in");
125     return SceneSessionManager::GetInstance().GetFocusSessionToken(token, displayId);
126 }
127 
GetFocusSessionElement(AppExecFwk::ElementName & element,DisplayId displayId)128 WSError SceneSessionManagerLite::GetFocusSessionElement(AppExecFwk::ElementName& element, DisplayId displayId)
129 {
130     WLOGFD("in");
131     return SceneSessionManager::GetInstance().GetFocusSessionElement(element, displayId);
132 }
133 
ClearSession(int32_t persistentId)134 WSError SceneSessionManagerLite::ClearSession(int32_t persistentId)
135 {
136     WLOGFD("Id: %{public}d", persistentId);
137     return SceneSessionManager::GetInstance().ClearSession(persistentId);
138 }
139 
ClearAllSessions()140 WSError SceneSessionManagerLite::ClearAllSessions()
141 {
142     WLOGFD("in");
143     return SceneSessionManager::GetInstance().ClearAllSessions();
144 }
145 
LockSession(int32_t sessionId)146 WSError SceneSessionManagerLite::LockSession(int32_t sessionId)
147 {
148     WLOGFD("Id: %{public}d", sessionId);
149     return SceneSessionManager::GetInstance().LockSession(sessionId);
150 }
151 
UnlockSession(int32_t sessionId)152 WSError SceneSessionManagerLite::UnlockSession(int32_t sessionId)
153 {
154     WLOGFD("Id: %{public}d", sessionId);
155     return SceneSessionManager::GetInstance().UnlockSession(sessionId);
156 }
157 
MoveSessionsToForeground(const std::vector<int32_t> & sessionIds,int32_t topSessionId)158 WSError SceneSessionManagerLite::MoveSessionsToForeground(const std::vector<int32_t>& sessionIds, int32_t topSessionId)
159 {
160     WLOGFD("in");
161     return SceneSessionManager::GetInstance().MoveSessionsToForeground(sessionIds, topSessionId);
162 }
163 
MoveSessionsToBackground(const std::vector<int32_t> & sessionIds,std::vector<int32_t> & result)164 WSError SceneSessionManagerLite::MoveSessionsToBackground(const std::vector<int32_t>& sessionIds,
165     std::vector<int32_t>& result)
166 {
167     WLOGFD("in");
168     return SceneSessionManager::GetInstance().MoveSessionsToBackground(sessionIds, result);
169 }
170 
GetFocusWindowInfo(FocusChangeInfo & focusInfo,DisplayId displayId)171 void SceneSessionManagerLite::GetFocusWindowInfo(FocusChangeInfo& focusInfo, DisplayId displayId)
172 {
173     return SceneSessionManager::GetInstance().GetFocusWindowInfo(focusInfo, displayId);
174 }
175 
RegisterWindowManagerAgent(WindowManagerAgentType type,const sptr<IWindowManagerAgent> & windowManagerAgent)176 WMError SceneSessionManagerLite::RegisterWindowManagerAgent(WindowManagerAgentType type,
177     const sptr<IWindowManagerAgent>& windowManagerAgent)
178 {
179     return SceneSessionManager::GetInstance().RegisterWindowManagerAgent(type, windowManagerAgent);
180 }
181 
UnregisterWindowManagerAgent(WindowManagerAgentType type,const sptr<IWindowManagerAgent> & windowManagerAgent)182 WMError SceneSessionManagerLite::UnregisterWindowManagerAgent(WindowManagerAgentType type,
183     const sptr<IWindowManagerAgent>& windowManagerAgent)
184 {
185     return SceneSessionManager::GetInstance().UnregisterWindowManagerAgent(type, windowManagerAgent);
186 }
187 
CheckWindowId(int32_t windowId,int32_t & pid)188 WMError SceneSessionManagerLite::CheckWindowId(int32_t windowId, int32_t& pid)
189 {
190     return SceneSessionManager::GetInstance().CheckWindowId(windowId, pid);
191 }
192 
CheckUIExtensionCreation(int32_t windowId,uint32_t tokenId,const AppExecFwk::ElementName & element,AppExecFwk::ExtensionAbilityType extensionAbilityType,int32_t & pid)193 WMError SceneSessionManagerLite::CheckUIExtensionCreation(int32_t windowId, uint32_t tokenId,
194     const AppExecFwk::ElementName& element, AppExecFwk::ExtensionAbilityType extensionAbilityType, int32_t& pid)
195 {
196     return SceneSessionManager::GetInstance().CheckUIExtensionCreation(windowId, tokenId, element, extensionAbilityType,
197         pid);
198 }
199 
GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>> & infos)200 WMError SceneSessionManagerLite::GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>>& infos)
201 {
202     return SceneSessionManager::GetInstance().GetVisibilityWindowInfo(infos);
203 }
204 
UpdateWindowMode(int32_t persistentId,int32_t windowMode)205 WSError SceneSessionManagerLite::UpdateWindowMode(int32_t persistentId, int32_t windowMode)
206 {
207     return SceneSessionManager::GetInstance().UpdateWindowMode(persistentId, windowMode);
208 }
209 
GetWindowModeType(WindowModeType & windowModeType)210 WMError SceneSessionManagerLite::GetWindowModeType(WindowModeType& windowModeType)
211 {
212     return SceneSessionManager::GetInstance().GetWindowModeType(windowModeType);
213 }
214 
GetMainWindowInfos(int32_t topNum,std::vector<MainWindowInfo> & topNInfo)215 WMError SceneSessionManagerLite::GetMainWindowInfos(int32_t topNum, std::vector<MainWindowInfo>& topNInfo)
216 {
217     return SceneSessionManager::GetInstance().GetMainWindowInfos(topNum, topNInfo);
218 }
219 
GetCallingWindowInfo(CallingWindowInfo & callingWindowInfo)220 WMError SceneSessionManagerLite::GetCallingWindowInfo(CallingWindowInfo& callingWindowInfo)
221 {
222     return SceneSessionManager::GetInstance().GetCallingWindowInfo(callingWindowInfo);
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 
RaiseWindowToTop(int32_t persistentId)236 WSError SceneSessionManagerLite::RaiseWindowToTop(int32_t persistentId)
237 {
238     return SceneSessionManager::GetInstance().RaiseWindowToTop(persistentId);
239 }
240 
RegisterIAbilityManagerCollaborator(int32_t type,const sptr<AAFwk::IAbilityManagerCollaborator> & impl)241 WSError SceneSessionManagerLite::RegisterIAbilityManagerCollaborator(int32_t type,
242     const sptr<AAFwk::IAbilityManagerCollaborator>& impl)
243 {
244     return SceneSessionManager::GetInstance().RegisterIAbilityManagerCollaborator(type, impl);
245 }
246 
UnregisterIAbilityManagerCollaborator(int32_t type)247 WSError SceneSessionManagerLite::UnregisterIAbilityManagerCollaborator(int32_t type)
248 {
249     return SceneSessionManager::GetInstance().UnregisterIAbilityManagerCollaborator(type);
250 }
251 
GetWindowStyleType(WindowStyleType & windowStyletype)252 WMError SceneSessionManagerLite::GetWindowStyleType(WindowStyleType& windowStyletype)
253 {
254     return SceneSessionManager::GetInstance().GetWindowStyleType(windowStyletype);
255 }
256 
TerminateSessionByPersistentId(int32_t persistentId)257 WMError SceneSessionManagerLite::TerminateSessionByPersistentId(int32_t persistentId)
258 {
259     return SceneSessionManager::GetInstance().TerminateSessionByPersistentId(persistentId);
260 }
261 
CloseTargetFloatWindow(const std::string & bundleName)262 WMError SceneSessionManagerLite::CloseTargetFloatWindow(const std::string& bundleName)
263 {
264     return SceneSessionManager::GetInstance().CloseTargetFloatWindow(bundleName);
265 }
266 
CloseTargetPiPWindow(const std::string & bundleName)267 WMError SceneSessionManagerLite::CloseTargetPiPWindow(const std::string& bundleName)
268 {
269     return SceneSessionManager::GetInstance().CloseTargetPiPWindow(bundleName);
270 }
271 
GetCurrentPiPWindowInfo(std::string & bundleName)272 WMError SceneSessionManagerLite::GetCurrentPiPWindowInfo(std::string& bundleName)
273 {
274     return SceneSessionManager::GetInstance().GetCurrentPiPWindowInfo(bundleName);
275 }
276 
GetRootMainWindowId(int32_t persistentId,int32_t & hostWindowId)277 WMError SceneSessionManagerLite::GetRootMainWindowId(int32_t persistentId, int32_t& hostWindowId)
278 {
279     return SceneSessionManager::GetInstance().GetRootMainWindowId(persistentId, hostWindowId);
280 }
281 
GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>> & infos)282 WMError SceneSessionManagerLite::GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>>& infos)
283 {
284     return SceneSessionManager::GetInstance().GetAccessibilityWindowInfo(infos);
285 }
286 
NotifyAppUseControlList(ControlAppType type,int32_t userId,const std::vector<AppUseControlInfo> & controlList)287 WSError SceneSessionManagerLite::NotifyAppUseControlList(
288     ControlAppType type, int32_t userId, const std::vector<AppUseControlInfo>& controlList)
289 {
290     return SceneSessionManager::GetInstance().NotifyAppUseControlList(type, userId, controlList);
291 }
292 
MinimizeMainSession(const std::string & bundleName,int32_t appIndex,int32_t userId)293 WMError SceneSessionManagerLite::MinimizeMainSession(const std::string& bundleName, int32_t appIndex, int32_t userId)
294 {
295     return SceneSessionManager::GetInstance().MinimizeMainSession(bundleName, appIndex, userId);
296 }
297 
LockSessionByAbilityInfo(const AbilityInfoBase & abilityInfo,bool isLock)298 WMError SceneSessionManagerLite::LockSessionByAbilityInfo(const AbilityInfoBase& abilityInfo, bool isLock)
299 {
300     return SceneSessionManager::GetInstance().LockSessionByAbilityInfo(abilityInfo, isLock);
301 }
302 
HasFloatingWindowForeground(const sptr<IRemoteObject> & abilityToken,bool & hasOrNot)303 WMError SceneSessionManagerLite::HasFloatingWindowForeground(const sptr<IRemoteObject>& abilityToken,
304     bool& hasOrNot)
305 {
306     return SceneSessionManager::GetInstance().HasFloatingWindowForeground(abilityToken,
307         hasOrNot);
308 }
309 
RegisterSessionLifecycleListenerByIds(const sptr<ISessionLifecycleListener> & listener,const std::vector<int32_t> & persistentIdList)310 WMError SceneSessionManagerLite::RegisterSessionLifecycleListenerByIds(const sptr<ISessionLifecycleListener>& listener,
311     const std::vector<int32_t>& persistentIdList)
312 {
313     return SceneSessionManager::GetInstance().RegisterSessionLifecycleListener(listener, persistentIdList);
314 }
315 
RegisterSessionLifecycleListenerByBundles(const sptr<ISessionLifecycleListener> & listener,const std::vector<std::string> & bundleNameList)316 WMError SceneSessionManagerLite::RegisterSessionLifecycleListenerByBundles(
317     const sptr<ISessionLifecycleListener>& listener, const std::vector<std::string>& bundleNameList)
318 {
319     return SceneSessionManager::GetInstance().RegisterSessionLifecycleListener(listener, bundleNameList);
320 }
321 
UnregisterSessionLifecycleListener(const sptr<ISessionLifecycleListener> & listener)322 WMError SceneSessionManagerLite::UnregisterSessionLifecycleListener(const sptr<ISessionLifecycleListener>& listener)
323 {
324     return SceneSessionManager::GetInstance().UnregisterSessionLifecycleListener(listener);
325 }
326 
ListWindowInfo(const WindowInfoOption & windowInfoOption,std::vector<sptr<WindowInfo>> & infos)327 WMError SceneSessionManagerLite::ListWindowInfo(const WindowInfoOption& windowInfoOption,
328     std::vector<sptr<WindowInfo>>& infos)
329 {
330     return SceneSessionManager::GetInstance().ListWindowInfo(windowInfoOption, infos);
331 }
332 } // namespace OHOS::Rosen
333