• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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