diff options
author | William Wilgus <wilgus.william@gmail.com> | 2023-04-08 17:13:07 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2023-04-08 17:13:07 -0400 |
commit | 78c92c5ca85d275e43bacf0d9948ce9b94605f6e (patch) | |
tree | 4b167c51c68aed322588429e5d625fb4a3247d67 | |
parent | 3554306617245cf019f024fb0ba80ec2476ec5f9 (diff) | |
download | rockbox-78c92c5ca8.tar.gz rockbox-78c92c5ca8.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.c | 6 | ||||
-rw-r--r-- | firmware/export/powermgmt.h | 1 | ||||
-rw-r--r-- | firmware/powermgmt.c | 5 |
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, { long msg_id = -1; + if (!global_settings.show_shutdown_message && get_sleep_timer_active()) + { + talk_force_shutup(); + talk_disable(true); + } + status_save(); #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 */ void set_battery_type(int type); /* set local battery type */ void set_sleeptimer_duration(int minutes); +bool get_sleep_timer_active(void); int get_sleep_timer(void); void set_keypress_restarts_sleep_timer(bool enable); void 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) sleeptimer_duration = seconds; } +bool get_sleep_timer_active(void) +{ + return sleeptimer_active; +} + int get_sleep_timer(void) { if (sleeptimer_active && (sleeptimer_endtick >= current_tick)) |