• 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 
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