1 /*
2 * Copyright (c) 2021 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 <gtest/gtest.h>
17 #include "accessibility_common_helper.h"
18 #include "iservice_registry.h"
19 #include "mock_bundle_manager.h"
20 #include "string_ex.h"
21 #include "system_ability_definition.h"
22 #include "system_ability_manager_proxy.h"
23 #include "mock_accessible_ability_manager_service_stub.h"
24
25 namespace OHOS {
26 static sptr<AppExecFwk::BundleMgrService> g_bundleMgrService = nullptr;
27 static sptr<OHOS::Accessibility::MockAccessibleAbilityManagerServiceStub> g_MgrService = nullptr;
28
GetInstance()29 SystemAbilityManagerClient& SystemAbilityManagerClient::GetInstance()
30 {
31 static auto instance = new SystemAbilityManagerClient();
32 return *instance;
33 }
34
GetSystemAbilityManager()35 sptr<ISystemAbilityManager> SystemAbilityManagerClient::GetSystemAbilityManager()
36 {
37 if (systemAbilityManager_ != nullptr) {
38 return systemAbilityManager_;
39 }
40
41 systemAbilityManager_ = new SystemAbilityManagerProxy(nullptr);
42 return systemAbilityManager_;
43 }
44
GetSystemAbility(int32_t systemAbilityId)45 sptr<IRemoteObject> SystemAbilityManagerProxy::GetSystemAbility(int32_t systemAbilityId)
46 {
47 sptr<IRemoteObject> remote = nullptr;
48 switch (systemAbilityId) {
49 case BUNDLE_MGR_SERVICE_SYS_ABILITY_ID:
50 if (!g_bundleMgrService) {
51 g_bundleMgrService = new AppExecFwk::BundleMgrService();
52 }
53 remote = g_bundleMgrService;
54 break;
55 case ACCESSIBILITY_MANAGER_SERVICE_ID: {
56 bool notNullFlag = Accessibility::AccessibilityCommonHelper::GetInstance().GetRemoteObjectNotNullFlag();
57 if (notNullFlag) {
58 if (!g_MgrService) {
59 g_MgrService = new OHOS::Accessibility::MockAccessibleAbilityManagerServiceStub();
60 }
61 remote = g_MgrService;
62 }
63 break;
64 }
65 default:
66 GTEST_LOG_(INFO) << "This service is not dummy!!!!" << systemAbilityId;
67 break;
68 }
69 return remote;
70 }
71
GetSystemAbility(int32_t systemAbilityId,const std::string & deviceId)72 sptr<IRemoteObject> SystemAbilityManagerProxy::GetSystemAbility(int32_t systemAbilityId,
73 const std::string& deviceId)
74 {
75 return GetSystemAbility(systemAbilityId);
76 }
77
CheckSystemAbilityWrapper(int32_t code,MessageParcel & data)78 sptr<IRemoteObject> SystemAbilityManagerProxy::CheckSystemAbilityWrapper(int32_t code, MessageParcel& data)
79 {
80 return nullptr;
81 }
82
CheckSystemAbility(int32_t systemAbilityId)83 sptr<IRemoteObject> SystemAbilityManagerProxy::CheckSystemAbility(int32_t systemAbilityId)
84 {
85 return nullptr;
86 }
87
GetOnDemandSystemAbilityIds(std::vector<int32_t> & systemAbilityIds)88 int32_t GetOnDemandSystemAbilityIds(std::vector<int32_t>& systemAbilityIds)
89 {
90 return -1;
91 }
92
CheckSystemAbility(int32_t systemAbilityId,const std::string & deviceId)93 sptr<IRemoteObject> SystemAbilityManagerProxy::CheckSystemAbility(int32_t systemAbilityId, const std::string& deviceId)
94 {
95 return nullptr;
96 }
97
CheckSystemAbility(int32_t systemAbilityId,bool & isExist)98 sptr<IRemoteObject> SystemAbilityManagerProxy::CheckSystemAbility(int32_t systemAbilityId, bool& isExist)
99 {
100 return nullptr;
101 }
102
AddOnDemandSystemAbilityInfo(int32_t systemAbilityId,const std::u16string & localAbilityManagerName)103 int32_t SystemAbilityManagerProxy::AddOnDemandSystemAbilityInfo(int32_t systemAbilityId,
104 const std::u16string& localAbilityManagerName)
105 {
106 return -1;
107 }
108
RemoveSystemAbilityWrapper(int32_t code,MessageParcel & data)109 int32_t SystemAbilityManagerProxy::RemoveSystemAbilityWrapper(int32_t code, MessageParcel& data)
110 {
111 return -1;
112 }
113
RemoveSystemAbility(int32_t systemAbilityId)114 int32_t SystemAbilityManagerProxy::RemoveSystemAbility(int32_t systemAbilityId)
115 {
116 return -1;
117 }
118
ListSystemAbilities(unsigned int dumpFlags)119 std::vector<std::u16string> SystemAbilityManagerProxy::ListSystemAbilities(unsigned int dumpFlags)
120 {
121 std::vector<std::u16string> saNames;
122
123 return saNames;
124 }
125
SubscribeSystemAbility(int32_t systemAbilityId,const sptr<ISystemAbilityStatusChange> & listener)126 int32_t SystemAbilityManagerProxy::SubscribeSystemAbility(int32_t systemAbilityId,
127 const sptr<ISystemAbilityStatusChange>& listener)
128 {
129 return -1;
130 }
131
UnSubscribeSystemAbility(int32_t systemAbilityId,const sptr<ISystemAbilityStatusChange> & listener)132 int32_t SystemAbilityManagerProxy::UnSubscribeSystemAbility(int32_t systemAbilityId,
133 const sptr<ISystemAbilityStatusChange>& listener)
134 {
135 return -1;
136 }
137
LoadSystemAbility(int32_t systemAbilityId,int32_t timeout)138 sptr<IRemoteObject> SystemAbilityManagerProxy::LoadSystemAbility(int32_t systemAbilityId, int32_t timeout)
139 {
140 return nullptr;
141 }
142
LoadSystemAbility(int32_t systemAbilityId,const sptr<ISystemAbilityLoadCallback> & callback)143 int32_t SystemAbilityManagerProxy::LoadSystemAbility(int32_t systemAbilityId,
144 const sptr<ISystemAbilityLoadCallback>& callback)
145 {
146 return -1;
147 }
148
LoadSystemAbility(int32_t systemAbilityId,const std::string & deviceId,const sptr<ISystemAbilityLoadCallback> & callback)149 int32_t SystemAbilityManagerProxy::LoadSystemAbility(int32_t systemAbilityId, const std::string& deviceId,
150 const sptr<ISystemAbilityLoadCallback>& callback)
151 {
152 return -1;
153 }
154
UnloadSystemAbility(int32_t systemAbilityId)155 int32_t SystemAbilityManagerProxy::UnloadSystemAbility(int32_t systemAbilityId)
156 {
157 return -1;
158 }
159
CancelUnloadSystemAbility(int32_t systemAbilityId)160 int32_t SystemAbilityManagerProxy::CancelUnloadSystemAbility(int32_t systemAbilityId)
161 {
162 return -1;
163 }
164
AddSystemAbility(int32_t systemAbilityId,const sptr<IRemoteObject> & ability,const SAExtraProp & extraProp)165 int32_t SystemAbilityManagerProxy::AddSystemAbility(int32_t systemAbilityId, const sptr<IRemoteObject>& ability,
166 const SAExtraProp& extraProp)
167 {
168 return -1;
169 }
170
AddSystemAbilityWrapper(int32_t code,MessageParcel & data)171 int32_t SystemAbilityManagerProxy::AddSystemAbilityWrapper(int32_t code, MessageParcel& data)
172 {
173 return -1;
174 }
175
AddSystemProcess(const std::u16string & procName,const sptr<IRemoteObject> & procObject)176 int32_t SystemAbilityManagerProxy::AddSystemProcess(
177 const std::u16string& procName, const sptr<IRemoteObject>& procObject)
178 {
179 return -1;
180 }
181
GetSystemProcessInfo(int32_t systemAbilityId,SystemProcessInfo & systemProcessInfo)182 int32_t SystemAbilityManagerProxy::GetSystemProcessInfo(
183 int32_t systemAbilityId, SystemProcessInfo& systemProcessInfo)
184 {
185 return -1;
186 }
187
GetRunningSystemProcess(std::list<SystemProcessInfo> & systemProcessInfos)188 int32_t SystemAbilityManagerProxy::GetRunningSystemProcess(std::list<SystemProcessInfo>& systemProcessInfos)
189 {
190 return -1;
191 }
192
SubscribeSystemProcess(const sptr<ISystemProcessStatusChange> & listener)193 int32_t SystemAbilityManagerProxy::SubscribeSystemProcess(const sptr<ISystemProcessStatusChange>& listener)
194 {
195 return -1;
196 }
197
UnSubscribeSystemProcess(const sptr<ISystemProcessStatusChange> & listener)198 int32_t SystemAbilityManagerProxy::UnSubscribeSystemProcess(const sptr<ISystemProcessStatusChange>& listener)
199 {
200 return -1;
201 }
202
GetOnDemandReasonExtraData(int64_t extraDataId,MessageParcel & extraDataParcel)203 int32_t SystemAbilityManagerProxy::GetOnDemandReasonExtraData(int64_t extraDataId, MessageParcel& extraDataParcel)
204 {
205 return -1;
206 }
207
GetOnDemandPolicy(int32_t systemAbilityId,OnDemandPolicyType type,std::vector<SystemAbilityOnDemandEvent> & abilityOnDemandEvents)208 int32_t SystemAbilityManagerProxy::GetOnDemandPolicy(int32_t systemAbilityId, OnDemandPolicyType type,
209 std::vector<SystemAbilityOnDemandEvent>& abilityOnDemandEvents)
210 {
211 return -1;
212 }
213
UpdateOnDemandPolicy(int32_t systemAbilityId,OnDemandPolicyType type,const std::vector<SystemAbilityOnDemandEvent> & sabilityOnDemandEvents)214 int32_t SystemAbilityManagerProxy::UpdateOnDemandPolicy(int32_t systemAbilityId, OnDemandPolicyType type,
215 const std::vector<SystemAbilityOnDemandEvent>& sabilityOnDemandEvents)
216 {
217 return -1;
218 }
219
GetOnDemandSystemAbilityIds(std::vector<int32_t> & systemAbilityIds)220 int32_t SystemAbilityManagerProxy::GetOnDemandSystemAbilityIds(std::vector<int32_t>& systemAbilityIds)
221 {
222 return -1;
223 }
224
SendStrategy(int32_t type,std::vector<int32_t> & systemAbilityIds,int32_t level,std::string & action)225 int32_t SystemAbilityManagerProxy::SendStrategy(int32_t type, std::vector<int32_t>& systemAbilityIds,
226 int32_t level, std::string& action)
227 {
228 return -1;
229 }
230
UnloadAllIdleSystemAbility()231 int32_t SystemAbilityManagerProxy::UnloadAllIdleSystemAbility()
232 {
233 return -1;
234 }
235
GetCommonEventExtraDataIdlist(int32_t saId,std::vector<int64_t> & extraDataIdList,const std::string & eventName)236 int32_t SystemAbilityManagerProxy::GetCommonEventExtraDataIdlist(int32_t saId,
237 std::vector<int64_t>& extraDataIdList, const std::string& eventName)
238 {
239 return -1;
240 }
241
GetExtensionSaIds(const std::string & extension,std::vector<int32_t> & saIds)242 int32_t SystemAbilityManagerProxy::GetExtensionSaIds(const std::string& extension, std::vector<int32_t> &saIds)
243 {
244 return -1;
245 }
246
GetExtensionRunningSaList(const std::string & extension,std::vector<sptr<IRemoteObject>> & saList)247 int32_t SystemAbilityManagerProxy::GetExtensionRunningSaList(const std::string& extension,
248 std::vector<sptr<IRemoteObject>>& saList)
249 {
250 return -1;
251 }
252
GetRunningSaExtensionInfoList(const std::string & extension,std::vector<SaExtensionInfo> & infoList)253 int32_t SystemAbilityManagerProxy::GetRunningSaExtensionInfoList(const std::string& extension,
254 std::vector<SaExtensionInfo>& infoList)
255 {
256 return -1;
257 };
GetLocalAbilityManagerProxy(int32_t systemAbilityId)258 sptr<IRemoteObject> SystemAbilityManagerProxy::GetLocalAbilityManagerProxy(int32_t systemAbilityId)
259 {
260 return nullptr;
261 }
262
UnloadProcess(const std::vector<std::u16string> & processList)263 int32_t SystemAbilityManagerProxy::UnloadProcess(const std::vector<std::u16string>& processList)
264 {
265 return -1;
266 }
267
GetLruIdleSystemAbilityProc(std::vector<IdleProcessInfo> & processInfos)268 int32_t SystemAbilityManagerProxy::GetLruIdleSystemAbilityProc(std::vector<IdleProcessInfo>& processInfos)
269 {
270 return -1;
271 }
272 }