Loading packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryStatus.java +11 −2 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); } Loading @@ -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); } } packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java +6 −2 Original line number Diff line number Diff line Loading @@ -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( Loading @@ -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( Loading Loading
packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryStatus.java +11 −2 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); } Loading @@ -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); } }
packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java +6 −2 Original line number Diff line number Diff line Loading @@ -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( Loading @@ -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( Loading