summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/misc.c6
-rw-r--r--firmware/export/powermgmt.h1
-rw-r--r--firmware/powermgmt.c5
3 files changed, 12 insertions, 0 deletions
diff --git a/apps/misc.c b/apps/misc.c
index e10fceb9af..21a45037ad 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -306,6 +306,12 @@ static bool clean_shutdown(enum shutdown_type sd_type,
306{ 306{
307 long msg_id = -1; 307 long msg_id = -1;
308 308
309 if (!global_settings.show_shutdown_message && get_sleep_timer_active())
310 {
311 talk_force_shutup();
312 talk_disable(true);
313 }
314
309 status_save(); 315 status_save();
310 316
311#if CONFIG_CHARGING && !defined(HAVE_POWEROFF_WHILE_CHARGING) 317#if CONFIG_CHARGING && !defined(HAVE_POWEROFF_WHILE_CHARGING)
diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h
index 6ae5ccfd13..41594abe4d 100644
--- a/firmware/export/powermgmt.h
+++ b/firmware/export/powermgmt.h
@@ -164,6 +164,7 @@ int get_battery_capacity(void); /* get local battery capacity value */
164void set_battery_type(int type); /* set local battery type */ 164void set_battery_type(int type); /* set local battery type */
165 165
166void set_sleeptimer_duration(int minutes); 166void set_sleeptimer_duration(int minutes);
167bool get_sleep_timer_active(void);
167int get_sleep_timer(void); 168int get_sleep_timer(void);
168void set_keypress_restarts_sleep_timer(bool enable); 169void set_keypress_restarts_sleep_timer(bool enable);
169void handle_auto_poweroff(void); 170void handle_auto_poweroff(void);
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index c33ad387ae..abcd32f814 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -961,6 +961,11 @@ static void set_sleep_timer(int seconds)
961 sleeptimer_duration = seconds; 961 sleeptimer_duration = seconds;
962} 962}
963 963
964bool get_sleep_timer_active(void)
965{
966 return sleeptimer_active;
967}
968
964int get_sleep_timer(void) 969int get_sleep_timer(void)
965{ 970{
966 if (sleeptimer_active && (sleeptimer_endtick >= current_tick)) 971 if (sleeptimer_active && (sleeptimer_endtick >= current_tick))