summaryrefslogtreecommitdiff
path: root/apps/root_menu.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-03-07 01:16:25 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-03-07 01:16:25 +0000
commit9e554a87fc79825b32d2de050734a52d5753049b (patch)
tree58c21c5d6dcfc52cf3b6bc6fb7b31e571e700326 /apps/root_menu.c
parentf609c5bd3ef8b378394b920a001441ba01db04cf (diff)
downloadrockbox-9e554a87fc79825b32d2de050734a52d5753049b.zip
rockbox-9e554a87fc79825b32d2de050734a52d5753049b.tar.gz
rockbox-9e554a87fc79825b32d2de050734a52d5753049b.tar.bz2
rockbox-9e554a87fc79825b32d2de050734a52d5753049b.tar.xz
Fix alarm wake up. If the target has fm or recording (or both) an option is in the System menu to choose what to start when the alarm wakes up,
otherwise the WPS will start git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12654 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/root_menu.c')
-rw-r--r--apps/root_menu.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/apps/root_menu.c b/apps/root_menu.c
index b797d47..3b9f6ea 100644
--- a/apps/root_menu.c
+++ b/apps/root_menu.c
@@ -152,13 +152,6 @@ static int wpsscrn(void* param)
DEBUGF("Resume index %X offset %X\n",
global_status.resume_index,
global_status.resume_offset);
-
-#ifdef HAVE_RTC_ALARM
- if ( rtc_check_alarm_started(true) ) {
- rtc_enable_alarm(false);
- }
-#endif
-
if (playlist_resume() != -1)
{
playlist_start(global_status.resume_index,
@@ -329,6 +322,22 @@ void root_menu(void)
ret_val = (int)global_status.last_screen;
else ret_val = global_settings.start_in_screen - 2;
+#ifdef HAVE_RTC_ALARM
+ if ( rtc_check_alarm_started(true) )
+ {
+ rtc_enable_alarm(false);
+ ret_val = GO_TO_WPS;
+#if CONFIG_TUNER
+ if (global_settings.alarm_wake_up_screen == ALARM_START_FM)
+ ret_val = GO_TO_FM;
+#endif
+#ifdef HAVE_RECORDING
+ if (global_settings.alarm_wake_up_screen == ALARM_START_REC)
+ ret_val = GO_TO_RECSCREEN;
+#endif
+ }
+#endif /* HAVE_RTC_ALARM */
+
while (true)
{
switch (ret_val)