mirror of
https://github.com/openharmony/accessibility.git
synced 2026-08-24 12:34:00 -04:00
CO-authored-by: OpenCode+GLM5
Signed-off-by: Sean_Su <suleheng@huawei.com>
This commit is contained in:
@@ -61,8 +61,11 @@ namespace Accessibility {
|
||||
|
||||
SEARCH_ELEMENTINFO_BY_ACCESSIBILITY_ID = 400,
|
||||
SEARCH_ELEMENTINFOS_BY_TEXT,
|
||||
SEARCH_ELEMENTINFOS_BY_TEXT_WITH_PERMISSION,
|
||||
FIND_FOCUSED_ELEMENTINFO,
|
||||
FIND_FOCUSED_ELEMENTINFO_WITH_PERMISSION,
|
||||
FOCUS_MOVE_SEARCH,
|
||||
FOCUS_MOVE_SEARCH_WITH_PERMISSION,
|
||||
PERFORM_ACTION,
|
||||
PERFORM_ACTION_WITH_PERMISSION,
|
||||
SET_CURTAIN_SCREEN,
|
||||
|
||||
@@ -68,6 +68,8 @@ private:
|
||||
*/
|
||||
ErrCode HandleSearchElementInfosByText(MessageParcel &data, MessageParcel &reply);
|
||||
|
||||
ErrCode HandleSearchElementInfosByTextWithPermission(MessageParcel &data, MessageParcel &reply);
|
||||
|
||||
/**
|
||||
* @brief Handle the IPC request for the function:HandleFindFocusedElementInfo.
|
||||
* @param data The data of process communication
|
||||
@@ -76,6 +78,8 @@ private:
|
||||
*/
|
||||
ErrCode HandleFindFocusedElementInfo(MessageParcel &data, MessageParcel &reply);
|
||||
|
||||
ErrCode HandleFindFocusedElementInfoWithPermission(MessageParcel &data, MessageParcel &reply);
|
||||
|
||||
/**
|
||||
* @brief Handle the IPC request for the function:HandleFocusMoveSearch.
|
||||
* @param data The data of process communication
|
||||
@@ -84,6 +88,8 @@ private:
|
||||
*/
|
||||
ErrCode HandleFocusMoveSearch(MessageParcel &data, MessageParcel &reply);
|
||||
|
||||
ErrCode HandleFocusMoveSearchWithPermission(MessageParcel &data, MessageParcel &reply);
|
||||
|
||||
/**
|
||||
* @brief Handle the IPC request for the function:HandleExecuteAction.
|
||||
* @param data The data of process communication
|
||||
|
||||
@@ -231,15 +231,18 @@ RetError AccessibleAbilityChannelProxy::SearchElementInfosByText(const int32_t a
|
||||
HILOG_ERROR("callback write error");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
if (!data.WriteBool(systemApi)) {
|
||||
HILOG_ERROR("systemApi write error: %{public}d, ", systemApi);
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::SEARCH_ELEMENTINFOS_BY_TEXT,
|
||||
data, reply, option)) {
|
||||
HILOG_ERROR("fail to find elementInfo by text");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
if (systemApi) {
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::SEARCH_ELEMENTINFOS_BY_TEXT_WITH_PERMISSION,
|
||||
data, reply, option)) {
|
||||
HILOG_ERROR("fail to find elementInfo by text with permission");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
} else {
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::SEARCH_ELEMENTINFOS_BY_TEXT,
|
||||
data, reply, option)) {
|
||||
HILOG_ERROR("fail to find elementInfo by text");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
}
|
||||
return static_cast<RetError>(reply.ReadInt32());
|
||||
}
|
||||
@@ -281,14 +284,18 @@ RetError AccessibleAbilityChannelProxy::FindFocusedElementInfo(const int32_t acc
|
||||
HILOG_ERROR("callback write error");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
if (!data.WriteBool(systemApi)) {
|
||||
HILOG_ERROR("systemApi write error: %{public}d, ", systemApi);
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::FIND_FOCUSED_ELEMENTINFO, data, reply, option)) {
|
||||
HILOG_ERROR("fail to gain focus");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
if (systemApi) {
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::FIND_FOCUSED_ELEMENTINFO_WITH_PERMISSION,
|
||||
data, reply, option)) {
|
||||
HILOG_ERROR("fail to gain focus with permission");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
} else {
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::FIND_FOCUSED_ELEMENTINFO,
|
||||
data, reply, option)) {
|
||||
HILOG_ERROR("fail to gain focus");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
}
|
||||
return static_cast<RetError>(reply.ReadInt32());
|
||||
}
|
||||
@@ -330,14 +337,18 @@ RetError AccessibleAbilityChannelProxy::FocusMoveSearch(const int32_t accessibil
|
||||
HILOG_ERROR("callback write error");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
if (!data.WriteBool(systemApi)) {
|
||||
HILOG_ERROR("systemApi write error: %{public}d, ", systemApi);
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::FOCUS_MOVE_SEARCH, data, reply, option)) {
|
||||
HILOG_ERROR("fail to search focus");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
if (systemApi) {
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::FOCUS_MOVE_SEARCH_WITH_PERMISSION,
|
||||
data, reply, option)) {
|
||||
HILOG_ERROR("fail to search focus with permission");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
} else {
|
||||
if (!SendTransactCmd(AccessibilityInterfaceCode::FOCUS_MOVE_SEARCH,
|
||||
data, reply, option)) {
|
||||
HILOG_ERROR("fail to search focus");
|
||||
return RET_ERR_IPC_FAILED;
|
||||
}
|
||||
}
|
||||
return static_cast<RetError>(reply.ReadInt32());
|
||||
}
|
||||
|
||||
@@ -42,8 +42,13 @@
|
||||
SWITCH_CASE( \
|
||||
AccessibilityInterfaceCode::SEARCH_ELEMENTINFO_BY_ACCESSIBILITY_ID, HandleSearchElementInfoByAccessibilityId) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::SEARCH_ELEMENTINFOS_BY_TEXT, HandleSearchElementInfosByText) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::SEARCH_ELEMENTINFOS_BY_TEXT_WITH_PERMISSION, \
|
||||
HandleSearchElementInfosByTextWithPermission) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::FIND_FOCUSED_ELEMENTINFO, HandleFindFocusedElementInfo) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::FIND_FOCUSED_ELEMENTINFO_WITH_PERMISSION, \
|
||||
HandleFindFocusedElementInfoWithPermission) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::FOCUS_MOVE_SEARCH, HandleFocusMoveSearch) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::FOCUS_MOVE_SEARCH_WITH_PERMISSION, HandleFocusMoveSearchWithPermission) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::PERFORM_ACTION, HandleExecuteAction) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::SET_CURTAIN_SCREEN, HandleEnableScreenCurtain) \
|
||||
SWITCH_CASE(AccessibilityInterfaceCode::HOLD_RUNNING_LOCK, HandleHoldRunningLock) \
|
||||
@@ -201,6 +206,11 @@ ErrCode AccessibleAbilityChannelStub::HandleSearchElementInfosByText(MessageParc
|
||||
MessageParcel &reply)
|
||||
{
|
||||
HILOG_DEBUG();
|
||||
if (!Permission::IsSystemApp()) {
|
||||
HILOG_WARN("Not system app");
|
||||
reply.WriteInt32(RET_ERR_NOT_SYSTEM_APP);
|
||||
return RET_ERR_NOT_SYSTEM_APP;
|
||||
}
|
||||
|
||||
int32_t accessibilityWindowId = data.ReadInt32();
|
||||
int64_t elementId = data.ReadInt64();
|
||||
@@ -218,8 +228,7 @@ ErrCode AccessibleAbilityChannelStub::HandleSearchElementInfosByText(MessageParc
|
||||
HILOG_ERROR("callback is nullptr.");
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
bool systemApi = data.ReadBool();
|
||||
RetError result = SearchElementInfosByText(accessibilityWindowId, elementId, text, requestId, callback, systemApi);
|
||||
RetError result = SearchElementInfosByText(accessibilityWindowId, elementId, text, requestId, callback, false);
|
||||
HILOG_DEBUG("SearchElementInfosByText ret = %{public}d", result);
|
||||
reply.WriteInt32(result);
|
||||
|
||||
@@ -229,6 +238,11 @@ ErrCode AccessibleAbilityChannelStub::HandleSearchElementInfosByText(MessageParc
|
||||
ErrCode AccessibleAbilityChannelStub::HandleFindFocusedElementInfo(MessageParcel &data, MessageParcel &reply)
|
||||
{
|
||||
HILOG_DEBUG();
|
||||
if (!Permission::IsSystemApp()) {
|
||||
HILOG_WARN("Not system app");
|
||||
reply.WriteInt32(RET_ERR_NOT_SYSTEM_APP);
|
||||
return RET_ERR_NOT_SYSTEM_APP;
|
||||
}
|
||||
|
||||
int32_t accessibilityWindowId = data.ReadInt32();
|
||||
int64_t elementId = data.ReadInt64();
|
||||
@@ -246,10 +260,9 @@ ErrCode AccessibleAbilityChannelStub::HandleFindFocusedElementInfo(MessageParcel
|
||||
HILOG_ERROR("callback is nullptr.");
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
bool systemApi = data.ReadBool();
|
||||
|
||||
RetError result =
|
||||
FindFocusedElementInfo(accessibilityWindowId, elementId, focusType, requestId, callback, systemApi);
|
||||
FindFocusedElementInfo(accessibilityWindowId, elementId, focusType, requestId, callback, false);
|
||||
HILOG_DEBUG("FindFocusedElementInfo ret = %{public}d", result);
|
||||
reply.WriteInt32(result);
|
||||
return NO_ERROR;
|
||||
@@ -258,6 +271,11 @@ ErrCode AccessibleAbilityChannelStub::HandleFindFocusedElementInfo(MessageParcel
|
||||
ErrCode AccessibleAbilityChannelStub::HandleFocusMoveSearch(MessageParcel &data, MessageParcel &reply)
|
||||
{
|
||||
HILOG_DEBUG();
|
||||
if (!Permission::IsSystemApp()) {
|
||||
HILOG_WARN("Not system app");
|
||||
reply.WriteInt32(RET_ERR_NOT_SYSTEM_APP);
|
||||
return RET_ERR_NOT_SYSTEM_APP;
|
||||
}
|
||||
|
||||
int32_t accessibilityWindowId = data.ReadInt32();
|
||||
int64_t elementId = data.ReadInt64();
|
||||
@@ -275,15 +293,47 @@ ErrCode AccessibleAbilityChannelStub::HandleFocusMoveSearch(MessageParcel &data,
|
||||
HILOG_ERROR("callback is nullptr.");
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
bool systemApi = data.ReadBool();
|
||||
|
||||
RetError result = FocusMoveSearch(accessibilityWindowId, elementId, direction, requestId, callback, systemApi);
|
||||
RetError result = FocusMoveSearch(accessibilityWindowId, elementId, direction, requestId, callback, false);
|
||||
HILOG_DEBUG("FocusMoveSearch ret = %{public}d", result);
|
||||
reply.WriteInt32(result);
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
ErrCode AccessibleAbilityChannelStub::HandleSearchElementInfosByTextWithPermission(MessageParcel &data,
|
||||
MessageParcel &reply)
|
||||
{
|
||||
HILOG_DEBUG();
|
||||
if (!Permission::CheckPermission(OHOS_PERMISSION_ACCESSIBILITY_EXTENSION_ABILITY)) {
|
||||
reply.WriteInt32(RET_ERR_NO_PERMISSION);
|
||||
return RET_ERR_NO_PERMISSION;
|
||||
}
|
||||
return HandleSearchElementInfosByText(data, reply);
|
||||
}
|
||||
|
||||
ErrCode AccessibleAbilityChannelStub::HandleFindFocusedElementInfoWithPermission(MessageParcel &data,
|
||||
MessageParcel &reply)
|
||||
{
|
||||
HILOG_DEBUG();
|
||||
if (!Permission::CheckPermission(OHOS_PERMISSION_ACCESSIBILITY_EXTENSION_ABILITY)) {
|
||||
reply.WriteInt32(RET_ERR_NO_PERMISSION);
|
||||
return RET_ERR_NO_PERMISSION;
|
||||
}
|
||||
return HandleFindFocusedElementInfo(data, reply);
|
||||
}
|
||||
|
||||
ErrCode AccessibleAbilityChannelStub::HandleFocusMoveSearchWithPermission(MessageParcel &data,
|
||||
MessageParcel &reply)
|
||||
{
|
||||
HILOG_DEBUG();
|
||||
if (!Permission::CheckPermission(OHOS_PERMISSION_ACCESSIBILITY_EXTENSION_ABILITY)) {
|
||||
reply.WriteInt32(RET_ERR_NO_PERMISSION);
|
||||
return RET_ERR_NO_PERMISSION;
|
||||
}
|
||||
return HandleFocusMoveSearch(data, reply);
|
||||
}
|
||||
|
||||
ErrCode AccessibleAbilityChannelStub::HandleExecuteAction(MessageParcel &data, MessageParcel &reply)
|
||||
{
|
||||
HILOG_DEBUG();
|
||||
|
||||
+70
@@ -57,6 +57,40 @@ bool FuzzHandleFindFocusedElementInfo(const uint8_t *data, size_t size)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool FuzzHandleFindFocusedElementInfoWithPermission(const uint8_t *data, size_t size)
|
||||
{
|
||||
if (data == nullptr || size < DATA_MIN_SIZE) {
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t position = 0;
|
||||
int32_t accessibilityWindowId = 0;
|
||||
int64_t elementId = 0;
|
||||
int32_t focusType = 0;
|
||||
int32_t requestId = 0;
|
||||
MessageParcel mdata;
|
||||
MessageParcel reply;
|
||||
MessageOption option(MessageOption::TF_SYNC);
|
||||
|
||||
position += GetObject<int32_t>(accessibilityWindowId, &data[position], size - position);
|
||||
position += GetObject<int64_t>(elementId, &data[position], size - position);
|
||||
position += GetObject<int32_t>(focusType, &data[position], size - position);
|
||||
GetObject<int32_t>(requestId, &data[position], size - position);
|
||||
std::shared_ptr<AbilityChannelImplFuzzTest> chanImp = std::make_shared<AbilityChannelImplFuzzTest>();
|
||||
if (chanImp == nullptr) {
|
||||
return false;
|
||||
}
|
||||
mdata.WriteInterfaceToken(AccessibleAbilityChannelStub::GetDescriptor());
|
||||
mdata.WriteInt32(accessibilityWindowId);
|
||||
mdata.WriteInt64(elementId);
|
||||
mdata.WriteInt32(focusType);
|
||||
mdata.WriteInt32(requestId);
|
||||
chanImp->OnRemoteRequest(
|
||||
static_cast<uint32_t>(AccessibilityInterfaceCode::FIND_FOCUSED_ELEMENTINFO_WITH_PERMISSION),
|
||||
mdata, reply, option);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool FuzzHandleFocusMoveSearch(const uint8_t *data, size_t size)
|
||||
{
|
||||
if (data == nullptr || size < DATA_MIN_SIZE) {
|
||||
@@ -90,10 +124,46 @@ bool FuzzHandleFocusMoveSearch(const uint8_t *data, size_t size)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool FuzzHandleFocusMoveSearchWithPermission(const uint8_t *data, size_t size)
|
||||
{
|
||||
if (data == nullptr || size < DATA_MIN_SIZE) {
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t position = 0;
|
||||
int32_t accessibilityWindowId = 0;
|
||||
int64_t elementId = 0;
|
||||
int32_t direction = 0;
|
||||
int32_t requestId = 0;
|
||||
MessageParcel mdata;
|
||||
MessageParcel reply;
|
||||
MessageOption option(MessageOption::TF_SYNC);
|
||||
|
||||
position += GetObject<int32_t>(accessibilityWindowId, &data[position], size - position);
|
||||
position += GetObject<int64_t>(elementId, &data[position], size - position);
|
||||
position += GetObject<int32_t>(direction, &data[position], size - position);
|
||||
GetObject<int32_t>(requestId, &data[position], size - position);
|
||||
std::shared_ptr<AbilityChannelImplFuzzTest> chanImp = std::make_shared<AbilityChannelImplFuzzTest>();
|
||||
if (chanImp == nullptr) {
|
||||
return false;
|
||||
}
|
||||
mdata.WriteInterfaceToken(AccessibleAbilityChannelStub::GetDescriptor());
|
||||
mdata.WriteInt32(accessibilityWindowId);
|
||||
mdata.WriteInt64(elementId);
|
||||
mdata.WriteInt32(direction);
|
||||
mdata.WriteInt32(requestId);
|
||||
chanImp->OnRemoteRequest(
|
||||
static_cast<uint32_t>(AccessibilityInterfaceCode::FOCUS_MOVE_SEARCH_WITH_PERMISSION),
|
||||
mdata, reply, option);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DoSomethingInterestingWithMyAPI(const uint8_t* data, size_t size)
|
||||
{
|
||||
FuzzHandleFindFocusedElementInfo(data, size);
|
||||
FuzzHandleFindFocusedElementInfoWithPermission(data, size);
|
||||
FuzzHandleFocusMoveSearch(data, size);
|
||||
FuzzHandleFocusMoveSearchWithPermission(data, size);
|
||||
return true;
|
||||
}
|
||||
} // namespace Accessibility
|
||||
|
||||
+39
@@ -90,6 +90,44 @@ bool FuzzHandleSearchElementInfosByText(const uint8_t *data, size_t size)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool FuzzHandleSearchElementInfosByTextWithPermission(const uint8_t *data, size_t size)
|
||||
{
|
||||
if (data == nullptr || size < DATA_MIN_SIZE) {
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t position = 0;
|
||||
int32_t accessibilityWindowId = 0;
|
||||
int64_t elementId = 0;
|
||||
int32_t requestId = 0;
|
||||
MessageParcel mdata;
|
||||
MessageParcel reply;
|
||||
MessageOption option(MessageOption::TF_SYNC);
|
||||
|
||||
position += GetObject<int32_t>(accessibilityWindowId, &data[position], size - position);
|
||||
position += GetObject<int64_t>(elementId, &data[position], size - position);
|
||||
char name[LEN + 1];
|
||||
name[LEN] = END_CHAR;
|
||||
for (size_t i = 0; i < LEN; i++) {
|
||||
position += GetObject<char>(name[i], data + position, size - position);
|
||||
}
|
||||
std::string text(name);
|
||||
GetObject<int32_t>(requestId, &data[position], size - position);
|
||||
std::shared_ptr<AbilityChannelImplFuzzTest> chanImp = std::make_shared<AbilityChannelImplFuzzTest>();
|
||||
if (chanImp == nullptr) {
|
||||
return false;
|
||||
}
|
||||
mdata.WriteInterfaceToken(AccessibleAbilityChannelStub::GetDescriptor());
|
||||
mdata.WriteInt32(accessibilityWindowId);
|
||||
mdata.WriteInt64(elementId);
|
||||
mdata.WriteString(text);
|
||||
mdata.WriteInt32(requestId);
|
||||
chanImp->OnRemoteRequest(
|
||||
static_cast<uint32_t>(AccessibilityInterfaceCode::SEARCH_ELEMENTINFOS_BY_TEXT_WITH_PERMISSION),
|
||||
mdata, reply, option);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool FuzzHandleFindFocusedElementInfo(const uint8_t *data, size_t size)
|
||||
{
|
||||
if (data == nullptr || size < DATA_MIN_SIZE) {
|
||||
@@ -160,6 +198,7 @@ bool DoSomethingInterestingWithMyAPI(const uint8_t* data, size_t size)
|
||||
{
|
||||
FuzzHandleSearchElementInfoByAccessibilityId(data, size);
|
||||
FuzzHandleSearchElementInfosByText(data, size);
|
||||
FuzzHandleSearchElementInfosByTextWithPermission(data, size);
|
||||
FuzzHandleFindFocusedElementInfo(data, size);
|
||||
FuzzHandleFocusMoveSearch(data, size);
|
||||
return true;
|
||||
|
||||
@@ -206,10 +206,6 @@ RetError AccessibleAbilityChannel::SearchElementInfosByText(const int32_t access
|
||||
{
|
||||
HILOG_DEBUG("SearchElementInfosByText :channel SearchElementInfo elementId: %{public}" PRId64 " winId: %{public}d",
|
||||
elementId, accessibilityWindowId);
|
||||
if (systemApi && !Singleton<AccessibleAbilityManagerService>::GetInstance().CheckPermission(
|
||||
OHOS_PERMISSION_ACCESSIBILITY_EXTENSION_ABILITY)) {
|
||||
return RET_ERR_NO_PERMISSION;
|
||||
}
|
||||
Singleton<AccessibleAbilityManagerService>::GetInstance().PostDelayUnloadTask();
|
||||
if (eventHandler_ == nullptr) {
|
||||
HILOG_ERROR("eventHandler_ is nullptr.");
|
||||
@@ -263,10 +259,6 @@ RetError AccessibleAbilityChannel::FindFocusedElementInfo(const int32_t accessib
|
||||
{
|
||||
HILOG_DEBUG("channel FindFocusedElementInfo elementId: %{public}" PRId64 " winId: %{public}d",
|
||||
elementId, accessibilityWindowId);
|
||||
if (systemApi && !Singleton<AccessibleAbilityManagerService>::GetInstance().CheckPermission(
|
||||
OHOS_PERMISSION_ACCESSIBILITY_EXTENSION_ABILITY)) {
|
||||
return RET_ERR_NO_PERMISSION;
|
||||
}
|
||||
Singleton<AccessibleAbilityManagerService>::GetInstance().PostDelayUnloadTask();
|
||||
if (eventHandler_ == nullptr) {
|
||||
HILOG_ERROR("eventHandler_ is nullptr.");
|
||||
@@ -323,10 +315,6 @@ RetError AccessibleAbilityChannel::FocusMoveSearch(const int32_t accessibilityWi
|
||||
{
|
||||
HILOG_DEBUG("FocusMoveSearch :channel FocusMoveSearch elementId: %{public}" PRId64 " winId: %{public}d",
|
||||
elementId, accessibilityWindowId);
|
||||
if (systemApi && !Singleton<AccessibleAbilityManagerService>::GetInstance().CheckPermission(
|
||||
OHOS_PERMISSION_ACCESSIBILITY_EXTENSION_ABILITY)) {
|
||||
return RET_ERR_NO_PERMISSION;
|
||||
}
|
||||
Singleton<AccessibleAbilityManagerService>::GetInstance().PostDelayUnloadTask();
|
||||
if (eventHandler_ == nullptr) {
|
||||
HILOG_ERROR("eventHandler_ is nullptr.");
|
||||
|
||||
Reference in New Issue
Block a user