From ffdfd05a586b7a02cc2e37e6dc62f20c85bfd584 Mon Sep 17 00:00:00 2001 From: qianchuang <923384386@qq.com> Date: Thu, 6 Nov 2025 21:40:58 +0800 Subject: [PATCH] 3 Signed-off-by: qianchuang <923384386@qq.com> --- common/interface/include/iaccessible_ability_channel.h | 1 - .../accessibilityelementoperatorstub_fuzzer.cpp | 2 +- .../abilit_channel_impl_fuzz_test.h | 4 +--- frameworks/aafwk/src/accessible_ability_client_impl.cpp | 7 +------ .../asacfwk/include/accessibility_element_operator_impl.h | 3 ++- interfaces/innerkits/common/include/accessibility_def.h | 5 +++-- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/common/interface/include/iaccessible_ability_channel.h b/common/interface/include/iaccessible_ability_channel.h index 380f47371..674fda47f 100644 --- a/common/interface/include/iaccessible_ability_channel.h +++ b/common/interface/include/iaccessible_ability_channel.h @@ -229,7 +229,6 @@ public: virtual void FocusMoveSearchWithCondition(const AccessibilityElementInfo &info, const AccessibilityFocusMoveParam& param, const int32_t requestId, const sptr &callback, const int32_t windowId) = 0; - }; } // namespace Accessibility } // namespace OHOS diff --git a/common/interface/test/fuzztest/accessibilityelementoperatorstub_fuzzer/accessibilityelementoperatorstub_fuzzer.cpp b/common/interface/test/fuzztest/accessibilityelementoperatorstub_fuzzer/accessibilityelementoperatorstub_fuzzer.cpp index ab9ce372a..2eb8ee9b7 100644 --- a/common/interface/test/fuzztest/accessibilityelementoperatorstub_fuzzer/accessibilityelementoperatorstub_fuzzer.cpp +++ b/common/interface/test/fuzztest/accessibilityelementoperatorstub_fuzzer/accessibilityelementoperatorstub_fuzzer.cpp @@ -56,7 +56,7 @@ public: const int32_t childWindowId) override {} void SetBelongTreeId(const int32_t treeId) override {} void SetParentWindowId(const int32_t parentWindowId) override {} - void FocusMoveSearchWithCondition(const int64_t elementId, const AccessibilityFocusMoveParam ¶m, + void FocusMoveSearchWithCondition(const AccessibilityElementInfo &info, const AccessibilityFocusMoveParam ¶m, const int32_t requestId, const sptr &callback) override {} }; diff --git a/common/interface/test/fuzztest/accessibleabilitychannelstub/abilit_channel_impl_fuzz_test.h b/common/interface/test/fuzztest/accessibleabilitychannelstub/abilit_channel_impl_fuzz_test.h index 8bf5cc9c6..f19cfee38 100644 --- a/common/interface/test/fuzztest/accessibleabilitychannelstub/abilit_channel_impl_fuzz_test.h +++ b/common/interface/test/fuzztest/accessibleabilitychannelstub/abilit_channel_impl_fuzz_test.h @@ -125,11 +125,9 @@ public: { return RET_OK; } - - void FocusMoveSearchWithCondition(const int64_t elementId, + void FocusMoveSearchWithCondition(const AccessibilityElementInfo &info, const AccessibilityFocusMoveParam& param, const int32_t requestId, const sptr &callback, const int32_t windowId) override {} - }; template diff --git a/frameworks/aafwk/src/accessible_ability_client_impl.cpp b/frameworks/aafwk/src/accessible_ability_client_impl.cpp index 5bb01770f..e2701f1e4 100644 --- a/frameworks/aafwk/src/accessible_ability_client_impl.cpp +++ b/frameworks/aafwk/src/accessible_ability_client_impl.cpp @@ -1865,19 +1865,15 @@ RetError AccessibleAbilityClientImpl::FocusMoveSearchWithCondition(const Accessi if (result.resultType == FocusMoveResultType::SEARCH_FAIL_LOST_NODE) { return static_cast(result.resultType); } - param.detectParent = true; std::vector tmpInfos; FocusMoveResult tmpResult; - if (param.direction == FocusMoveDirection::GET_FORWARD_SCROLL_ANCESTOR || - param.direction == FocusMoveDirection::GET_BACKWARD_SCROLL_ANCESTOR || + param.direction == FocusMoveDirection::GET_BACKWARD_SCROLL_ANCESTOR || param.direction == FocusMoveDirection::GET_SCROLLABLE_ANCESTOR) { - AccessibilityElementInfo tmpInfo; tmpInfo.SetBelongTreeId(treeId); tmpInfo.SetWindowId(info.GetParentWindowId()); - ret = channelClient_->FocusMoveSearchWithCondition(tmpInfo, param, tmpInfos, tmpResult); if (ret != RET_OK) { return ret; @@ -1895,7 +1891,6 @@ RetError AccessibleAbilityClientImpl::FocusMoveSearchWithCondition(const Accessi if ((infos.empty()) || (result.resultType != FocusMoveResultType::SEARCH_SUCCESS)) { return static_cast(result.resultType); } - param.direction = FocusMoveDirection::DETECT_FOCUSABLE_IN_FOCUS_MOVE; ret = channelClient_->FocusMoveSearchWithCondition(infos[0], param, tmpInfos, tmpResult); if (ret != RET_OK) { diff --git a/frameworks/asacfwk/include/accessibility_element_operator_impl.h b/frameworks/asacfwk/include/accessibility_element_operator_impl.h index c6fceae0b..dcbab96a4 100644 --- a/frameworks/asacfwk/include/accessibility_element_operator_impl.h +++ b/frameworks/asacfwk/include/accessibility_element_operator_impl.h @@ -261,7 +261,8 @@ public: static sptr GetCallbackByRequestId(const int32_t requestId); static void EraseCallback(const int32_t requestId); - virtual void FocusMoveSearchWithCondition(const AccessibilityElementInfo &info, const AccessibilityFocusMoveParam ¶m, + virtual void FocusMoveSearchWithCondition(const AccessibilityElementInfo &info, + const AccessibilityFocusMoveParam ¶m, const int32_t requestId, const sptr &callback) override; void SetFocusMoveSearchWithConditionResult( const std::list &infos, const FocusMoveResult& result, const int32_t requestId); diff --git a/interfaces/innerkits/common/include/accessibility_def.h b/interfaces/innerkits/common/include/accessibility_def.h index ea893dbf9..02299da67 100644 --- a/interfaces/innerkits/common/include/accessibility_def.h +++ b/interfaces/innerkits/common/include/accessibility_def.h @@ -429,7 +429,8 @@ struct AccessibilityFocusMoveParam { int64_t parentId; bool detectParent = false; - void SetParentId(int64_t id) { + void SetParentId(int64_t id) + { parentId = id; } }; @@ -455,7 +456,7 @@ enum FocusMoveResultType : int32_t { SEARCH_NEXT = 0x00000010, DOUBLE_CHECK_CHILD_PROPERTY = 0x00000020, DOUBLE_CHECK_CHILD_PROPERTY_AND_GET_LAST = 0x00000040, - SERACH_FAIL_IN_SCROLL = 0x00000080, + SEARCH_FAIL_IN_SCROLL = 0x00000080, }; struct FocusMoveResult {