summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/settings
diff options
context:
space:
mode:
authorMichele Bini <michele.bini@gmail.com>2022-04-12 03:11:16 (GMT)
committerMichele Bini <michele.bini@gmail.com>2022-04-12 03:11:16 (GMT)
commit502dfad3d3dd062b37722ea65ec42908139b2e17 (patch)
tree334dbd66e0e074a5d8f47423702d3e0cd2fa1731 /src/displayapp/screens/settings
parentadc82f138237b17797f695aa6e272188ccb3fb15 (diff)
Fixed screen brightness, no sleep or wake up
Diffstat (limited to 'src/displayapp/screens/settings')
-rw-r--r--src/displayapp/screens/settings/QuickSettings.cpp8
-rw-r--r--src/displayapp/screens/settings/QuickSettings.h3
-rw-r--r--src/displayapp/screens/settings/SettingWakeUp.cpp103
-rw-r--r--src/displayapp/screens/settings/SettingWakeUp.h32
-rw-r--r--src/displayapp/screens/settings/Settings.cpp2
5 files changed, 2 insertions, 146 deletions
diff --git a/src/displayapp/screens/settings/QuickSettings.cpp b/src/displayapp/screens/settings/QuickSettings.cpp
index 47f4ca5..9919aec 100644
--- a/src/displayapp/screens/settings/QuickSettings.cpp
+++ b/src/displayapp/screens/settings/QuickSettings.cpp
@@ -20,13 +20,11 @@ namespace {
QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app,
Pinetime::Controllers::Battery& batteryController,
Controllers::DateTime& dateTimeController,
- Controllers::BrightnessController& brightness,
Controllers::MotorController& motorController,
Pinetime::Controllers::Settings& settingsController)
: Screen(app),
batteryController {batteryController},
dateTimeController {dateTimeController},
- brightness {brightness},
motorController {motorController},
settingsController {settingsController} {
@@ -61,7 +59,7 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app,
lv_obj_align(btn1, nullptr, LV_ALIGN_IN_TOP_LEFT, buttonXOffset, barHeight);
btn1_lvl = lv_label_create(btn1, nullptr);
- lv_label_set_text_static(btn1_lvl, brightness.GetIcon());
+ lv_label_set_text_static(btn1_lvl, "-");
btn2 = lv_btn_create(lv_scr_act(), nullptr);
btn2->user_data = this;
@@ -127,10 +125,6 @@ void QuickSettings::OnButtonEvent(lv_obj_t* object, lv_event_t event) {
if (object == btn2 && event == LV_EVENT_CLICKED) {
} else if (object == btn1 && event == LV_EVENT_CLICKED) {
- brightness.Step();
- lv_label_set_text_static(btn1_lvl, brightness.GetIcon());
- settingsController.SetBrightness(brightness.Level());
-
} else if (object == btn3 && event == LV_EVENT_VALUE_CHANGED) {
if (lv_obj_get_state(btn3, LV_BTN_PART_MAIN) & LV_STATE_CHECKED) {
diff --git a/src/displayapp/screens/settings/QuickSettings.h b/src/displayapp/screens/settings/QuickSettings.h
index 7913898..8b47648 100644
--- a/src/displayapp/screens/settings/QuickSettings.h
+++ b/src/displayapp/screens/settings/QuickSettings.h
@@ -4,7 +4,6 @@
#include "displayapp/screens/Screen.h"
#include <lvgl/lvgl.h>
#include "components/datetime/DateTimeController.h"
-#include "components/brightness/BrightnessController.h"
#include "components/motor/MotorController.h"
#include "components/settings/Settings.h"
#include "components/battery/BatteryController.h"
@@ -19,7 +18,6 @@ namespace Pinetime {
QuickSettings(DisplayApp* app,
Pinetime::Controllers::Battery& batteryController,
Controllers::DateTime& dateTimeController,
- Controllers::BrightnessController& brightness,
Controllers::MotorController& motorController,
Pinetime::Controllers::Settings& settingsController);
@@ -32,7 +30,6 @@ namespace Pinetime {
private:
Pinetime::Controllers::Battery& batteryController;
Controllers::DateTime& dateTimeController;
- Controllers::BrightnessController& brightness;
Controllers::MotorController& motorController;
Controllers::Settings& settingsController;
diff --git a/src/displayapp/screens/settings/SettingWakeUp.cpp b/src/displayapp/screens/settings/SettingWakeUp.cpp
deleted file mode 100644
index 8339d9a..0000000
--- a/src/displayapp/screens/settings/SettingWakeUp.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#include "displayapp/screens/settings/SettingWakeUp.h"
-#include <lvgl/lvgl.h>
-#include "displayapp/DisplayApp.h"
-#include "displayapp/screens/Screen.h"
-#include "displayapp/screens/Symbols.h"
-#include "components/settings/Settings.h"
-
-using namespace Pinetime::Applications::Screens;
-
-namespace {
- static void event_handler(lv_obj_t* obj, lv_event_t event) {
- SettingWakeUp* screen = static_cast<SettingWakeUp*>(obj->user_data);
- screen->UpdateSelected(obj, event);
- }
-}
-
-SettingWakeUp::SettingWakeUp(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
- : Screen(app), settingsController {settingsController} {
- ignoringEvents = false;
- lv_obj_t* container1 = lv_cont_create(lv_scr_act(), nullptr);
-
- lv_obj_set_style_local_bg_opa(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP);
- lv_obj_set_style_local_pad_all(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 10);
- lv_obj_set_style_local_pad_inner(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 5);
- lv_obj_set_style_local_border_width(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 0);
-
- lv_obj_set_pos(container1, 10, 60);
- lv_obj_set_width(container1, LV_HOR_RES - 20);
- lv_obj_set_height(container1, LV_VER_RES - 50);
- lv_cont_set_layout(container1, LV_LAYOUT_COLUMN_LEFT);
-
- lv_obj_t* title = lv_label_create(lv_scr_act(), nullptr);
- lv_label_set_text_static(title, "Wake Up");
- lv_label_set_align(title, LV_LABEL_ALIGN_CENTER);
- lv_obj_align(title, lv_scr_act(), LV_ALIGN_IN_TOP_MID, 15, 15);
-
- lv_obj_t* icon = lv_label_create(lv_scr_act(), nullptr);
- lv_obj_set_style_local_text_color(icon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_ORANGE);
- lv_label_set_text_static(icon, Symbols::eye);
- lv_label_set_align(icon, LV_LABEL_ALIGN_CENTER);
- lv_obj_align(icon, title, LV_ALIGN_OUT_LEFT_MID, -10, 0);
-
- optionsTotal = 0;
- cbOption[optionsTotal] = lv_checkbox_create(container1, nullptr);
- lv_checkbox_set_text_static(cbOption[optionsTotal], " Single Tap");
- cbOption[optionsTotal]->user_data = this;
- lv_obj_set_event_cb(cbOption[optionsTotal], event_handler);
- if (settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::SingleTap)) {
- lv_checkbox_set_checked(cbOption[optionsTotal], true);
- }
- optionsTotal++;
- cbOption[optionsTotal] = lv_checkbox_create(container1, nullptr);
- lv_checkbox_set_text_static(cbOption[optionsTotal], " Double Tap");
- cbOption[optionsTotal]->user_data = this;
- lv_obj_set_event_cb(cbOption[optionsTotal], event_handler);
- if (settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) {
- lv_checkbox_set_checked(cbOption[optionsTotal], true);
- }
- optionsTotal++;
- cbOption[optionsTotal] = lv_checkbox_create(container1, nullptr);
- lv_checkbox_set_text_static(cbOption[optionsTotal], " Raise Wrist");
- cbOption[optionsTotal]->user_data = this;
- lv_obj_set_event_cb(cbOption[optionsTotal], event_handler);
- if (settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist)) {
- lv_checkbox_set_checked(cbOption[optionsTotal], true);
- }
- optionsTotal++;
-}
-
-SettingWakeUp::~SettingWakeUp() {
- lv_obj_clean(lv_scr_act());
- settingsController.SaveSettings();
-}
-
-void SettingWakeUp::UpdateSelected(lv_obj_t* object, lv_event_t event) {
- using WakeUpMode = Pinetime::Controllers::Settings::WakeUpMode;
- if (event == LV_EVENT_VALUE_CHANGED && !ignoringEvents) {
- ignoringEvents = true;
-
- // Find the index of the checkbox that triggered the event
- int index = 0;
- for (; index < optionsTotal; ++index) {
- if (cbOption[index] == object) {
- break;
- }
- }
-
- // Toggle needed wakeup mode
- auto mode = static_cast<WakeUpMode>(index);
- auto currentState = settingsController.isWakeUpModeOn(mode);
- settingsController.setWakeUpMode(mode, !currentState);
-
- // Update checkbox according to current wakeup modes.
- // This is needed because we can have extra logic when setting or unsetting wakeup modes,
- // for example, when setting SingleTap, DoubleTap is unset and vice versa.
- auto modes = settingsController.getWakeUpModes();
- for (int i = 0; i < optionsTotal; ++i) {
- lv_checkbox_set_checked(cbOption[i], modes[i]);
- }
-
- ignoringEvents = false;
- }
-}
diff --git a/src/displayapp/screens/settings/SettingWakeUp.h b/src/displayapp/screens/settings/SettingWakeUp.h
deleted file mode 100644
index cd244ae..0000000
--- a/src/displayapp/screens/settings/SettingWakeUp.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#pragma once
-
-#include <cstdint>
-#include <lvgl/lvgl.h>
-#include "components/settings/Settings.h"
-#include "displayapp/screens/Screen.h"
-
-namespace Pinetime {
-
- namespace Applications {
- namespace Screens {
-
- class SettingWakeUp : public Screen {
- public:
- SettingWakeUp(DisplayApp* app, Pinetime::Controllers::Settings& settingsController);
- ~SettingWakeUp() override;
-
- void UpdateSelected(lv_obj_t* object, lv_event_t event);
-
- private:
- Controllers::Settings& settingsController;
- uint8_t optionsTotal;
- lv_obj_t* cbOption[5];
- // When UpdateSelected is called, it uses lv_checkbox_set_checked,
- // which can cause extra events to be fired,
- // which might trigger UpdateSelected again, causing a loop.
- // This variable is used as a mutex to prevent that.
- bool ignoringEvents;
- };
- }
- }
-}
diff --git a/src/displayapp/screens/settings/Settings.cpp b/src/displayapp/screens/settings/Settings.cpp
index 3d257ae..22666a8 100644
--- a/src/displayapp/screens/settings/Settings.cpp
+++ b/src/displayapp/screens/settings/Settings.cpp
@@ -35,8 +35,8 @@ bool Settings::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
std::unique_ptr<Screen> Settings::CreateScreen1() {
std::array<Screens::List::Applications, 4> applications {{
{Symbols::sun, "Display", Apps::SettingDisplay},
- {Symbols::eye, "Wake Up", Apps::SettingWakeUp},
{Symbols::clock, "Time format", Apps::SettingTimeFormat},
+ {Symbols::none, "None", Apps::None},
{Symbols::none, "None", Apps::None}
}};