1 /*
2 * Copyright (C) 2022-2023 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 "accessibility_ability_ut_helper.h"
17 #include "accessible_ability_client_impl.h"
18 #include "hilog_wrapper.h"
19
20 namespace OHOS {
21 namespace Accessibility {
22 namespace {
23 ffrt::mutex g_Mutex;
24 sptr<AccessibleAbilityClientImpl> g_Instance = nullptr;
25 } // namespace
26
GetInstance()27 sptr<AccessibleAbilityClient> AccessibleAbilityClient::GetInstance()
28 {
29 HILOG_DEBUG();
30 std::lock_guard<ffrt::mutex> lock(g_Mutex);
31 bool isNull = AccessibilityAbilityUtHelper::GetInstance().GetAbilityClientNullFlag();
32 if (isNull) {
33 return nullptr;
34 }
35
36 if (g_Instance == nullptr) {
37 g_Instance = new(std::nothrow) AccessibleAbilityClientImpl();
38 }
39 return g_Instance;
40 }
41
GetAbilityClientImplement()42 sptr<AccessibleAbilityClientImpl> AccessibleAbilityClientImpl::GetAbilityClientImplement()
43 {
44 HILOG_DEBUG();
45 std::lock_guard<ffrt::mutex> lock(g_Mutex);
46 bool isNull = AccessibilityAbilityUtHelper::GetInstance().GetAbilityClientNullFlag();
47 if (isNull) {
48 return nullptr;
49 }
50
51 if (g_Instance == nullptr) {
52 g_Instance = new(std::nothrow) AccessibleAbilityClientImpl();
53 }
54 return g_Instance;
55 }
56
AccessibleAbilityClientImpl()57 AccessibleAbilityClientImpl::AccessibleAbilityClientImpl()
58 {
59 }
60
~AccessibleAbilityClientImpl()61 AccessibleAbilityClientImpl::~AccessibleAbilityClientImpl()
62 {
63 }
64
GetRemoteObject()65 sptr<IRemoteObject> AccessibleAbilityClientImpl::GetRemoteObject()
66 {
67 HILOG_DEBUG();
68 return nullptr;
69 }
70
CheckExtensionAbilityPermission()71 RetError AccessibleAbilityClientImpl::CheckExtensionAbilityPermission()
72 {
73 return RET_OK;
74 }
75
RegisterAbilityListener(const std::shared_ptr<AccessibleAbilityListener> & listener)76 RetError AccessibleAbilityClientImpl::RegisterAbilityListener(
77 const std::shared_ptr<AccessibleAbilityListener> &listener)
78 {
79 HILOG_DEBUG();
80 (void)listener;
81 return RET_OK;
82 }
83
Init(const sptr<IAccessibleAbilityChannel> & channel,const int32_t channelId)84 void AccessibleAbilityClientImpl::Init(const sptr<IAccessibleAbilityChannel> &channel, const int32_t channelId)
85 {
86 }
87
Disconnect(const int32_t channelId)88 void AccessibleAbilityClientImpl::Disconnect(const int32_t channelId)
89 {
90 }
91
OnAccessibilityEvent(const AccessibilityEventInfo & eventInfo)92 void AccessibleAbilityClientImpl::OnAccessibilityEvent(const AccessibilityEventInfo &eventInfo)
93 {
94 }
95
OnKeyPressEvent(const MMI::KeyEvent & keyEvent,const int32_t sequence)96 void AccessibleAbilityClientImpl::OnKeyPressEvent(const MMI::KeyEvent &keyEvent, const int32_t sequence)
97 {
98 }
99
GetFocus(const int32_t focusType,AccessibilityElementInfo & elementInfo,bool systemApi)100 RetError AccessibleAbilityClientImpl::GetFocus(const int32_t focusType, AccessibilityElementInfo &elementInfo,
101 bool systemApi)
102 {
103 HILOG_DEBUG();
104 (void)focusType;
105 (void)elementInfo;
106 (void)systemApi;
107 return RET_OK;
108 }
109
GetFocusByElementInfo(const AccessibilityElementInfo & sourceInfo,const int32_t focusType,AccessibilityElementInfo & elementInfo)110 RetError AccessibleAbilityClientImpl::GetFocusByElementInfo(const AccessibilityElementInfo &sourceInfo,
111 const int32_t focusType, AccessibilityElementInfo &elementInfo)
112 {
113 HILOG_DEBUG();
114 (void)sourceInfo;
115 (void)focusType;
116 (void)elementInfo;
117 return RET_OK;
118 }
119
InjectGesture(const std::shared_ptr<AccessibilityGestureInjectPath> & gesturePath)120 RetError AccessibleAbilityClientImpl::InjectGesture(const std::shared_ptr<AccessibilityGestureInjectPath> &gesturePath)
121 {
122 HILOG_DEBUG();
123 (void)gesturePath;
124 return RET_OK;
125 }
126
GetRoot(AccessibilityElementInfo & elementInfo,bool systemApi)127 RetError AccessibleAbilityClientImpl::GetRoot(AccessibilityElementInfo &elementInfo, bool systemApi)
128 {
129 HILOG_DEBUG();
130 (void)elementInfo;
131 (void)systemApi;
132 return RET_OK;
133 }
134
GetRootByWindow(const AccessibilityWindowInfo & windowInfo,AccessibilityElementInfo & elementInfo,bool systemApi)135 RetError AccessibleAbilityClientImpl::GetRootByWindow(const AccessibilityWindowInfo &windowInfo,
136 AccessibilityElementInfo &elementInfo, bool systemApi)
137 {
138 HILOG_DEBUG();
139 (void)windowInfo;
140 (void)elementInfo;
141 (void)systemApi;
142 return RET_OK;
143 }
144
GetWindow(const int32_t windowId,AccessibilityWindowInfo & windowInfo)145 RetError AccessibleAbilityClientImpl::GetWindow(const int32_t windowId, AccessibilityWindowInfo &windowInfo)
146 {
147 HILOG_DEBUG();
148 (void)windowId;
149 (void)windowInfo;
150 return RET_OK;
151 }
152
GetDefaultFocusedElementIds(const int32_t windowId,std::vector<AccessibilityElementInfo> & elementInfos)153 RetError AccessibleAbilityClientImpl::GetDefaultFocusedElementIds(const int32_t windowId,
154 std::vector<AccessibilityElementInfo> &elementInfos)
155 {
156 HILOG_DEBUG();
157 (void)windowId;
158 (void)elementInfos;
159 return RET_OK;
160 }
161
GetWindows(std::vector<AccessibilityWindowInfo> & windows,bool systemApi)162 RetError AccessibleAbilityClientImpl::GetWindows(std::vector<AccessibilityWindowInfo> &windows, bool systemApi)
163 {
164 HILOG_DEBUG();
165 (void)windows;
166 (void)systemApi;
167 return RET_OK;
168 }
169
GetWindows(const uint64_t displayId,std::vector<AccessibilityWindowInfo> & windows,bool systemApi)170 RetError AccessibleAbilityClientImpl::GetWindows(const uint64_t displayId,
171 std::vector<AccessibilityWindowInfo> &windows, bool systemApi)
172 {
173 HILOG_DEBUG();
174 (void)displayId;
175 (void)windows;
176 return RET_OK;
177 }
178
GetNext(const AccessibilityElementInfo & elementInfo,const FocusMoveDirection direction,AccessibilityElementInfo & nextElementInfo,bool systemApi)179 RetError AccessibleAbilityClientImpl::GetNext(const AccessibilityElementInfo &elementInfo,
180 const FocusMoveDirection direction, AccessibilityElementInfo &nextElementInfo, bool systemApi)
181 {
182 HILOG_DEBUG();
183 (void)elementInfo;
184 (void)direction;
185 (void)nextElementInfo;
186 (void)systemApi;
187 return RET_OK;
188 }
189
GetChildElementInfo(const int32_t index,const AccessibilityElementInfo & parent,AccessibilityElementInfo & child)190 RetError AccessibleAbilityClientImpl::GetChildElementInfo(const int32_t index, const AccessibilityElementInfo &parent,
191 AccessibilityElementInfo &child)
192 {
193 HILOG_DEBUG();
194 (void)index;
195 (void)parent;
196 (void)child;
197 return RET_OK;
198 }
199
GetChildren(const AccessibilityElementInfo & parent,std::vector<AccessibilityElementInfo> & children,bool systemApi)200 RetError AccessibleAbilityClientImpl::GetChildren(const AccessibilityElementInfo &parent,
201 std::vector<AccessibilityElementInfo> &children, bool systemApi)
202 {
203 HILOG_DEBUG();
204 (void)parent;
205 (void)children;
206 (void)systemApi;
207 return RET_OK;
208 }
209
GetByContent(const AccessibilityElementInfo & elementInfo,const std::string & text,std::vector<AccessibilityElementInfo> & elementInfos,bool systemApi)210 RetError AccessibleAbilityClientImpl::GetByContent(const AccessibilityElementInfo &elementInfo,
211 const std::string &text, std::vector<AccessibilityElementInfo> &elementInfos, bool systemApi)
212 {
213 HILOG_DEBUG();
214 (void)elementInfo;
215 (void)text;
216 (void)elementInfos;
217 (void)systemApi;
218 return RET_OK;
219 }
220
GetSource(const AccessibilityEventInfo & eventInfo,AccessibilityElementInfo & elementInfo)221 RetError AccessibleAbilityClientImpl::GetSource(const AccessibilityEventInfo &eventInfo,
222 AccessibilityElementInfo &elementInfo)
223 {
224 HILOG_DEBUG();
225 (void)eventInfo;
226 (void)elementInfo;
227 return RET_OK;
228 }
229
GetParentElementInfo(const AccessibilityElementInfo & child,AccessibilityElementInfo & parent,bool systemApi)230 RetError AccessibleAbilityClientImpl::GetParentElementInfo(const AccessibilityElementInfo &child,
231 AccessibilityElementInfo &parent, bool systemApi)
232 {
233 HILOG_DEBUG();
234 (void)child;
235 (void)parent;
236 (void)systemApi;
237 return RET_OK;
238 }
239
GetByElementId(const int64_t elementId,const int32_t windowId,AccessibilityElementInfo & targetElementInfo,bool systemApi)240 RetError AccessibleAbilityClientImpl::GetByElementId(const int64_t elementId, const int32_t windowId,
241 AccessibilityElementInfo &targetElementInfo, bool systemApi)
242 {
243 HILOG_DEBUG();
244 (void)elementId;
245 (void)windowId;
246 (void)targetElementInfo;
247 (void)systemApi;
248 return RET_OK;
249 }
250
SearchElementInfoByInspectorKey(const std::string & inspectorKey,AccessibilityElementInfo & elementInfo)251 RetError AccessibleAbilityClientImpl::SearchElementInfoByInspectorKey(const std::string &inspectorKey,
252 AccessibilityElementInfo &elementInfo)
253 {
254 HILOG_DEBUG();
255 (void)inspectorKey;
256 (void)elementInfo;
257 return RET_OK;
258 }
259
ExecuteAction(const AccessibilityElementInfo & elementInfo,const ActionType action,const std::map<std::string,std::string> & actionArguments)260 RetError AccessibleAbilityClientImpl::ExecuteAction(const AccessibilityElementInfo &elementInfo,
261 const ActionType action, const std::map<std::string, std::string> &actionArguments)
262 {
263 HILOG_DEBUG();
264 (void)elementInfo;
265 (void)action;
266 (void)actionArguments;
267 return RET_OK;
268 }
269
EnableScreenCurtain(bool isEnable)270 RetError AccessibleAbilityClientImpl::EnableScreenCurtain(bool isEnable)
271 {
272 HILOG_DEBUG();
273 (void)isEnable;
274 return RET_OK;
275 }
276
HoldRunningLock()277 RetError AccessibleAbilityClientImpl::HoldRunningLock()
278 {
279 HILOG_DEBUG();
280 return RET_OK;
281 }
282
UnholdRunningLock()283 RetError AccessibleAbilityClientImpl::UnholdRunningLock()
284 {
285 HILOG_DEBUG();
286 return RET_OK;
287 }
288
GetCursorPosition(const AccessibilityElementInfo & elementInfo,int32_t & cursorPosition)289 RetError AccessibleAbilityClientImpl::GetCursorPosition(const AccessibilityElementInfo &elementInfo,
290 int32_t &cursorPosition)
291 {
292 HILOG_DEBUG();
293 (void)elementInfo;
294 (void)cursorPosition;
295 return RET_OK;
296 }
297
SetTargetBundleName(const std::vector<std::string> & targetBundleNames)298 RetError AccessibleAbilityClientImpl::SetTargetBundleName(const std::vector<std::string> &targetBundleNames)
299 {
300 HILOG_DEBUG();
301 (void)targetBundleNames;
302 return RET_OK;
303 }
304
SetCacheMode(const int32_t cacheMode)305 RetError AccessibleAbilityClientImpl::SetCacheMode(const int32_t cacheMode)
306 {
307 HILOG_DEBUG();
308 AccessibilityAbilityUtHelper::GetInstance().SetCacheMode(cacheMode);
309 return RET_OK;
310 }
311
Connect()312 RetError AccessibleAbilityClientImpl::Connect()
313 {
314 HILOG_DEBUG();
315 return RET_OK;
316 }
317
Disconnect()318 RetError AccessibleAbilityClientImpl::Disconnect()
319 {
320 HILOG_DEBUG();
321 return RET_OK;
322 }
323
SetConnectionState(bool state)324 void AccessibleAbilityClientImpl::SetConnectionState(bool state)
325 {
326 HILOG_DEBUG();
327 }
328
GetRootBatch(std::vector<AccessibilityElementInfo> & elementInfos)329 RetError AccessibleAbilityClientImpl::GetRootBatch(std::vector<AccessibilityElementInfo>& elementInfos)
330 {
331 HILOG_DEBUG();
332 return RET_OK;
333 }
334
GetRootByWindowBatch(const AccessibilityWindowInfo & windowInfo,std::vector<AccessibilityElementInfo> & elementInfos,bool isFilter,bool needCut)335 RetError AccessibleAbilityClientImpl::GetRootByWindowBatch(const AccessibilityWindowInfo &windowInfo,
336 std::vector<AccessibilityElementInfo>& elementInfos, bool isFilter, bool needCut)
337 {
338 HILOG_DEBUG();
339 return RET_OK;
340 }
341
SearchElementInfoByAccessibilityId(const int32_t windowId,const int64_t elementId,const uint32_t mode,AccessibilityElementInfo & info,bool isFilter)342 RetError AccessibleAbilityClientImpl::SearchElementInfoByAccessibilityId(const int32_t windowId,
343 const int64_t elementId, const uint32_t mode, AccessibilityElementInfo &info, bool isFilter)
344 {
345 HILOG_DEBUG();
346 return RET_OK;
347 }
348
GetElements(const int32_t windowId,const int64_t elementId,std::vector<AccessibilityElementInfo> & elementInfos)349 RetError AccessibleAbilityClientImpl::GetElements(const int32_t windowId, const int64_t elementId,
350 std::vector<AccessibilityElementInfo> &elementInfos)
351 {
352 HILOG_DEBUG();
353 (void)windowId;
354 (void)elementId;
355 (void)elementInfos;
356 return RET_OK;
357 }
358
RegisterDisconnectCallback(std::shared_ptr<DisconnectCallback> & callback)359 RetError AccessibleAbilityClientImpl::RegisterDisconnectCallback(std::shared_ptr<DisconnectCallback> &callback)
360 {
361 HILOG_DEBUG();
362 (void)callback;
363 return RET_OK;
364 }
365
UnRegisterDisconnectCallback(std::shared_ptr<DisconnectCallback> & callback)366 RetError AccessibleAbilityClientImpl::UnRegisterDisconnectCallback(std::shared_ptr<DisconnectCallback> &callback)
367 {
368 HILOG_DEBUG();
369 (void)callback;
370 return RET_OK;
371 }
372
NotifyDisconnect()373 RetError AccessibleAbilityClientImpl::NotifyDisconnect()
374 {
375 HILOG_DEBUG();
376 return RET_OK;
377 }
378
ConfigureEvents(const std::vector<uint32_t> needEvents)379 RetError AccessibleAbilityClientImpl::ConfigureEvents(const std::vector<uint32_t> needEvents)
380 {
381 HILOG_DEBUG();
382 return RET_OK;
383 }
384 } // namespace Accessibility
385 } // namespace OHOS