Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e2fdeaa authored by YK Hung's avatar YK Hung Committed by Android (Google) Code Review
Browse files

Merge "Add common getBatteryLevel() method into the SettingsLib"

parents 765045e7 e751388e
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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);
    }
}
+6 −2
Original line number Diff line number Diff line
@@ -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(