From b0d8346ae0a921d7bb4c2f9accb6e953b4dbdf15 Mon Sep 17 00:00:00 2001 From: Volodymyr Date: Fri, 1 Dec 2023 13:08:13 +0200 Subject: [PATCH] feat(battery_plus): Introduce not_charging state on Linux --- .../battery_plus/lib/src/battery_plus_linux.dart | 7 +++++++ .../battery_plus_platform_interface/lib/src/enums.dart | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/battery_plus/battery_plus/lib/src/battery_plus_linux.dart b/packages/battery_plus/battery_plus/lib/src/battery_plus_linux.dart index 7a23640af8..89ab9b778f 100644 --- a/packages/battery_plus/battery_plus/lib/src/battery_plus_linux.dart +++ b/packages/battery_plus/battery_plus/lib/src/battery_plus_linux.dart @@ -9,10 +9,17 @@ extension _ToBatteryState on UPowerDeviceState { switch (this) { case UPowerDeviceState.charging: return BatteryState.charging; + case UPowerDeviceState.discharging: + case UPowerDeviceState.pendingDischarge: return BatteryState.discharging; + case UPowerDeviceState.fullyCharged: return BatteryState.full; + + case UPowerDeviceState.pendingCharge: + return BatteryState.connectedNotCharging; + default: return BatteryState.unknown; } diff --git a/packages/battery_plus/battery_plus_platform_interface/lib/src/enums.dart b/packages/battery_plus/battery_plus_platform_interface/lib/src/enums.dart index 22e76b5695..ca790d5dfc 100644 --- a/packages/battery_plus/battery_plus_platform_interface/lib/src/enums.dart +++ b/packages/battery_plus/battery_plus_platform_interface/lib/src/enums.dart @@ -7,8 +7,11 @@ enum BatteryState { charging, /// Device is connected to external power source, but not charging the battery. + /// /// Usually happens when device has charge limit enabled and this limit is reached. - /// Available on MacOS and Android platforms only. + /// Also, battery might be in this state if connected power source isn't powerful enough to charge the battery. + /// + /// Available on Android, MacOS and Linux platforms only. connectedNotCharging, /// The battery is currently losing energy.