From 608c26590083d5014dc0af7c0f9e3f491657e118 Mon Sep 17 00:00:00 2001 From: saratoga Date: Sat, 27 Feb 2010 22:47:49 +0000 Subject: [PATCH] Fix System/Running Time to reset the running time whenever a charger or USB cable is inserted, not just when the cable is inserted in the running time screen. Should now make the running time actually be the amount of time rockbox has run since the battery was last charged, which is as far as I can tell the original idea behind the runtime menu. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24954 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/usb_screen.c | 4 ++++ apps/misc.c | 3 +++ apps/screens.c | 12 ++---------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c index f74747fd5..527ae9fd1 100644 --- a/apps/gui/usb_screen.c +++ b/apps/gui/usb_screen.c @@ -91,6 +91,10 @@ static int handle_usb_events(void) case SYS_USB_DISCONNECTED: usb_acknowledge(SYS_USB_DISCONNECTED_ACK); return 1; + case SYS_CHARGER_DISCONNECTED: + /*reset rockbox battery runtime*/ + global_status.runtime = 0; + break; case SYS_TIMEOUT: break; } diff --git a/apps/misc.c b/apps/misc.c index 8c60e3255..554d29e63 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -590,6 +590,7 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame system_restore(); } return SYS_USB_CONNECTED; + case SYS_POWEROFF: if (!clean_shutdown(callback, parameter)) return SYS_POWEROFF; @@ -601,6 +602,8 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame case SYS_CHARGER_DISCONNECTED: car_adapter_mode_processing(false); + /*reset rockbox battery runtime*/ + global_status.runtime = 0; return SYS_CHARGER_DISCONNECTED; case SYS_CAR_ADAPTER_RESUME: diff --git a/apps/screens.c b/apps/screens.c index 92b174b55..65ab1094d 100644 --- a/apps/screens.c +++ b/apps/screens.c @@ -825,16 +825,8 @@ bool view_runtime(void) gui_synclist_speak_item(&lists); while(1) { -#if CONFIG_CHARGING - if (charger_inserted()) - { - global_status.runtime = 0; - } - else -#endif - { - global_status.runtime += ((current_tick - lasttime) / HZ); - } + global_status.runtime += ((current_tick - lasttime) / HZ); + lasttime = current_tick; gui_synclist_draw(&lists); list_do_action(CONTEXT_STD, HZ, -- 2.11.4.GIT