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