Add static funciton isCharged in BatteryStatus to check charge status

without creating BatteryStatus instance.

Bug: 236101531
Test: presubmit
Change-Id: I7967693b16275f94eb12edcd695a5199c50cb841
Merged-In: I7967693b16275f94eb12edcd695a5199c50cb841
This commit is contained in:
Kuan Wang
2022-06-24 15:08:10 +08:00
parent 33c1f298b1
commit c0acc17924

View File

@@ -135,7 +135,7 @@ public class BatteryStatus {
* @return true if the device is charged
*/
public boolean isCharged() {
return status == BATTERY_STATUS_FULL || level >= 100;
return isCharged(status, level);
}
/**
@@ -177,4 +177,31 @@ public class BatteryStatus {
return "BatteryStatus{status=" + status + ",level=" + level + ",plugged=" + plugged
+ ",health=" + health + ",maxChargingWattage=" + maxChargingWattage + "}";
}
/**
* Whether or not the device is charged. Note that some devices never return 100% for
* battery level, so this allows either battery level or status to determine if the
* battery is charged.
*
* @param batteryChangedIntent ACTION_BATTERY_CHANGED intent
* @return true if the device is charged
*/
public static boolean isCharged(Intent batteryChangedIntent) {
int status = batteryChangedIntent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN);
int level = batteryChangedIntent.getIntExtra(EXTRA_LEVEL, 0);
return isCharged(status, level);
}
/**
* Whether or not the device is charged. Note that some devices never return 100% for
* battery level, so this allows either battery level or status to determine if the
* battery is charged.
*
* @param status values for "status" field in the ACTION_BATTERY_CHANGED Intent
* @param level values from 0 to 100
* @return true if the device is charged
*/
public static boolean isCharged(int status, int level) {
return status == BATTERY_STATUS_FULL || level >= 100;
}
}