Add common getBatteryLevel() method into the SettingsLib
Add a new common getBatteryLevel() method into the SettingsLib for SystemUI and Settings apps usage (moved from http://cs/android/packages/apps/Settings/src/com/android/settings/fuelgauge/BatteryUtils.java;l=606;rcl=706fc209fc38cb8c97c1bd6d37549c65d111e4d3) Bug: 260524172 Test: presubmit Change-Id: If7813ccdc6d39e4527a2df6f43835af6c23e5f79
This commit is contained in:
@@ -66,7 +66,7 @@ public class BatteryStatus {
|
||||
public BatteryStatus(Intent batteryChangedIntent) {
|
||||
status = batteryChangedIntent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN);
|
||||
plugged = batteryChangedIntent.getIntExtra(EXTRA_PLUGGED, 0);
|
||||
level = batteryChangedIntent.getIntExtra(EXTRA_LEVEL, 0);
|
||||
level = getBatteryLevel(batteryChangedIntent);
|
||||
health = batteryChangedIntent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN);
|
||||
present = batteryChangedIntent.getBooleanExtra(EXTRA_PRESENT, true);
|
||||
|
||||
@@ -188,7 +188,7 @@ public class BatteryStatus {
|
||||
*/
|
||||
public static boolean isCharged(Intent batteryChangedIntent) {
|
||||
int status = batteryChangedIntent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN);
|
||||
int level = batteryChangedIntent.getIntExtra(EXTRA_LEVEL, 0);
|
||||
int level = getBatteryLevel(batteryChangedIntent);
|
||||
return isCharged(status, level);
|
||||
}
|
||||
|
||||
@@ -204,4 +204,13 @@ public class BatteryStatus {
|
||||
public static boolean isCharged(int status, int level) {
|
||||
return status == BATTERY_STATUS_FULL || level >= 100;
|
||||
}
|
||||
|
||||
/** Gets the battery level from the intent. */
|
||||
public static int getBatteryLevel(Intent batteryChangedIntent) {
|
||||
final int level = batteryChangedIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
|
||||
final int scale = batteryChangedIntent.getIntExtra(BatteryManager.EXTRA_SCALE, 0);
|
||||
return scale == 0
|
||||
? -1 /*invalid battery level*/
|
||||
: Math.round((level / (float) scale) * 100f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -317,7 +317,9 @@ public class UtilsTest {
|
||||
|
||||
@Test
|
||||
public void getBatteryStatus_statusIsFull_returnFullString() {
|
||||
final Intent intent = new Intent().putExtra(BatteryManager.EXTRA_LEVEL, 100);
|
||||
final Intent intent = new Intent()
|
||||
.putExtra(BatteryManager.EXTRA_LEVEL, 100)
|
||||
.putExtra(BatteryManager.EXTRA_SCALE, 100);
|
||||
final Resources resources = mContext.getResources();
|
||||
|
||||
assertThat(Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false)).isEqualTo(
|
||||
@@ -326,7 +328,9 @@ public class UtilsTest {
|
||||
|
||||
@Test
|
||||
public void getBatteryStatus_statusIsFullAndUseCompactStatus_returnFullyChargedString() {
|
||||
final Intent intent = new Intent().putExtra(BatteryManager.EXTRA_LEVEL, 100);
|
||||
final Intent intent = new Intent()
|
||||
.putExtra(BatteryManager.EXTRA_LEVEL, 100)
|
||||
.putExtra(BatteryManager.EXTRA_SCALE, 100);
|
||||
final Resources resources = mContext.getResources();
|
||||
|
||||
assertThat(Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ true)).isEqualTo(
|
||||
|
||||
Reference in New Issue
Block a user