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)92 RetError MockAccessibleAbilityManagerServiceStub::RegisterElementOperator(
93 int32_t windowId, const sptr<IAccessibilityElementOperator> &operation)
94 {
95 (void)windowId;
96 (void)operation;
97 return RET_OK;
98 }
99
DeregisterElementOperator(const int32_t windowId)100 RetError MockAccessibleAbilityManagerServiceStub::DeregisterElementOperator(const int32_t windowId)
101 {
102 (void)windowId;
103 return RET_OK;
104 }
105
GetCaptionProperty(AccessibilityConfig::CaptionProperty & caption)106 RetError MockAccessibleAbilityManagerServiceStub::GetCaptionProperty(AccessibilityConfig::CaptionProperty &caption)
107 {
108 caption = captionProperty_;
109 return RET_OK;
110 }
111
RegisterCaptionObserver(const sptr<IAccessibleAbilityManagerCaptionObserver> & callback)112 uint32_t MockAccessibleAbilityManagerServiceStub::RegisterCaptionObserver(
113 const sptr<IAccessibleAbilityManagerCaptionObserver> &callback)
114 {
115 captionObserver_ = callback;
116 return 0;
117 }
118
GetEnabledState()119 bool MockAccessibleAbilityManagerServiceStub::GetEnabledState()
120 {
121 return true;
122 }
123
GetCaptionState(bool & state)124 RetError MockAccessibleAbilityManagerServiceStub::GetCaptionState(bool &state)
125 {
126 state = captionState_;
127 return RET_OK;
128 }
129
GetTouchGuideState()130 bool MockAccessibleAbilityManagerServiceStub::GetTouchGuideState()
131 {
132 return true;
133 }
134
GetGestureState()135 bool MockAccessibleAbilityManagerServiceStub::GetGestureState()
136 {
137 return true;
138 }
139
GetKeyEventObserverState()140 bool MockAccessibleAbilityManagerServiceStub::GetKeyEventObserverState()
141 {
142 return true;
143 }
144
EnableAbility(const std::string & name,const uint32_t capabilities)145 RetError MockAccessibleAbilityManagerServiceStub::EnableAbility(const std::string &name, const uint32_t capabilities)
146 {
147 (void)name;
148 (void)capabilities;
149 if (handler_) {
150 handler_->PostTask(std::bind([this]() {
151 abilityObserver_->OnAccessibilityEnableAbilityListsChanged();
152 }), "NotifyEnableAbility");
153 }
154 return RET_OK;
155 }
156
GetEnabledAbilities(std::vector<std::string> & enabledAbilities)157 RetError MockAccessibleAbilityManagerServiceStub::GetEnabledAbilities(std::vector<std::string> &enabledAbilities)
158 {
159 (void)enabledAbilities;
160 return RET_OK;
161 }
162
DisableAbility(const std::string & name)163 RetError MockAccessibleAbilityManagerServiceStub::DisableAbility(const std::string &name)
164 {
165 (void)name;
166 return RET_OK;
167 }
168
GetActiveWindow()169 int32_t MockAccessibleAbilityManagerServiceStub::GetActiveWindow()
170 {
171 return 0;
172 }
173
EnableUITestAbility(const sptr<IRemoteObject> & obj)174 RetError MockAccessibleAbilityManagerServiceStub::EnableUITestAbility(const sptr<IRemoteObject> &obj)
175 {
176 (void)obj;
177 return RET_ERR_IPC_FAILED;
178 }
179
DisableUITestAbility()180 RetError MockAccessibleAbilityManagerServiceStub::DisableUITestAbility()
181 {
182 return RET_OK;
183 }
184
SetScreenMagnificationState(const bool state)185 RetError MockAccessibleAbilityManagerServiceStub::SetScreenMagnificationState(const bool state)
186 {
187 screenMagnifier_ = state;
188 return RET_OK;
189 }
190
SetShortKeyState(const bool state)191 RetError MockAccessibleAbilityManagerServiceStub::SetShortKeyState(const bool state)
192 {
193 shortkey_ = state;
194 return RET_OK;
195 }
196
SetMouseKeyState(const bool state)197 RetError MockAccessibleAbilityManagerServiceStub::SetMouseKeyState(const bool state)
198 {
199 mouseKey_ = state;
200 return RET_OK;
201 }
202
SetMouseAutoClick(const int32_t time)203 RetError MockAccessibleAbilityManagerServiceStub::SetMouseAutoClick(const int32_t time)
204 {
205 mouseAutoClick_ = time;
206 return RET_OK;
207 }
208
SetShortkeyTarget(const std::string & name)209 RetError MockAccessibleAbilityManagerServiceStub::SetShortkeyTarget(const std::string &name)
210 {
211 shortkeyTarget_ = name;
212 return RET_OK;
213 }
214
SetHighContrastTextState(const bool state)215 RetError MockAccessibleAbilityManagerServiceStub::SetHighContrastTextState(const bool state)
216 {
217 highContrastText_ = state;
218 return RET_OK;
219 }
220
SetInvertColorState(const bool state)221 RetError MockAccessibleAbilityManagerServiceStub::SetInvertColorState(const bool state)
222 {
223 invertColor_ = state;
224 return RET_OK;
225 }
226
SetAnimationOffState(const bool state)227 RetError MockAccessibleAbilityManagerServiceStub::SetAnimationOffState(const bool state)
228 {
229 animationOff_ = state;
230 return RET_OK;
231 }
232
SetAudioMonoState(const bool state)233 RetError MockAccessibleAbilityManagerServiceStub::SetAudioMonoState(const bool state)
234 {
235 audioMono_ = state;
236 return RET_OK;
237 }
238
SetDaltonizationColorFilter(const uint32_t filter)239 RetError MockAccessibleAbilityManagerServiceStub::SetDaltonizationColorFilter(const uint32_t filter)
240 {
241 daltonizationColorFilter_ = filter;
242 return RET_OK;
243 }
244
SetContentTimeout(const uint32_t time)245 RetError MockAccessibleAbilityManagerServiceStub::SetContentTimeout(const uint32_t time)
246 {
247 contentTimeout_ = time;
248 return RET_OK;
249 }
250
SetBrightnessDiscount(const float discount)251 RetError MockAccessibleAbilityManagerServiceStub::SetBrightnessDiscount(const float discount)
252 {
253 brightnessDiscount_ = discount;
254 return RET_OK;
255 }
256
SetAudioBalance(const float balance)257 RetError MockAccessibleAbilityManagerServiceStub::SetAudioBalance(const float balance)
258 {
259 audioBalance_ = balance;
260
261 if (handler_) {
262 handler_->PostTask(std::bind([this, balance]() {
263 observer_->OnConfigStateChanged(balance == 0 ? 0 : 0xFFFF);
264 observer_->OnAudioBalanceChanged(balance == 0 ? 0 : 1);
265 observer_->OnBrightnessDiscountChanged(balance == 0 ? 0 : 1);
266 observer_->OnContentTimeoutChanged(balance == 0 ? 0 : 1);
267 observer_->OnMouseAutoClickChanged(balance == 0 ? 0 : 1);
268 observer_->OnDaltonizationColorFilterChanged(balance == 0 ? 0 : 1);
269 observer_->OnShortkeyTargetChanged(balance == 0 ? "test_target1" : "test_target2");
270 AccessibilityConfig::CaptionProperty testProperty;
271 captionObserver_->OnPropertyChanged(testProperty);
272 }), "NotifyAll");
273 }
274 return RET_OK;
275 }
276
GetScreenMagnificationState(bool & state)277 RetError MockAccessibleAbilityManagerServiceStub::GetScreenMagnificationState(bool &state)
278 {
279 state = screenMagnifier_;
280 return RET_OK;
281 }
282
GetShortKeyState(bool & state)283 RetError MockAccessibleAbilityManagerServiceStub::GetShortKeyState(bool &state)
284 {
285 state = shortkey_;
286 return RET_OK;
287 }
288
GetMouseKeyState(bool & state)289 RetError MockAccessibleAbilityManagerServiceStub::GetMouseKeyState(bool &state)
290 {
291 state = mouseKey_;
292 return RET_OK;
293 }
294
GetMouseAutoClick(int32_t & time)295 RetError MockAccessibleAbilityManagerServiceStub::GetMouseAutoClick(int32_t &time)
296 {
297 time = mouseAutoClick_;
298 return RET_OK;
299 }
300
GetShortkeyTarget(std::string & name)301 RetError MockAccessibleAbilityManagerServiceStub::GetShortkeyTarget(std::string &name)
302 {
303 name = shortkeyTarget_;
304 return RET_OK;
305 }
306
GetHighContrastTextState(bool & state)307 RetError MockAccessibleAbilityManagerServiceStub::GetHighContrastTextState(bool &state)
308 {
309 state = highContrastText_;
310 return RET_OK;
311 }
312
GetInvertColorState(bool & state)313 RetError MockAccessibleAbilityManagerServiceStub::GetInvertColorState(bool &state)
314 {
315 state = invertColor_;
316 return RET_OK;
317 }
318
GetAnimationOffState(bool & state)319 RetError MockAccessibleAbilityManagerServiceStub::GetAnimationOffState(bool &state)
320 {
321 state = animationOff_;
322 return RET_OK;
323 }
324
GetAudioMonoState(bool & state)325 RetError MockAccessibleAbilityManagerServiceStub::GetAudioMonoState(bool &state)
326 {
327 state = audioMono_;
328 return RET_OK;
329 }
330
GetDaltonizationColorFilter(uint32_t & type)331 RetError MockAccessibleAbilityManagerServiceStub::GetDaltonizationColorFilter(uint32_t &type)
332 {
333 type = daltonizationColorFilter_;
334 return RET_OK;
335 }
336
GetContentTimeout(uint32_t & timer)337 RetError MockAccessibleAbilityManagerServiceStub::GetContentTimeout(uint32_t &timer)
338 {
339 timer = contentTimeout_;
340 return RET_OK;
341 }
342
GetBrightnessDiscount(float & brightness)343 RetError MockAccessibleAbilityManagerServiceStub::GetBrightnessDiscount(float &brightness)
344 {
345 brightness = brightnessDiscount_;
346 return RET_OK;
347 }
348
GetAudioBalance(float & balance)349 RetError MockAccessibleAbilityManagerServiceStub::GetAudioBalance(float &balance)
350 {
351 balance = audioBalance_;
352 return RET_OK;
353 }
354
GetAllConfigs(AccessibilityConfigData & configData)355 void MockAccessibleAbilityManagerServiceStub::GetAllConfigs(AccessibilityConfigData &configData)
356 {
357 configData.highContrastText_ = true;
358 configData.invertColor_ = true;
359 configData.animationOff_ = true;
360 configData.audioMono_ = true;
361 configData.mouseKey_ = true;
362 configData.captionState_ = true;
363 configData.screenMagnifier_ = true;
364 configData.shortkey_ = true;
365 configData.mouseAutoClick_ = MOUSE_AUTO_CLICK_VALUE;
366 configData.daltonizationColorFilter_ = 1;
367 configData.contentTimeout_ = CONTENT_TIMEOUT_VALUE;
368 configData.brightnessDiscount_ = BRIGHTNESS_DISCOUNT_VALUE;
369 configData.audioBalance_ = -1;
370 configData.shortkeyTarget_ = "test";
371 }
372
RegisterEnableAbilityListsObserver(const sptr<IAccessibilityEnableAbilityListsObserver> & observer)373 void MockAccessibleAbilityManagerServiceStub::RegisterEnableAbilityListsObserver(
374 const sptr<IAccessibilityEnableAbilityListsObserver> &observer)
375 {
376 abilityObserver_ = observer;
377 return;
378 }
379
RegisterConfigObserver(const sptr<IAccessibleAbilityManagerConfigObserver> & callback)380 uint32_t MockAccessibleAbilityManagerServiceStub::RegisterConfigObserver(
381 const sptr<IAccessibleAbilityManagerConfigObserver> &callback)
382 {
383 observer_ = callback;
384 return 0;
385 }
386 } // namespace Accessibility
387 } // namespace OHOS