diff --git a/daemon/src/battery/mod.rs b/daemon/src/battery/mod.rs index 0f0c570..4a68d0a 100644 --- a/daemon/src/battery/mod.rs +++ b/daemon/src/battery/mod.rs @@ -9,18 +9,9 @@ pub mod orbic; pub mod tmobile; pub mod wingtech; -#[derive(Clone, Copy, PartialEq, Debug, Serialize)] -pub enum BatteryLevel { - VeryLow, - Low, - Medium, - High, - Full, -} - #[derive(Clone, Copy, PartialEq, Debug, Serialize)] pub struct BatteryState { - level: BatteryLevel, + level: u8, is_plugged_in: bool, } @@ -37,20 +28,13 @@ async fn is_plugged_in_from_file(path: &Path) -> Result { } } -async fn get_level_from_percentage_file(path: &Path) -> Result { - match tokio::fs::read_to_string(path) +async fn get_level_from_percentage_file(path: &Path) -> Result { + tokio::fs::read_to_string(path) .await .map_err(RayhunterError::TokioError)? .trim_end() .parse() - { - Ok(0..=10) => Ok(BatteryLevel::VeryLow), - Ok(11..=25) => Ok(BatteryLevel::Low), - Ok(26..=50) => Ok(BatteryLevel::Medium), - Ok(51..=75) => Ok(BatteryLevel::High), - Ok(76..=100) => Ok(BatteryLevel::Full), - _ => Err(RayhunterError::BatteryLevelParseError), - } + .or(Err(RayhunterError::BatteryLevelParseError)) } pub async fn get_battery_status(device: &Device) -> Result { diff --git a/daemon/src/battery/orbic.rs b/daemon/src/battery/orbic.rs index 948b46e..d6695b8 100644 --- a/daemon/src/battery/orbic.rs +++ b/daemon/src/battery/orbic.rs @@ -1,7 +1,7 @@ use std::path::Path; use crate::{ - battery::{BatteryLevel, BatteryState, is_plugged_in_from_file}, + battery::{BatteryState, is_plugged_in_from_file}, error::RayhunterError, }; @@ -16,11 +16,11 @@ pub async fn get_battery_state() -> Result { .chars() .next() { - Some('1') => Ok(BatteryLevel::VeryLow), - Some('2') => Ok(BatteryLevel::Low), - Some('3') => Ok(BatteryLevel::Medium), - Some('4') => Ok(BatteryLevel::High), - Some('5') => Ok(BatteryLevel::Full), + Some('1') => Ok(10), + Some('2') => Ok(25), + Some('3') => Ok(50), + Some('4') => Ok(75), + Some('5') => Ok(100), _ => Err(RayhunterError::BatteryLevelParseError), }?, is_plugged_in: is_plugged_in_from_file(Path::new(PLUGGED_IN_STATE_FILE)).await?, diff --git a/daemon/web/src/lib/components/SystemStatsTable.svelte b/daemon/web/src/lib/components/SystemStatsTable.svelte index c99004b..29903df 100644 --- a/daemon/web/src/lib/components/SystemStatsTable.svelte +++ b/daemon/web/src/lib/components/SystemStatsTable.svelte @@ -1,5 +1,5 @@