From 6f218dd22a9a8108b5c18b8d9d30e53944e18743 Mon Sep 17 00:00:00 2001 From: zhanghang Date: Thu, 26 Jun 2025 09:39:37 +0800 Subject: [PATCH] fix: Delete UpdatePageId Func Signed-off-by: zhanghang --- .../ohos/osal/js_accessibility_manager.cpp | 30 +++++++------------ 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/adapter/ohos/osal/js_accessibility_manager.cpp b/adapter/ohos/osal/js_accessibility_manager.cpp index 89d8aa1b6c1..a0e922aeb98 100644 --- a/adapter/ohos/osal/js_accessibility_manager.cpp +++ b/adapter/ohos/osal/js_accessibility_manager.cpp @@ -3373,7 +3373,7 @@ namespace { { for (const auto& [node, status] : nodeVec) { auto frameNode = node.Upgrade(); - if (frameNode && ((frameNode->GetPageId() == pageId || pageId == -1) && !status)) { + if (frameNode && (frameNode->GetPageId() == pageId && !status)) { return false; } } @@ -3400,20 +3400,6 @@ namespace { } } - void UpdatePageId(const RefPtr& context, int32_t& pageId) - { - if (pageId != -1) { - return; - } - auto ngPipeline = AceType::DynamicCast(context); - CHECK_NULL_VOID(ngPipeline); - auto stageManager = ngPipeline->GetStageManager(); - CHECK_NULL_VOID(stageManager); - auto node = stageManager->GetLastPage(); - CHECK_NULL_VOID(node); - pageId = node->GetPageId(); - } - void ClearDefaultFocusList(std::list>& nodeList) { for (auto it = nodeList.begin(); it != nodeList.end();) { @@ -3478,13 +3464,11 @@ bool JsAccessibilityManager::IsSendAccessibilityEvent(const AccessibilityEvent& } pageController_.Update(); if (!pageController_.CheckEmpty(infoOfNode.nodeInstanceId)) { - UpdatePageId(pipelineContext, infoOfNode.pageId); auto cached = CachePageEventByController( accessibilityEvent, infoOfNode.componentType, infoOfNode.pageId, infoOfNode.nodeInstanceId); return !cached; } } - UpdatePageId(pipelineContext, infoOfNode.pageId); return IsSendAccessibilityEventForHost(accessibilityEvent, infoOfNode.componentType, infoOfNode.pageId); } @@ -5957,7 +5941,6 @@ void JsAccessibilityManager::SearchDefaultFocusByWindowId(const int32_t windowId auto pipeline = GetPipelineByWindowId(windowId); if (pipeline) { - UpdatePageId(pipeline, pageId); auto ngPipeline = AceType::DynamicCast(pipeline); if (ngPipeline) { SearchDefaultFocusByWindowIdNG(pageId, infos, pipeline); @@ -5969,7 +5952,7 @@ void JsAccessibilityManager::SearchDefaultFocusByWindowId(const int32_t windowId auto defaultFocusNodeList = GetDefaultFocusList(); for (const auto& defaultFocusNode : defaultFocusNodeList) { auto frameNode = defaultFocusNode.Upgrade(); - if (frameNode && (frameNode->GetPageId() == pageId || pageId == -1)) { + if (frameNode && frameNode->GetPageId() == pageId) { auto node = GetAccessibilityNodeFromPage(frameNode->GetAccessibilityId()); CHECK_NULL_CONTINUE(node); AccessibilityElementInfo nodeInfo; @@ -5988,9 +5971,16 @@ void JsAccessibilityManager::SearchDefaultFocusByWindowIdNG(const int32_t pageId auto ngPipeline = AceType::DynamicCast(context); CHECK_NULL_VOID(ngPipeline); + int32_t truePageId = pageId; + if (truePageId != -1) { + uint32_t unsignedPageId = static_cast(pageId); + unsignedPageId = unsignedPageId & ((1 << SUB_TREE_OFFSET_IN_PAGE_ID) - 1); + truePageId = static_cast(unsignedPageId); + } + for (const auto& defaultFocusNode : defaultFocusList_) { auto node = defaultFocusNode.Upgrade(); - if (node && (node->GetPageId() == pageId || pageId == -1)) { + if (node && node->GetPageId() == truePageId) { AccessibilityElementInfo nodeInfo; CommonProperty commonProperty; -- Gitee