From db477bdeda6b8f4cab2dfb571cd8d0076241807c Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Tue, 21 Jan 2025 18:38:01 -0500 Subject: [PATCH] settings.c make lasttime static statusbar can use reset_runtime() and we can ensure topruntime gets updated before clear Change-Id: I3712649fc394c42f911ec88404c831422872c25b --- apps/gui/statusbar.c | 4 ++-- apps/settings.c | 3 ++- apps/settings.h | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c index 283a9c5293..5f68ca1751 100644 --- a/apps/gui/statusbar.c +++ b/apps/gui/statusbar.c @@ -192,7 +192,7 @@ static struct screen * sb_fill_bar_info(struct gui_statusbar * bar) /* zero battery run time if charging */ if (charge_state > DISCHARGING) - lasttime = current_tick; + reset_runtime(); /* animate battery if charging */ if ((charge_state == DISCHARGING) || (charge_state == TRICKLE)) @@ -202,7 +202,7 @@ static struct screen * sb_fill_bar_info(struct gui_statusbar * bar) else { #else /* CONFIG_CHARGING < CHARGING_MONITOR */ - lasttime = current_tick; + reset_runtime(); { #endif /* CONFIG_CHARGING < CHARGING_MONITOR */ /* animate in (max.) 4 steps, starting near the current charge level */ diff --git a/apps/settings.c b/apps/settings.c index 5a0aa206ee..6638efefba 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -80,7 +80,7 @@ struct user_settings global_settings; struct system_status global_status; static uint32_t user_settings_crc; static long next_status_update_tick; -long lasttime = 0; +static long lasttime = 0; /* flush system_status more often for spinning harddisks as we may not be able * to spin up at shutdown in order to save so keep the gap minimal */ @@ -636,6 +636,7 @@ static void flush_config_block_callback(void) void reset_runtime(void) { + update_runtime(); /* in case this is > topruntimetime */ lasttime = current_tick; global_status.runtime = 0; } diff --git a/apps/settings.h b/apps/settings.h index b27aa3b427..ed609612f3 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -914,8 +914,6 @@ struct user_settings bool playback_log; /* ROCKBOX_DIR/playback.log for tracks played */ }; -/** global variables **/ -extern long lasttime; /* global settings */ extern struct user_settings global_settings; /* global status */