From: Hosang Kim Date: Wed, 21 Jun 2023 11:26:13 +0000 (+0900) Subject: AtspiAccessibleWatcher: fix setXMLsync X-Git-Tag: accepted/tizen/unified/20230623.160703^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d60abd9bac63b808a9377bee70bf6feff662f1b;p=platform%2Fcore%2Fuifw%2Faurum.git AtspiAccessibleWatcher: fix setXMLsync setXMLsync is not wokring when turning on XMLsync. Change-Id: I1e2315b8ec9e9cbe5325bc6e724481bcef38d7d5 --- diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc index 8f294df..229bb90 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc @@ -201,6 +201,8 @@ void AtspiAccessibleWatcher::appendApp(AtspiAccessibleWatcher *instance, AtspiAc if (!package.empty()) { if (instance->mXMLDocMap.count(package)) { + mAppCount--; + mAppXMLLoadedCount--; instance->mXMLDocMap.erase(package); } @@ -217,6 +219,8 @@ void AtspiAccessibleWatcher::removeApp(AtspiAccessibleWatcher *instance, AtspiAc if (mXMLSync) { if (instance->mXMLDocMap.count(std::string(pkg))) { + mAppCount--; + mAppXMLLoadedCount--; instance->mXMLDocMap.erase(std::string(pkg)); } } @@ -455,12 +459,11 @@ bool AtspiAccessibleWatcher::executeAndWaitForEvents(const Runnable *cmd, const std::map> AtspiAccessibleWatcher::getXMLDocMap(void) { - LOGI("XMLsync: %s", (mXMLSync ? "TRUE" : "FALSE")); if(mXMLSync) { std::unique_lock lk(mXMLMutex); - //LOGI("mAppCount: %d, mAppXMLLoadedCount: %d", mAppCount, mAppXMLLoadedCount); + LOGI("mAppCount: %d, mAppXMLLoadedCount: %d", mAppCount, mAppXMLLoadedCount); mXMLConditionVar.wait(lk, [&] {return mAppCount <= mAppXMLLoadedCount;}); lk.unlock(); @@ -471,12 +474,11 @@ std::map> AtspiAccessibleWatcher::getXMLD std::shared_ptr AtspiAccessibleWatcher::getXMLDoc(std::string pkgName) { - LOGI("XMLsync: %s", (mXMLSync ? "TRUE" : "FALSE")); if(mXMLSync) { std::unique_lock lk(mXMLMutex); - //LOGI("mAppCount: %d, mAppXMLLoadedCount: %d", mAppCount, mAppXMLLoadedCount); + LOGI("mAppCount: %d, mAppXMLLoadedCount: %d", mAppCount, mAppXMLLoadedCount); mXMLConditionVar.wait(lk, [&] {return mAppCount <= mAppXMLLoadedCount;}); lk.unlock(); @@ -565,5 +567,16 @@ void AtspiAccessibleWatcher::setXMLsync(bool sync) if(!sync) { mXMLDocMap.clear(); + mAppCount = 0; + mAppXMLLoadedCount = 0; + } else { + auto apps = getApplications(); + for (auto app : apps) + { + app->getAccessibleNode()->updateName(); + mAppCount++; + mXMLDocMap.insert(std::pair>(app->getPackageName(), + std::make_shared(app->getAccessibleNode(), &mAppXMLLoadedCount, &mXMLMutex, &mXMLConditionVar))); + } } -} \ No newline at end of file +}