diff --git a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java index 4053e869f78..fd48d88470e 100644 --- a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java @@ -441,7 +441,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro SystemBatteryConsumer.DRAIN_TYPE_WIFI, }) { builder.getOrCreateSystemBatteryConsumerBuilder(drainType) - .setConsumedPower(BatteryConsumer.POWER_COMPONENT_USAGE, use); + .setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, use); use += 5; } @@ -449,26 +449,27 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro for (int i = 0; i < 100; i++) { builder.getOrCreateUidBatteryConsumerBuilder( new FakeUid(Process.FIRST_APPLICATION_UID + i)) - .setTimeInStateMs(BatteryConsumer.TIME_COMPONENT_USAGE, 10000 + i * 1000) - .setConsumedPower(BatteryConsumer.POWER_COMPONENT_USAGE, use); + .setTimeInStateMs(UidBatteryConsumer.STATE_FOREGROUND, 10000 + i * 1000) + .setTimeInStateMs(UidBatteryConsumer.STATE_BACKGROUND, 20000 + i * 2000) + .setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, use); use += 1; } // Simulate dex2oat process. builder.getOrCreateUidBatteryConsumerBuilder(new FakeUid(Process.FIRST_APPLICATION_UID)) - .setTimeInStateMs(BatteryConsumer.TIME_COMPONENT_USAGE, 100000) - .setConsumedPower(BatteryConsumer.POWER_COMPONENT_USAGE, 1000.0) + .setUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_CPU, 100000) + .setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, 1000.0) .setPackageWithHighestDrain("dex2oat"); builder.getOrCreateUidBatteryConsumerBuilder(new FakeUid(Process.FIRST_APPLICATION_UID + 1)) - .setTimeInStateMs(BatteryConsumer.TIME_COMPONENT_USAGE, 100000) - .setConsumedPower(BatteryConsumer.POWER_COMPONENT_USAGE, 1000.0) + .setUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_CPU, 100000) + .setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, 1000.0) .setPackageWithHighestDrain("dex2oat"); builder.getOrCreateUidBatteryConsumerBuilder( new FakeUid(UserHandle.getSharedAppGid(Process.LOG_UID))) - .setTimeInStateMs(BatteryConsumer.TIME_COMPONENT_USAGE, 100000) - .setConsumedPower(BatteryConsumer.POWER_COMPONENT_USAGE, 900.0); + .setUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_CPU, 100000) + .setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, 900.0); return builder.build(); } diff --git a/src/com/android/settings/fuelgauge/BatteryEntry.java b/src/com/android/settings/fuelgauge/BatteryEntry.java index ed52f480e94..6bb88ec3323 100644 --- a/src/com/android/settings/fuelgauge/BatteryEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryEntry.java @@ -35,7 +35,6 @@ import android.os.UserBatteryConsumer; import android.os.UserHandle; import android.os.UserManager; import android.util.Log; -import android.util.Pair; import androidx.annotation.NonNull; @@ -433,8 +432,10 @@ public class BatteryEntry { if (mBatteryConsumer instanceof UidBatteryConsumer) { return ((UidBatteryConsumer) mBatteryConsumer).getTimeInStateMs( UidBatteryConsumer.STATE_FOREGROUND); + } else if (mBatteryConsumer instanceof SystemBatteryConsumer) { + return ((SystemBatteryConsumer) mBatteryConsumer).getUsageDurationMillis(); } else { - return mBatteryConsumer.getUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_USAGE); + return 0; } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java index c1bafca6489..87d4c74c9f6 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java @@ -28,7 +28,6 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; -import android.os.BatteryConsumer; import android.os.Handler; import android.os.Process; import android.os.SystemBatteryConsumer; @@ -178,8 +177,7 @@ public class BatteryEntryTest { final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application, mockHandler, mockUserManager, mSystemBatteryConsumer, false, null, null); - when(mSystemBatteryConsumer.getUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_USAGE)) - .thenReturn(100L); + when(mSystemBatteryConsumer.getUsageDurationMillis()).thenReturn(100L); assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L); } @@ -200,7 +198,7 @@ public class BatteryEntryTest { final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application, mockHandler, mockUserManager, mSystemBatteryConsumer, false, null, null); - when(mSystemBatteryConsumer.getUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_USAGE)) + when(mSystemBatteryConsumer.getUsageDurationMillis()) .thenReturn(100L); assertThat(entry.getTimeInBackgroundMs()).isEqualTo(0);