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 
RegisterAbilityListener(const std::shared_ptr<AccessibleAbilityListener> & listener)71 RetError AccessibleAbilityClientImpl::RegisterAbilityListener(
72     const std::shared_ptr<AccessibleAbilityListener> &listener)
73 {
74     HILOG_DEBUG();
75     (void)listener;
76     return RET_OK;
77 }
78 
Init(const sptr<IAccessibleAbilityChannel> & channel,const int32_t channelId)79 void AccessibleAbilityClientImpl::Init(const sptr<IAccessibleAbilityChannel> &channel, const int32_t channelId)
80 {
81 }
82 
Disconnect(const int32_t channelId)83 void AccessibleAbilityClientImpl::Disconnect(const int32_t channelId)
84 {
85 }
86 
OnAccessibilityEvent(const AccessibilityEventInfo & eventInfo)87 void AccessibleAbilityClientImpl::OnAccessibilityEvent(const AccessibilityEventInfo &eventInfo)
88 {
89 }
90 
OnKeyPressEvent(const MMI::KeyEvent & keyEvent,const int32_t sequence)91 void AccessibleAbilityClientImpl::OnKeyPressEvent(const MMI::KeyEvent &keyEvent, const int32_t sequence)
92 {
93 }
94 
GetFocus(const int32_t focusType,AccessibilityElementInfo & elementInfo)95 RetError AccessibleAbilityClientImpl::GetFocus(const int32_t focusType, AccessibilityElementInfo &elementInfo)
96 {
97     HILOG_DEBUG();
98     (void)focusType;
99     (void)elementInfo;
100     return RET_OK;
101 }
102 
GetFocusByElementInfo(const AccessibilityElementInfo & sourceInfo,const int32_t focusType,AccessibilityElementInfo & elementInfo)103 RetError AccessibleAbilityClientImpl::GetFocusByElementInfo(const AccessibilityElementInfo &sourceInfo,
104     const int32_t focusType, AccessibilityElementInfo &elementInfo)
105 {
106     HILOG_DEBUG();
107     (void)sourceInfo;
108     (void)focusType;
109     (void)elementInfo;
110     return RET_OK;
111 }
112 
InjectGesture(const std::shared_ptr<AccessibilityGestureInjectPath> & gesturePath)113 RetError AccessibleAbilityClientImpl::InjectGesture(const std::shared_ptr<AccessibilityGestureInjectPath> &gesturePath)
114 {
115     HILOG_DEBUG();
116     (void)gesturePath;
117     return RET_OK;
118 }
119 
GetRoot(AccessibilityElementInfo & elementInfo)120 RetError AccessibleAbilityClientImpl::GetRoot(AccessibilityElementInfo &elementInfo)
121 {
122     HILOG_DEBUG();
123     (void)elementInfo;
124     return RET_OK;
125 }
126 
GetRootByWindow(const AccessibilityWindowInfo & windowInfo,AccessibilityElementInfo & elementInfo)127 RetError AccessibleAbilityClientImpl::GetRootByWindow(const AccessibilityWindowInfo &windowInfo,
128     AccessibilityElementInfo &elementInfo)
129 {
130     HILOG_DEBUG();
131     (void)windowInfo;
132     (void)elementInfo;
133     return RET_OK;
134 }
135 
GetWindow(const int32_t windowId,AccessibilityWindowInfo & windowInfo)136 RetError AccessibleAbilityClientImpl::GetWindow(const int32_t windowId, AccessibilityWindowInfo &windowInfo)
137 {
138     HILOG_DEBUG();
139     (void)windowId;
140     (void)windowInfo;
141     return RET_OK;
142 }
143 
GetWindows(std::vector<AccessibilityWindowInfo> & windows)144 RetError AccessibleAbilityClientImpl::GetWindows(std::vector<AccessibilityWindowInfo> &windows)
145 {
146     HILOG_DEBUG();
147     (void)windows;
148     return RET_OK;
149 }
150 
GetWindows(const uint64_t displayId,std::vector<AccessibilityWindowInfo> & windows)151 RetError AccessibleAbilityClientImpl::GetWindows(const uint64_t displayId,
152     std::vector<AccessibilityWindowInfo> &windows)
153 {
154     HILOG_DEBUG();
155     (void)displayId;
156     (void)windows;
157     return RET_OK;
158 }
159 
GetNext(const AccessibilityElementInfo & elementInfo,const FocusMoveDirection direction,AccessibilityElementInfo & nextElementInfo)160 RetError AccessibleAbilityClientImpl::GetNext(const AccessibilityElementInfo &elementInfo,
161     const FocusMoveDirection direction, AccessibilityElementInfo &nextElementInfo)
162 {
163     HILOG_DEBUG();
164     (void)elementInfo;
165     (void)direction;
166     (void)nextElementInfo;
167     return RET_OK;
168 }
169 
GetChildElementInfo(const int32_t index,const AccessibilityElementInfo & parent,AccessibilityElementInfo & child)170 RetError AccessibleAbilityClientImpl::GetChildElementInfo(const int32_t index, const AccessibilityElementInfo &parent,
171     AccessibilityElementInfo &child)
172 {
173     HILOG_DEBUG();
174     (void)index;
175     (void)parent;
176     (void)child;
177     return RET_OK;
178 }
179 
GetChildren(const AccessibilityElementInfo & parent,std::vector<AccessibilityElementInfo> & children)180 RetError AccessibleAbilityClientImpl::GetChildren(const AccessibilityElementInfo &parent,
181     std::vector<AccessibilityElementInfo> &children)
182 {
183     HILOG_DEBUG();
184     (void)parent;
185     (void)children;
186     return RET_OK;
187 }
188 
GetByContent(const AccessibilityElementInfo & elementInfo,const std::string & text,std::vector<AccessibilityElementInfo> & elementInfos)189 RetError AccessibleAbilityClientImpl::GetByContent(const AccessibilityElementInfo &elementInfo,
190     const std::string &text, std::vector<AccessibilityElementInfo> &elementInfos)
191 {
192     HILOG_DEBUG();
193     (void)elementInfo;
194     (void)text;
195     (void)elementInfos;
196     return RET_OK;
197 }
198 
GetSource(const AccessibilityEventInfo & eventInfo,AccessibilityElementInfo & elementInfo)199 RetError AccessibleAbilityClientImpl::GetSource(const AccessibilityEventInfo &eventInfo,
200     AccessibilityElementInfo &elementInfo)
201 {
202     HILOG_DEBUG();
203     (void)eventInfo;
204     (void)elementInfo;
205     return RET_OK;
206 }
207 
GetParentElementInfo(const AccessibilityElementInfo & child,AccessibilityElementInfo & parent)208 RetError AccessibleAbilityClientImpl::GetParentElementInfo(const AccessibilityElementInfo &child,
209     AccessibilityElementInfo &parent)
210 {
211     HILOG_DEBUG();
212     (void)child;
213     (void)parent;
214     return RET_OK;
215 }
216 
GetByElementId(const int64_t elementId,const int32_t windowId,AccessibilityElementInfo & targetElementInfo)217 RetError AccessibleAbilityClientImpl::GetByElementId(const int64_t elementId, const int32_t windowId,
218     AccessibilityElementInfo &targetElementInfo)
219 {
220     HILOG_DEBUG();
221     (void)elementId;
222     (void)windowId;
223     (void)targetElementInfo;
224     return RET_OK;
225 }
226 
SearchElementInfoByInspectorKey(const std::string & inspectorKey,AccessibilityElementInfo & elementInfo)227 RetError AccessibleAbilityClientImpl::SearchElementInfoByInspectorKey(const std::string &inspectorKey,
228     AccessibilityElementInfo &elementInfo)
229 {
230     HILOG_DEBUG();
231     (void)inspectorKey;
232     (void)elementInfo;
233     return RET_OK;
234 }
235 
ExecuteAction(const AccessibilityElementInfo & elementInfo,const ActionType action,const std::map<std::string,std::string> & actionArguments)236 RetError AccessibleAbilityClientImpl::ExecuteAction(const AccessibilityElementInfo &elementInfo,
237     const ActionType action, const std::map<std::string, std::string> &actionArguments)
238 {
239     HILOG_DEBUG();
240     (void)elementInfo;
241     (void)action;
242     (void)actionArguments;
243     return RET_OK;
244 }
245 
EnableScreenCurtain(bool isEnable)246 RetError AccessibleAbilityClientImpl::EnableScreenCurtain(bool isEnable)
247 {
248     HILOG_DEBUG();
249     (void)isEnable;
250     return RET_OK;
251 }
252 
GetCursorPosition(const AccessibilityElementInfo & elementInfo,int32_t & cursorPosition)253 RetError AccessibleAbilityClientImpl::GetCursorPosition(const AccessibilityElementInfo &elementInfo,
254     int32_t &cursorPosition)
255 {
256     HILOG_DEBUG();
257     (void)elementInfo;
258     (void)cursorPosition;
259     return RET_OK;
260 }
261 
SetTargetBundleName(const std::vector<std::string> & targetBundleNames)262 RetError AccessibleAbilityClientImpl::SetTargetBundleName(const std::vector<std::string> &targetBundleNames)
263 {
264     HILOG_DEBUG();
265     (void)targetBundleNames;
266     return RET_OK;
267 }
268 
SetCacheMode(const int32_t cacheMode)269 RetError AccessibleAbilityClientImpl::SetCacheMode(const int32_t cacheMode)
270 {
271     HILOG_DEBUG();
272     AccessibilityAbilityUtHelper::GetInstance().SetCacheMode(cacheMode);
273     return RET_OK;
274 }
275 
Connect()276 RetError AccessibleAbilityClientImpl::Connect()
277 {
278     HILOG_DEBUG();
279     return RET_OK;
280 }
281 
Disconnect()282 RetError AccessibleAbilityClientImpl::Disconnect()
283 {
284     HILOG_DEBUG();
285     return RET_OK;
286 }
287 
SetConnectionState(bool state)288 void AccessibleAbilityClientImpl::SetConnectionState(bool state)
289 {
290     HILOG_DEBUG();
291 }
292 
GetRootBatch(std::vector<AccessibilityElementInfo> & elementInfos)293 RetError AccessibleAbilityClientImpl::GetRootBatch(std::vector<AccessibilityElementInfo>& elementInfos)
294 {
295     HILOG_DEBUG();
296     return RET_OK;
297 }
298 
GetRootByWindowBatch(const AccessibilityWindowInfo & windowInfo,std::vector<AccessibilityElementInfo> & elementInfos,bool isFilter)299 RetError AccessibleAbilityClientImpl::GetRootByWindowBatch(const AccessibilityWindowInfo &windowInfo,
300     std::vector<AccessibilityElementInfo>& elementInfos, bool isFilter)
301 {
302     HILOG_DEBUG();
303     return RET_OK;
304 }
305 
SearchElementInfoByAccessibilityId(const int32_t windowId,const int64_t elementId,const uint32_t mode,AccessibilityElementInfo & info,bool isFilter)306 RetError AccessibleAbilityClientImpl::SearchElementInfoByAccessibilityId(const int32_t windowId,
307     const int64_t elementId, const uint32_t mode, AccessibilityElementInfo &info, bool isFilter)
308 {
309     HILOG_DEBUG();
310     return RET_OK;
311 }
312 } // namespace Accessibility
313 } // namespace OHOS