From fad6eb214dbec08c6db9c9b3956e4903383af4ed Mon Sep 17 00:00:00 2001 From: Bastien Dejean Date: Sun, 25 Feb 2024 20:43:51 +0100 Subject: [PATCH] Initialize plugged using the main battery's status --- crates/core/src/battery/mod.rs | 6 ++++++ crates/core/src/view/battery.rs | 2 +- crates/plato/src/app.rs | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/crates/core/src/battery/mod.rs b/crates/core/src/battery/mod.rs index d63f3926..a687ec46 100644 --- a/crates/core/src/battery/mod.rs +++ b/crates/core/src/battery/mod.rs @@ -15,6 +15,12 @@ pub enum Status { // Full, } +impl Status { + pub fn is_wired(self) -> bool { + matches!(self, Status::Charging | Status::Charged) + } +} + pub trait Battery { fn capacity(&mut self) -> Result, Error>; fn status(&mut self) -> Result, Error>; diff --git a/crates/core/src/view/battery.rs b/crates/core/src/view/battery.rs index db7db9ab..61c37a62 100644 --- a/crates/core/src/view/battery.rs +++ b/crates/core/src/view/battery.rs @@ -104,7 +104,7 @@ impl View for Battery { pt = self.rect.min + pt!(dx, dy) + pt!(border_thickness); - if self.status != Status::Discharging { + if self.status.is_wired() { let name = if self.status == Status::Charging { "plug" } else { "check_mark-small" }; let pixmap = ICONS_PIXMAPS.get(name).unwrap(); pt += pt!((max_fill_width - pixmap.width as i32) / 2, diff --git a/crates/plato/src/app.rs b/crates/plato/src/app.rs index e0a1ccf4..980ba81e 100644 --- a/crates/plato/src/app.rs +++ b/crates/plato/src/app.rs @@ -222,6 +222,9 @@ pub fn run() -> Result<(), Error> { } let mut context = build_context(fb).context("can't build context")?; + + context.plugged = context.battery.status().is_ok_and(|v| v[0].is_wired()); + if context.settings.import.startup_trigger { context.batch_import(); }