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