handle plugged state correctly
This commit is contained in:
parent
e5a9cc5a10
commit
36bbb0754c
1 changed files with 7 additions and 4 deletions
|
@ -32,12 +32,15 @@ class ChargingStateReceiver : DaggerBroadcastReceiver() {
|
||||||
var batteryLevel = 0
|
var batteryLevel = 0
|
||||||
val level = batteryStatus?.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) ?: -1
|
val level = batteryStatus?.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) ?: -1
|
||||||
val scale = batteryStatus?.getIntExtra(BatteryManager.EXTRA_SCALE, -1) ?: -1
|
val scale = batteryStatus?.getIntExtra(BatteryManager.EXTRA_SCALE, -1) ?: -1
|
||||||
|
val plugged = batteryStatus?.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) ?: -1
|
||||||
if (level != -1 && scale != -1)
|
if (level != -1 && scale != -1)
|
||||||
batteryLevel = (level.toFloat() / scale.toFloat() * 100.0f).toInt()
|
batteryLevel = (level.toFloat() / scale.toFloat() * 100.0f).toInt()
|
||||||
// Status
|
// Plugged
|
||||||
val status: Int = batteryStatus?.getIntExtra(BatteryManager.EXTRA_STATUS, -1) ?: -1
|
val isCharging: Boolean =
|
||||||
val isCharging: Boolean = status == BatteryManager.BATTERY_STATUS_CHARGING
|
plugged == BatteryManager.BATTERY_PLUGGED_AC ||
|
||||||
|| status == BatteryManager.BATTERY_STATUS_FULL
|
plugged == BatteryManager.BATTERY_PLUGGED_USB ||
|
||||||
|
plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS ||
|
||||||
|
plugged == BatteryManager.BATTERY_PLUGGED_DOCK
|
||||||
|
|
||||||
return EventChargingState(isCharging, batteryLevel).also { receiverStatusStore.lastChargingEvent = it }
|
return EventChargingState(isCharging, batteryLevel).also { receiverStatusStore.lastChargingEvent = it }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue