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