diff --git a/services/aams/include/accessibility_window_connection.h b/services/aams/include/accessibility_window_connection.h index 29975321e..ce5a9b4f7 100644 --- a/services/aams/include/accessibility_window_connection.h +++ b/services/aams/include/accessibility_window_connection.h @@ -20,10 +20,7 @@ #include "hilog_wrapper.h" #include "ffrt.h" #include "safe_map.h" -#include - #include -#include namespace OHOS { namespace Accessibility { @@ -132,7 +129,7 @@ private: ffrt::mutex proxyMapMutex_; std::unordered_map, sptr>> proxyMap_; - std::unordered_set scbTokenMap_; + SafeMap scbTokenMap_; }; } // namespace Accessibility } // namespace OHOS diff --git a/services/aams/src/accessibility_window_connection.cpp b/services/aams/src/accessibility_window_connection.cpp index 0d43612b9..6b6953afa 100644 --- a/services/aams/src/accessibility_window_connection.cpp +++ b/services/aams/src/accessibility_window_connection.cpp @@ -95,7 +95,7 @@ RetError AccessibilityWindowConnection::SetTokenIdMap(const int32_t treeId, if (windowId_ != SCENE_BOARD_WINDOW_ID) { tokenIdMap_.EnsureInsert(treeId, tokenId); } else { - scbTokenMap_.insert(tokenId); + scbTokenMap_.EnsureInsert(tokenId, true); } return RET_OK; } @@ -108,7 +108,7 @@ uint32_t AccessibilityWindowConnection::GetTokenIdMap(const int32_t treeId) bool AccessibilityWindowConnection::CheckScbTokenIdMap(uint32_t tokenId) { - return scbTokenMap_.count(tokenId) != 0; + return scbTokenMap_.ReadVal(tokenId); } void AccessibilityWindowConnection::GetAllTreeId(std::vector &treeIds) diff --git a/services/aams/test/mock/src/mock_accessibility_window_connection.cpp b/services/aams/test/mock/src/mock_accessibility_window_connection.cpp index 6c483bdd8..f8cb20acf 100644 --- a/services/aams/test/mock/src/mock_accessibility_window_connection.cpp +++ b/services/aams/test/mock/src/mock_accessibility_window_connection.cpp @@ -182,9 +182,9 @@ void AccessibilityWindowConnection::ResetBrokerProxy() bool AccessibilityWindowConnection::CheckScbTokenIdMap(uint32_t tokenId) { - return scbTokenMap_.count(tokenId) != 0; + return scbTokenMap_.ReadVal(tokenId); } - + sptr AccessibilityWindowConnection::GetProxy(uint64_t displayId) { std::lock_guard lock(proxyMutex_); @@ -197,6 +197,7 @@ sptr AccessibilityWindowConnection::GetProxy(uint return proxyMap_[displayId].first; } } + sptr AccessibilityWindowConnection::GetRawProxy(uint64_t displayId) { std::lock_guard lock(proxyMutex_);