From b1fa634e6a46e273c83069a029f8c348660c3651 Mon Sep 17 00:00:00 2001 From: Przemyslaw Brudny Date: Wed, 9 Feb 2022 18:04:48 +0100 Subject: [PATCH] [MOS-111] Battery status bar update restrictions Battery status bar update restrictions. --- module-apps/apps-common/ApplicationCommon.cpp | 31 ++++++++++++++++--- module-apps/apps-common/ApplicationCommon.hpp | 3 ++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/module-apps/apps-common/ApplicationCommon.cpp b/module-apps/apps-common/ApplicationCommon.cpp index 719d8a3774351de1585085159b0e15b84b94bfa7..b884b499912c13d7d958bd95b530b76914d3b083 100644 --- a/module-apps/apps-common/ApplicationCommon.cpp +++ b/module-apps/apps-common/ApplicationCommon.cpp @@ -395,7 +395,8 @@ namespace app sys::MessagePointer ApplicationCommon::handleSignalStrengthUpdate(sys::Message *msgl) { - if ((state == State::ACTIVE_FORGROUND) && getCurrentWindow()->updateSignalStrength()) { + if ((state == State::ACTIVE_FORGROUND) && !isOnPhoneLockWindow() && + getCurrentWindow()->updateSignalStrength()) { refreshWindow(gui::RefreshModes::GUI_REFRESH_FAST); } return sys::msgHandled(); @@ -403,7 +404,8 @@ namespace app sys::MessagePointer ApplicationCommon::handleNetworkAccessTechnologyUpdate(sys::Message *msgl) { - if ((state == State::ACTIVE_FORGROUND) && getCurrentWindow()->updateNetworkAccessTechnology()) { + if ((state == State::ACTIVE_FORGROUND) && !isOnPhoneLockWindow() && + getCurrentWindow()->updateNetworkAccessTechnology()) { refreshWindow(gui::RefreshModes::GUI_REFRESH_FAST); } return sys::msgHandled(); @@ -446,7 +448,7 @@ namespace app sys::MessagePointer ApplicationCommon::handleBatteryStatusChange() { - if ((state == State::ACTIVE_FORGROUND) && getCurrentWindow()->updateBatteryStatus()) { + if ((state == State::ACTIVE_FORGROUND) && !isOnPhoneLockWindow() && getCurrentWindow()->updateBatteryStatus()) { refreshWindow(gui::RefreshModes::GUI_REFRESH_FAST); } return sys::msgHandled(); @@ -455,6 +457,11 @@ namespace app sys::MessagePointer ApplicationCommon::handleMinuteUpdated(sys::Message *msgl) { if (state == State::ACTIVE_FORGROUND && getCurrentWindow()->updateTime()) { + + if (isOnPhoneLockWindow()) { + updateStatusBarOnPhoneLockWindow(); + } + refreshWindow(gui::RefreshModes::GUI_REFRESH_FAST); } return sys::msgHandled(); @@ -619,7 +626,7 @@ namespace app sys::MessagePointer ApplicationCommon::handleUpdateWindow(sys::Message *msgl) { - auto msg = static_cast(msgl); + auto msg = static_cast(msgl); auto haveBuilder = windowsFactory.isRegistered(msg->getWindowName()); auto window = isCurrentWindow(msg->getWindowName()); if (haveBuilder && window) { @@ -723,7 +730,7 @@ namespace app sys::MessagePointer ApplicationCommon::handleSimStateUpdateMessage(sys::Message *msgl) { - if (getCurrentWindow()->updateSim()) { + if (!isOnPhoneLockWindow() && getCurrentWindow()->updateSim()) { refreshWindow(gui::RefreshModes::GUI_REFRESH_FAST); } return sys::msgHandled(); @@ -994,6 +1001,20 @@ namespace app { return simLockSubject; } + + bool ApplicationCommon::isOnPhoneLockWindow() + { + return getCurrentWindow()->getName() == gui::popup::window::phone_lock_window; + } + + void ApplicationCommon::updateStatusBarOnPhoneLockWindow() + { + getCurrentWindow()->updateSignalStrength(); + getCurrentWindow()->updateNetworkAccessTechnology(); + getCurrentWindow()->updateBatteryStatus(); + getCurrentWindow()->updateSim(); + } + void ApplicationCommon::registerOnPopCallback(std::function callback) { windowsStack().registerOnPopCallback(std::move(callback)); diff --git a/module-apps/apps-common/ApplicationCommon.hpp b/module-apps/apps-common/ApplicationCommon.hpp index e28e729b15146f2926dd956e6f4452fd016714b4..f0ab8f064be07a0e31d9a42b35684104b9693439 100644 --- a/module-apps/apps-common/ApplicationCommon.hpp +++ b/module-apps/apps-common/ApplicationCommon.hpp @@ -437,6 +437,9 @@ namespace app locks::LockPolicyHandler lockPolicyHandler; locks::SimLockSubject simLockSubject; + bool isOnPhoneLockWindow(); + void updateStatusBarOnPhoneLockWindow(); + public: [[nodiscard]] auto getPhoneLockSubject() noexcept -> locks::PhoneLockSubject &; [[nodiscard]] auto getSimLockSubject() noexcept -> locks::SimLockSubject &;