Add modal to turn off screen when charging is detected (#2514)

This commit is contained in:
RocketGod 2025-02-08 13:09:40 -08:00 committed by GitHub
parent b66d8b1aa1
commit 02586101e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -351,12 +351,29 @@ void SystemStatusView::on_battery_data(const BatteryStateMessage* msg) {
batt_was_inited = true;
refresh();
}
// Check if charging state changed to charging
static bool was_charging = false;
if (msg->on_charger && !was_charging) {
// Only show charging modal when transitioning to charging state
nav_.display_modal(
"CHARGING",
"Screen on while charging?",
YESNO,
[this](bool keep_screen_on) {
if (!keep_screen_on) {
EventDispatcher::set_display_sleep(true);
}
});
}
was_charging = msg->on_charger;
if (!pmem::ui_hide_numeric_battery()) {
battery_text.set_battery(msg->valid_mask, msg->percent, msg->on_charger);
}
if (!pmem::ui_hide_battery_icon()) {
battery_icon.set_battery(msg->valid_mask, msg->percent, msg->on_charger);
};
}
}
void SystemStatusView::refresh() {