Loading src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java +10 −9 Original line number Diff line number Diff line Loading @@ -444,7 +444,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; } Loading @@ -452,26 +452,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(); } Loading src/com/android/settings/fuelgauge/BatteryEntry.java +3 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -462,8 +461,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; } } Loading tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java +2 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading @@ -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); Loading Loading
src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java +10 −9 Original line number Diff line number Diff line Loading @@ -444,7 +444,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; } Loading @@ -452,26 +452,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(); } Loading
src/com/android/settings/fuelgauge/BatteryEntry.java +3 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -462,8 +461,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; } } Loading
tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java +2 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading @@ -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); Loading