1 /*
2 * Copyright (C) 2022 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 "mock_accessible_ability_manager_service_stub.h"
17 #include "hilog_wrapper.h"
18
19 namespace OHOS {
20 namespace Accessibility {
21 namespace {
22 constexpr uint32_t CONTENT_TIMEOUT_VALUE = 10;
23 constexpr int32_t MOUSE_AUTO_CLICK_VALUE = 10;
24 constexpr float BRIGHTNESS_DISCOUNT_VALUE = 0.3f;
25 } // namespace
MockAccessibleAbilityManagerServiceStub()26 MockAccessibleAbilityManagerServiceStub::MockAccessibleAbilityManagerServiceStub()
27 {
28 if (!runner_) {
29 runner_ = AppExecFwk::EventRunner::Create("Accessibility.Config.Unittest", AppExecFwk::ThreadMode::FFRT);
30 if (!runner_) {
31 return;
32 }
33 }
34
35 if (!handler_) {
36 handler_ = std::make_shared<AppExecFwk::EventHandler>(runner_);
37 if (!handler_) {
38 return;
39 }
40 }
41 }
42
~MockAccessibleAbilityManagerServiceStub()43 MockAccessibleAbilityManagerServiceStub::~MockAccessibleAbilityManagerServiceStub()
44 {
45 }
46
OnRemoteRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)47 int MockAccessibleAbilityManagerServiceStub::OnRemoteRequest(
48 uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option)
49 {
50 (void)code;
51 (void)data;
52 (void)reply;
53 (void)option;
54 return 0;
55 }
56
SendEvent(const AccessibilityEventInfoParcel & eventInfoParcel,int32_t flag)57 ErrCode MockAccessibleAbilityManagerServiceStub::SendEvent(const AccessibilityEventInfoParcel& eventInfoParcel,
58 int32_t flag)
59 {
60 (void)eventInfoParcel;
61 (void)flag;
62 return RET_OK;
63 }
64
SetCaptionProperty(const CaptionPropertyParcel & caption)65 ErrCode MockAccessibleAbilityManagerServiceStub::SetCaptionProperty(
66 const CaptionPropertyParcel &caption)
67 {
68 captionProperty_ = caption;
69 return RET_OK;
70 }
71
SetCaptionState(bool state)72 ErrCode MockAccessibleAbilityManagerServiceStub::SetCaptionState(bool state)
73 {
74 captionState_ = state;
75 return RET_OK;
76 }
77
RegisterStateObserver(const sptr<IAccessibleAbilityManagerStateObserver> & observer,uint32_t & state)78 ErrCode MockAccessibleAbilityManagerServiceStub::RegisterStateObserver(
79 const sptr<IAccessibleAbilityManagerStateObserver>& observer, uint32_t& state)
80 {
81 (void)observer;
82 (void)state;
83 return RET_OK;
84 }
85
GetAbilityList(const uint32_t abilityTypes,const int32_t stateType,std::vector<AccessibilityAbilityInfoParcel> & infos)86 ErrCode MockAccessibleAbilityManagerServiceStub::GetAbilityList(const uint32_t abilityTypes, const int32_t stateType,
87 std::vector<AccessibilityAbilityInfoParcel>& infos)
88 {
89 (void)abilityTypes;
90 (void)stateType;
91 (void)infos;
92 return RET_OK;
93 }
94
RegisterElementOperatorByWindowId(int32_t windowId,const sptr<IAccessibilityElementOperator> & elementOperator)95 ErrCode MockAccessibleAbilityManagerServiceStub::RegisterElementOperatorByWindowId(int32_t windowId,
96 const sptr<IAccessibilityElementOperator> &elementOperator)
97 {
98 (void)windowId;
99 (void)elementOperator;
100 return RET_OK;
101 }
102
RegisterElementOperatorByParameter(const RegistrationPara & parameter,const sptr<IAccessibilityElementOperator> & elementOperator)103 ErrCode MockAccessibleAbilityManagerServiceStub::RegisterElementOperatorByParameter(const RegistrationPara& parameter,
104 const sptr<IAccessibilityElementOperator>& elementOperator)
105 {
106 (void)parameter;
107 (void)elementOperator;
108 return RET_OK;
109 }
110
DeregisterElementOperatorByWindowId(int32_t windowId)111 ErrCode MockAccessibleAbilityManagerServiceStub::DeregisterElementOperatorByWindowId(int32_t windowId)
112 {
113 (void)windowId;
114 return RET_OK;
115 }
116
DeregisterElementOperatorByWindowIdAndTreeId(int32_t windowId,int32_t treeId)117 ErrCode MockAccessibleAbilityManagerServiceStub::DeregisterElementOperatorByWindowIdAndTreeId(int32_t windowId,
118 int32_t treeId)
119 {
120 (void)windowId;
121 (void)treeId;
122 return RET_OK;
123 }
124
GetCaptionProperty(CaptionPropertyParcel & caption)125 ErrCode MockAccessibleAbilityManagerServiceStub::GetCaptionProperty(CaptionPropertyParcel& caption)
126 {
127 (void)caption;
128 return RET_OK;
129 }
130
RegisterCaptionObserver(const sptr<IAccessibleAbilityManagerCaptionObserver> & observer)131 ErrCode MockAccessibleAbilityManagerServiceStub::RegisterCaptionObserver(
132 const sptr<IAccessibleAbilityManagerCaptionObserver> &observer)
133 {
134 captionObserver_ = observer;
135 return RET_OK;
136 }
137
GetCaptionState(bool & state)138 ErrCode MockAccessibleAbilityManagerServiceStub::GetCaptionState(bool &state)
139 {
140 state = captionState_;
141 return RET_OK;
142 }
143
GetScreenReaderState(bool & state)144 ErrCode MockAccessibleAbilityManagerServiceStub::GetScreenReaderState(bool &state)
145 {
146 (void)state;
147 return RET_OK;
148 }
149
EnableAbility(const std::string & name,const uint32_t capabilities)150 ErrCode MockAccessibleAbilityManagerServiceStub::EnableAbility(const std::string &name, const uint32_t capabilities)
151 {
152 (void)name;
153 (void)capabilities;
154 if (handler_) {
155 handler_->PostTask(std::bind([this]() {
156 abilityObserver_->OnAccessibilityEnableAbilityListsChanged();
157 }), "NotifyEnableAbility");
158 }
159 return RET_OK;
160 }
161
GetEnabledAbilities(std::vector<std::string> & enabledAbilities)162 ErrCode MockAccessibleAbilityManagerServiceStub::GetEnabledAbilities(std::vector<std::string> &enabledAbilities)
163 {
164 (void)enabledAbilities;
165 return RET_OK;
166 }
167
DisableAbility(const std::string & name)168 ErrCode MockAccessibleAbilityManagerServiceStub::DisableAbility(const std::string &name)
169 {
170 (void)name;
171 return RET_OK;
172 }
173
SetMagnificationState(const bool state)174 ErrCode MockAccessibleAbilityManagerServiceStub::SetMagnificationState(const bool state)
175 {
176 (void)state;
177 return RET_OK;
178 }
179
GetActiveWindow(int32_t & windowId)180 ErrCode MockAccessibleAbilityManagerServiceStub::GetActiveWindow(int32_t& windowId)
181 {
182 (void)windowId;
183 return RET_OK;
184 }
185
GetActiveWindow(int32_t & windowId,bool systemApi)186 ErrCode MockAccessibleAbilityManagerServiceStub::GetActiveWindow(int32_t& windowId, bool systemApi)
187 {
188 (void)windowId;
189 (void)systemApi;
190 return RET_OK;
191 }
192
CheckExtensionAbilityPermission(std::string & processName)193 ErrCode MockAccessibleAbilityManagerServiceStub::CheckExtensionAbilityPermission(std::string& processName)
194 {
195 (void)processName;
196 return RET_OK;
197 }
198
EnableUITestAbility(const sptr<IRemoteObject> & obj)199 ErrCode MockAccessibleAbilityManagerServiceStub::EnableUITestAbility(const sptr<IRemoteObject> &obj)
200 {
201 (void)obj;
202 return RET_ERR_IPC_FAILED;
203 }
204
DisableUITestAbility()205 ErrCode MockAccessibleAbilityManagerServiceStub::DisableUITestAbility()
206 {
207 return RET_OK;
208 }
209
SetScreenMagnificationState(bool state)210 ErrCode MockAccessibleAbilityManagerServiceStub::SetScreenMagnificationState(bool state)
211 {
212 screenMagnifier_ = state;
213 return RET_OK;
214 }
215
SetShortKeyState(bool state)216 ErrCode MockAccessibleAbilityManagerServiceStub::SetShortKeyState(bool state)
217 {
218 shortkey_ = state;
219 return RET_OK;
220 }
221
SetMouseKeyState(bool state)222 ErrCode MockAccessibleAbilityManagerServiceStub::SetMouseKeyState(bool state)
223 {
224 mouseKey_ = state;
225 return RET_OK;
226 }
227
SetMouseAutoClick(int32_t time)228 ErrCode MockAccessibleAbilityManagerServiceStub::SetMouseAutoClick(int32_t time)
229 {
230 mouseAutoClick_ = time;
231 return RET_OK;
232 }
233
SetShortkeyTarget(const std::string & name)234 ErrCode MockAccessibleAbilityManagerServiceStub::SetShortkeyTarget(const std::string &name)
235 {
236 shortkeyTarget_ = name;
237 return RET_OK;
238 }
239
SetShortkeyMultiTarget(const std::vector<std::string> & name)240 ErrCode MockAccessibleAbilityManagerServiceStub::SetShortkeyMultiTarget(const std::vector<std::string> &name)
241 {
242 shortkeyMultiTarget_ = name;
243 return RET_OK;
244 }
245
SetHighContrastTextState(bool state)246 ErrCode MockAccessibleAbilityManagerServiceStub::SetHighContrastTextState(bool state)
247 {
248 highContrastText_ = state;
249 return RET_OK;
250 }
251
SetInvertColorState(bool state)252 ErrCode MockAccessibleAbilityManagerServiceStub::SetInvertColorState(bool state)
253 {
254 invertColor_ = state;
255 return RET_OK;
256 }
257
SetAnimationOffState(bool state)258 ErrCode MockAccessibleAbilityManagerServiceStub::SetAnimationOffState(bool state)
259 {
260 animationOff_ = state;
261 return RET_OK;
262 }
263
SetAudioMonoState(bool state)264 ErrCode MockAccessibleAbilityManagerServiceStub::SetAudioMonoState(bool state)
265 {
266 audioMono_ = state;
267 return RET_OK;
268 }
269
SetDaltonizationState(bool state)270 ErrCode MockAccessibleAbilityManagerServiceStub::SetDaltonizationState(bool state)
271 {
272 daltonizationState_ = state;
273 return RET_OK;
274 }
275
SetDaltonizationColorFilter(uint32_t filter)276 ErrCode MockAccessibleAbilityManagerServiceStub::SetDaltonizationColorFilter(uint32_t filter)
277 {
278 daltonizationColorFilter_ = filter;
279 return RET_OK;
280 }
281
SetContentTimeout(uint32_t time)282 ErrCode MockAccessibleAbilityManagerServiceStub::SetContentTimeout(uint32_t time)
283 {
284 contentTimeout_ = time;
285 return RET_OK;
286 }
287
SetBrightnessDiscount(float discount)288 ErrCode MockAccessibleAbilityManagerServiceStub::SetBrightnessDiscount(float discount)
289 {
290 brightnessDiscount_ = discount;
291 return RET_OK;
292 }
293
SetAudioBalance(float balance)294 ErrCode MockAccessibleAbilityManagerServiceStub::SetAudioBalance(float balance)
295 {
296 audioBalance_ = balance;
297
298 if (handler_) {
299 handler_->PostTask(std::bind([this, balance]() {
300 observer_->OnConfigStateChanged(balance == 0 ? 0 : 0xFFFF);
301 observer_->OnAudioBalanceChanged(balance == 0 ? 0 : 1);
302 observer_->OnBrightnessDiscountChanged(balance == 0 ? 0 : 1);
303 observer_->OnContentTimeoutChanged(balance == 0 ? 0 : 1);
304 observer_->OnMouseAutoClickChanged(balance == 0 ? 0 : 1);
305 observer_->OnDaltonizationColorFilterChanged(balance == 0 ? 0 : 1);
306 observer_->OnShortkeyTargetChanged(balance == 0 ? "test_target1" : "test_target2");
307 AccessibilityConfig::CaptionProperty testProperty;
308 captionObserver_->OnPropertyChanged(testProperty);
309 }), "NotifyAll");
310 }
311 return RET_OK;
312 }
313
SetClickResponseTime(uint32_t time)314 ErrCode MockAccessibleAbilityManagerServiceStub::SetClickResponseTime(uint32_t time)
315 {
316 clickResponseTime_ = time;
317 return RET_OK;
318 }
319
SetIgnoreRepeatClickState(bool state)320 ErrCode MockAccessibleAbilityManagerServiceStub::SetIgnoreRepeatClickState(bool state)
321 {
322 ignoreRepeatClickState_ = state;
323 return RET_OK;
324 }
325
SetIgnoreRepeatClickTime(uint32_t time)326 ErrCode MockAccessibleAbilityManagerServiceStub::SetIgnoreRepeatClickTime(uint32_t time)
327 {
328 ignoreRepeatClickTime_ = time;
329 return RET_OK;
330 }
331
GetScreenMagnificationState(bool & state)332 ErrCode MockAccessibleAbilityManagerServiceStub::GetScreenMagnificationState(bool &state)
333 {
334 state = screenMagnifier_;
335 return RET_OK;
336 }
337
GetShortKeyState(bool & state)338 ErrCode MockAccessibleAbilityManagerServiceStub::GetShortKeyState(bool &state)
339 {
340 state = shortkey_;
341 return RET_OK;
342 }
343
GetMouseKeyState(bool & state)344 ErrCode MockAccessibleAbilityManagerServiceStub::GetMouseKeyState(bool &state)
345 {
346 state = mouseKey_;
347 return RET_OK;
348 }
349
GetMouseAutoClick(int32_t & time)350 ErrCode MockAccessibleAbilityManagerServiceStub::GetMouseAutoClick(int32_t &time)
351 {
352 time = mouseAutoClick_;
353 return RET_OK;
354 }
355
GetShortkeyTarget(std::string & name)356 ErrCode MockAccessibleAbilityManagerServiceStub::GetShortkeyTarget(std::string &name)
357 {
358 name = shortkeyTarget_;
359 return RET_OK;
360 }
361
GetShortkeyMultiTarget(std::vector<std::string> & name)362 ErrCode MockAccessibleAbilityManagerServiceStub::GetShortkeyMultiTarget(std::vector<std::string> &name)
363 {
364 name = shortkeyMultiTarget_;
365 return RET_OK;
366 }
367
GetHighContrastTextState(bool & state)368 ErrCode MockAccessibleAbilityManagerServiceStub::GetHighContrastTextState(bool &state)
369 {
370 state = highContrastText_;
371 return RET_OK;
372 }
373
GetInvertColorState(bool & state)374 ErrCode MockAccessibleAbilityManagerServiceStub::GetInvertColorState(bool &state)
375 {
376 state = invertColor_;
377 return RET_OK;
378 }
379
GetAnimationOffState(bool & state)380 ErrCode MockAccessibleAbilityManagerServiceStub::GetAnimationOffState(bool &state)
381 {
382 state = animationOff_;
383 return RET_OK;
384 }
385
GetAudioMonoState(bool & state)386 ErrCode MockAccessibleAbilityManagerServiceStub::GetAudioMonoState(bool &state)
387 {
388 state = audioMono_;
389 return RET_OK;
390 }
391
GetDaltonizationState(bool & state)392 ErrCode MockAccessibleAbilityManagerServiceStub::GetDaltonizationState(bool &state)
393 {
394 state = daltonizationState_;
395 return RET_OK;
396 }
397
GetDaltonizationColorFilter(uint32_t & type)398 ErrCode MockAccessibleAbilityManagerServiceStub::GetDaltonizationColorFilter(uint32_t &type)
399 {
400 type = daltonizationColorFilter_;
401 return RET_OK;
402 }
403
GetContentTimeout(uint32_t & timer)404 ErrCode MockAccessibleAbilityManagerServiceStub::GetContentTimeout(uint32_t &timer)
405 {
406 timer = contentTimeout_;
407 return RET_OK;
408 }
409
GetBrightnessDiscount(float & brightness)410 ErrCode MockAccessibleAbilityManagerServiceStub::GetBrightnessDiscount(float &brightness)
411 {
412 brightness = brightnessDiscount_;
413 return RET_OK;
414 }
415
GetAudioBalance(float & balance)416 ErrCode MockAccessibleAbilityManagerServiceStub::GetAudioBalance(float &balance)
417 {
418 balance = audioBalance_;
419 return RET_OK;
420 }
421
GetClickResponseTime(uint32_t & time)422 ErrCode MockAccessibleAbilityManagerServiceStub::GetClickResponseTime(uint32_t &time)
423 {
424 time = clickResponseTime_;
425 return RET_OK;
426 }
427
GetIgnoreRepeatClickState(bool & state)428 ErrCode MockAccessibleAbilityManagerServiceStub::GetIgnoreRepeatClickState(bool &state)
429 {
430 state = ignoreRepeatClickState_;
431 return RET_OK;
432 }
433
GetIgnoreRepeatClickTime(uint32_t & time)434 ErrCode MockAccessibleAbilityManagerServiceStub::GetIgnoreRepeatClickTime(uint32_t &time)
435 {
436 time = ignoreRepeatClickTime_;
437 return RET_OK;
438 }
439
GetAllConfigs(AccessibilityConfigData & configData,CaptionPropertyParcel & caption)440 ErrCode MockAccessibleAbilityManagerServiceStub::GetAllConfigs(AccessibilityConfigData& configData,
441 CaptionPropertyParcel& caption)
442 {
443 configData.highContrastText_ = true;
444 configData.invertColor_ = true;
445 configData.animationOff_ = true;
446 configData.audioMono_ = true;
447 configData.mouseKey_ = true;
448 configData.captionState_ = true;
449 configData.screenMagnifier_ = true;
450 configData.shortkey_ = true;
451 configData.daltonizationState_ = true;
452 configData.mouseAutoClick_ = MOUSE_AUTO_CLICK_VALUE;
453 configData.daltonizationColorFilter_ = 1;
454 configData.contentTimeout_ = CONTENT_TIMEOUT_VALUE;
455 configData.brightnessDiscount_ = BRIGHTNESS_DISCOUNT_VALUE;
456 configData.audioBalance_ = -1;
457 configData.shortkeyTarget_ = "test";
458 configData.shortkeyMultiTarget_ = {"test"};
459 configData.clickResponseTime_ = 1;
460 configData.ignoreRepeatClickState_ = false;
461 configData.ignoreRepeatClickTime_ = 1;
462 (void)caption;
463 return RET_OK;
464 }
465
RegisterEnableAbilityListsObserver(const sptr<IAccessibilityEnableAbilityListsObserver> & observer)466 ErrCode MockAccessibleAbilityManagerServiceStub::RegisterEnableAbilityListsObserver(
467 const sptr<IAccessibilityEnableAbilityListsObserver> &observer)
468 {
469 abilityObserver_ = observer;
470 return RET_OK;
471 }
472
RegisterConfigObserver(const sptr<IAccessibleAbilityManagerConfigObserver> & observer)473 ErrCode MockAccessibleAbilityManagerServiceStub::RegisterConfigObserver(
474 const sptr<IAccessibleAbilityManagerConfigObserver> &observer)
475 {
476 observer_ = observer;
477 return RET_OK;
478 }
479
GetRealWindowAndElementId(int32_t & windowId,int64_t & elementId)480 ErrCode MockAccessibleAbilityManagerServiceStub::GetRealWindowAndElementId(int32_t& windowId, int64_t& elementId)
481 {
482 return RET_OK;
483 }
484
GetSceneBoardInnerWinId(int32_t windowId,int64_t elementId,int32_t & innerWid)485 ErrCode MockAccessibleAbilityManagerServiceStub::GetSceneBoardInnerWinId(int32_t windowId, int64_t elementId,
486 int32_t& innerWid)
487 {
488 return RET_OK;
489 }
490
GetFocusedWindowId(int32_t & focusedWindowId)491 ErrCode MockAccessibleAbilityManagerServiceStub::GetFocusedWindowId(int32_t &focusedWindowId)
492 {
493 focusedWindowId = 1;
494 return RET_OK;
495 }
496
RemoveRequestId(int32_t requestId)497 ErrCode MockAccessibleAbilityManagerServiceStub::RemoveRequestId(int32_t requestId)
498 {
499 (void)requestId;
500 return RET_OK;
501 }
502
GetRootParentId(int32_t windowId,int32_t treeId,int64_t & parentId)503 ErrCode MockAccessibleAbilityManagerServiceStub::GetRootParentId(int32_t windowId, int32_t treeId,
504 int64_t& parentId)
505 {
506 (void)windowId;
507 (void)treeId;
508 (void)parentId;
509 return RET_OK;
510 }
511
GetRootParentId(int32_t windowId,int32_t treeId,int64_t & parentId,bool systemApi)512 ErrCode MockAccessibleAbilityManagerServiceStub::GetRootParentId(int32_t windowId, int32_t treeId,
513 int64_t& parentId, bool systemApi)
514 {
515 (void)windowId;
516 (void)treeId;
517 (void)parentId;
518 (void)systemApi;
519 return RET_OK;
520 }
521
SetEnhanceConfig(const AccessibilitySecCompRawdata & rawData)522 int32_t MockAccessibleAbilityManagerServiceStub::SetEnhanceConfig(const AccessibilitySecCompRawdata& rawData)
523 {
524 return 0;
525 }
526
SearchNeedEvents(std::vector<uint32_t> & needEvents)527 ErrCode MockAccessibleAbilityManagerServiceStub::SearchNeedEvents(std::vector<uint32_t> &needEvents)
528 {
529 return RET_OK;
530 }
531
UpdateUITestConfigureEvents(std::vector<uint32_t> needEvents)532 RetError MockAccessibleAbilityManagerServiceStub::UpdateUITestConfigureEvents(std::vector<uint32_t> needEvents)
533 {
534 return RET_OK;
535 }
536 } // namespace Accessibility
537 } // namespace OHOS