diff --git a/src/displayapp/screens/settings/SettingShakeThreshold.cpp b/src/displayapp/screens/settings/SettingShakeThreshold.cpp index c42bb9ae..06e233c4 100644 --- a/src/displayapp/screens/settings/SettingShakeThreshold.cpp +++ b/src/displayapp/screens/settings/SettingShakeThreshold.cpp @@ -63,13 +63,20 @@ SettingShakeThreshold::SettingShakeThreshold(DisplayApp* app, vDecay = xTaskGetTickCount(); calibrating = false; - + if(!settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake)){ + EnableForCal = true; + settingsController.setWakeUpMode(Pinetime::Controllers::Settings::WakeUpMode::Shake,true); + } refreshTask = lv_task_create(RefreshTaskCallback, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, this); } SettingShakeThreshold::~SettingShakeThreshold() { settingsController.SetShakeThreshold(lv_arc_get_value(positionArc)); + if(EnableForCal){ + settingsController.setWakeUpMode(Pinetime::Controllers::Settings::WakeUpMode::Shake,false); + EnableForCal = false; + } lv_task_del(refreshTask); settingsController.SaveSettings(); lv_obj_clean(lv_scr_act()); diff --git a/src/displayapp/screens/settings/SettingShakeThreshold.h b/src/displayapp/screens/settings/SettingShakeThreshold.h index 6d4ccf66..b9ddd8b4 100644 --- a/src/displayapp/screens/settings/SettingShakeThreshold.h +++ b/src/displayapp/screens/settings/SettingShakeThreshold.h @@ -26,6 +26,7 @@ namespace Pinetime { Controllers::MotionController& motionController; System::SystemTask& systemTask; uint8_t calibrating; + bool EnableForCal; uint32_t vDecay,vCalTime; lv_obj_t *positionArc, *animArc,*calButton, *calLabel; lv_task_t* refreshTask;