summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2023-04-08 17:13:07 -0400
committerWilliam Wilgus <wilgus.william@gmail.com>2023-04-08 17:13:07 -0400
commit78c92c5ca85d275e43bacf0d9948ce9b94605f6e (patch)
tree4b167c51c68aed322588429e5d625fb4a3247d67
parent3554306617245cf019f024fb0ba80ec2476ec5f9 (diff)
downloadrockbox-78c92c5ca85d275e43bacf0d9948ce9b94605f6e.tar.gz
rockbox-78c92c5ca85d275e43bacf0d9948ce9b94605f6e.zip
[Feature] Supress voice during sleep timer shutdown
if show_shutdown_message == false and sleep timer is active talk will be disabled on shutdown Change-Id: Ia660e753700f3e283691f41797ef7a77a2d9a8d9
-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))