From: Woochan Lee Date: Fri, 24 Feb 2023 09:38:02 +0000 (+0900) Subject: libaurum: core quality improvement X-Git-Tag: accepted/tizen/unified/20230310.062704~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7887edf0de40f8a9fc2c29a9fd62d823b0d57fe6;p=platform%2Fcore%2Fuifw%2Faurum.git libaurum: core quality improvement Remove unnecessary flag, remove multiple loop statements. Change-Id: I6a0a97ceaa8f592f0252ed6c778db30c97a30162 --- diff --git a/libaurum/src/UiDevice.cc b/libaurum/src/UiDevice.cc index c266122..0d710c8 100644 --- a/libaurum/src/UiDevice.cc +++ b/libaurum/src/UiDevice.cc @@ -30,6 +30,7 @@ #include #include #include +#include using namespace Aurum; using namespace AurumInternal; @@ -188,11 +189,11 @@ out: std::vector> UiDevice::getWindowRoot() const { - bool dup; LOGI("Request window info"); getTizenWindowInfo(); std::vector> ret{}; + std::unordered_map> pidToAppNode{}; auto apps = AccessibleWatcher::getInstance()->getApplications(); for (auto app : apps) @@ -200,6 +201,7 @@ std::vector> UiDevice::getWindowRoot() const app->getAccessibleNode()->updateName(); app->getAccessibleNode()->updatePid(); LOGI("App(%s) Pid(%d)", app->getPackageName().c_str(), app->getAccessibleNode()->getPid()); + pidToAppNode[app->getAccessibleNode()->getPid()] = app; } for (auto tWin : mTizenWindows) @@ -207,35 +209,18 @@ std::vector> UiDevice::getWindowRoot() const LOGI("Visible win (%d) (%d %d %d %d) (%s)", tWin->getPid(), tWin->getWindowGeometry().mTopLeft.x, tWin->getWindowGeometry().mTopLeft.y, tWin->getWindowGeometry().width(), tWin->getWindowGeometry().height(), tWin->getName().c_str()); - for (auto app : apps) - { - dup = false; - if (app->getAccessibleNode()->getPid() == tWin->getPid()) - { - for (const auto &retWin : ret) - { - retWin->updatePid(); - LOGI("Pid Dup check in vector (%d) target (%d)", retWin->getPid(), tWin->getPid()); - if (retWin->getPid() == tWin->getPid()) - { - dup = true; - break; - } - } - - if (!dup) - { - LOGI("Actvie App : (%s) (%d)", tWin->getName().c_str(), tWin->getPid()); - auto wins = app->getWindows(); - std::transform(wins.begin(), wins.end(), std::back_inserter(ret), - [&](std::shared_ptr window){ - LOGI("Target window add pkg: (%s), name (%s)", window->getAccessibleNode()->getPkg().c_str(), window->getTitle().c_str()); - return window->getAccessibleNode(); - } - ); - } - } - } + if (pidToAppNode.count(tWin->getPid() == 0)) continue; + + LOGI("Actvie App : (%s) (%d)", tWin->getName().c_str(), tWin->getPid()); + auto wins = pidToAppNode[tWin->getPid()]->getWindows(); + std::transform(wins.begin(), wins.end(), std::back_inserter(ret), + [&](std::shared_ptr window) { + LOGI("Target window add pkg: (%s), name (%s)", window->getAccessibleNode()->getPkg().c_str(), window->getTitle().c_str()); + return window->getAccessibleNode(); + } + ); + + pidToAppNode.erase(tWin->getPid()); } return ret;