From 90bc8a7ebaa790e27204590e510b7176c3bd32c3 Mon Sep 17 00:00:00 2001 From: tomaszkrosnowski Date: Thu, 18 Nov 2021 13:15:15 +0100 Subject: [PATCH] [EGD-7899] Keypad light settings fix Fixed keypad light settings - removed always on option which had serious impact on battery life time. --- image/assets/lang/English.json | 3 - .../display-keypad/KeypadLightWindow.cpp | 57 ++++++------------- .../display-keypad/KeypadLightWindow.hpp | 5 -- .../bsp/keypad_backlight/keypad_backlight.hpp | 4 +- .../services/appmgr/ApplicationManager.cpp | 3 - .../backlight-handler/BacklightHandler.cpp | 8 --- 6 files changed, 18 insertions(+), 62 deletions(-) diff --git a/image/assets/lang/English.json b/image/assets/lang/English.json index c605d6a98122f1b02017db21d788086ad665b7a2..4decee6a64afacde9284305f8fb162428deb9390 100644 --- a/image/assets/lang/English.json +++ b/image/assets/lang/English.json @@ -335,9 +335,6 @@ "app_settings_display_font_size": "Font size", "app_settings_display_locked_screen": "Locked screen", "app_settings_display_keypad_light": "Keypad light", - "app_settings_display_keypad_light_on": "Always on", - "app_settings_display_keypad_light_active": "On when active", - "app_settings_display_keypad_light_off": "Off", "app_settings_display_input_language": "Input language", "app_settings_display_wallpaper": "Wallpaper", "app_settings_display_wallpaper_logo": "Mudita logo", diff --git a/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.cpp b/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.cpp index 8be6d2246daaa7121c3dcaf7674e81b95cb4fede..f08cf4fb8d79a648c2b6f6a777de2cd860a8f1cf 100644 --- a/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.cpp +++ b/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.cpp @@ -17,70 +17,47 @@ namespace gui const auto keypadBacklightState = keypadLightSettings->getKeypadBacklightState(); switch (keypadBacklightState) { - case bsp::keypad_backlight::State::on: - isAlwaysOnSwitchOn = true; - selectedOptionIndex = 0; - break; case bsp::keypad_backlight::State::activeMode: isActiveSwitchOn = true; - selectedOptionIndex = 1; break; case bsp::keypad_backlight::State::off: - isOffSwitchOn = true; - selectedOptionIndex = 2; + isActiveSwitchOn = false; break; } setTitle(utils::translate("app_settings_display_keypad_light")); } - void KeypadLightWindow::onBeforeShow(ShowMode mode, SwitchData *data) - { - refreshOptionsList(selectedOptionIndex); - } - void KeypadLightWindow::switchHandler(bool &toggleSwitch) { - isActiveSwitchOn = false; - isOffSwitchOn = false; - isAlwaysOnSwitchOn = false; toggleSwitch = !toggleSwitch; - refreshOptionsList(); - if (isAlwaysOnSwitchOn) { - keypadLightSettings->setKeypadBacklightState(bsp::keypad_backlight::State::on); - } - else if (isActiveSwitchOn) { + if (isActiveSwitchOn) { keypadLightSettings->setKeypadBacklightState(bsp::keypad_backlight::State::activeMode); } else { keypadLightSettings->setKeypadBacklightState(bsp::keypad_backlight::State::off); } + refreshOptionsList(); } auto KeypadLightWindow::buildOptionsList() -> std::list { std::list optionsList; - auto addCheckOption = [&](UTF8 text, bool &Switch) { - optionsList.emplace_back(std::make_unique( - text, - [&](gui::Item &item) mutable { - switchHandler(Switch); - return true; - }, - [=](gui::Item &item) { - if (item.focus) { - this->setNavBarText(utils::translate(style::strings::common::Switch), nav_bar::Side::Center); - } - return true; - }, - this, - Switch ? gui::option::SettingRightItem::Checked : gui::option::SettingRightItem::Disabled)); - }; - - addCheckOption(utils::translate("app_settings_display_keypad_light_on"), isAlwaysOnSwitchOn); - addCheckOption(utils::translate("app_settings_display_keypad_light_active"), isActiveSwitchOn); - addCheckOption(utils::translate("app_settings_display_keypad_light_off"), isOffSwitchOn); + optionsList.emplace_back(std::make_unique( + utils::translate("app_settings_display_keypad_light"), + [&](gui::Item &item) mutable { + switchHandler(isActiveSwitchOn); + return true; + }, + [=](gui::Item &item) { + if (item.focus) { + this->setNavBarText(utils::translate(style::strings::common::Switch), nav_bar::Side::Center); + } + return true; + }, + this, + isActiveSwitchOn ? gui::option::SettingRightItem::On : gui::option::SettingRightItem::Off)); return optionsList; } diff --git a/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.hpp b/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.hpp index a8ef5d306f5b208c2e8dbbdc55a22e2ee6136b86..0b1eb5550672b0c10d14483e629ddbf37a7ca97d 100644 --- a/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.hpp +++ b/module-apps/application-settings/windows/display-keypad/KeypadLightWindow.hpp @@ -14,15 +14,10 @@ namespace gui KeypadLightWindow(app::ApplicationCommon *app, app::settingsInterface::KeypdBacklightSettings *settings); private: - void onBeforeShow(ShowMode mode, SwitchData *data) override; - app::settingsInterface::KeypdBacklightSettings *keypadLightSettings; void switchHandler(bool &onOffSwitch); std::list