summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/misc.c10
-rw-r--r--firmware/drivers/button.c4
-rw-r--r--firmware/powermgmt.c4
3 files changed, 17 insertions, 1 deletions
diff --git a/apps/misc.c b/apps/misc.c
index 3dfc2892ca..07b4c947a2 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -264,8 +264,12 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter)
scrobbler_poweroff();
#if CONFIG_CHARGING && !defined(HAVE_POWEROFF_WHILE_CHARGING)
+#if CONFIG_CHARGING >= CHARGING_MONITOR
+ if(!charging_state())
+#else
if(!charger_inserted())
#endif
+#endif
{
bool batt_safe = battery_level_safe();
int audio_stat = audio_status();
@@ -406,7 +410,11 @@ bool list_stop_handler(void)
if (TIME_BEFORE(current_tick, last_off + HZ/2))
{
- if (charger_inserted())
+#if CONFIG_CHARGING >= CHARGING_MONITOR
+ if (charging_state())
+#else
+ if (charger_inserted())
+#endif
{
charging_splash();
ret = true; /* screen is dirty, caller needs to refresh */
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index f7523d776c..100957b77a 100644
--- a/firmware/drivers/button.c
+++ b/firmware/drivers/button.c
@@ -205,8 +205,12 @@ static void button_tick(void)
#endif
) &&
#if CONFIG_CHARGING && !defined(HAVE_POWEROFF_WHILE_CHARGING)
+#if CONFIG_CHARGING >= CHARGING_MONITOR
+ !charging_state() &&
+#else
!charger_inserted() &&
#endif
+#endif
repeat_count > POWEROFF_COUNT)
{
/* Tell the main thread that it's time to
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index f1dd83ef52..bf5734c264 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -358,8 +358,12 @@ static void handle_auto_poweroff(void)
if (usb_inserted()
#if CONFIG_CHARGING && !defined(HAVE_POWEROFF_WHILE_CHARGING)
+#if CONFIG_CHARGING >= CHARGING_MONITOR
+ || charging_state()
+#else
|| charger_input_state != NO_CHARGER
#endif
+#endif
) {
DEBUGF("Sleep timer timeout. Stopping...\n");
set_sleep_timer(0);