Loading core/java/com/android/internal/power/MeasuredEnergyStats.java +4 −0 Original line number Diff line number Diff line Loading @@ -589,6 +589,10 @@ public class MeasuredEnergyStats { final int numIndices = mConfig.getNumberOfBuckets(); for (int index = 0; index < numIndices; index++) { setValueIfSupported(index, 0L); if (mAccumulatedMultiStateChargeMicroCoulomb != null && mAccumulatedMultiStateChargeMicroCoulomb[index] != null) { mAccumulatedMultiStateChargeMicroCoulomb[index].reset(); } } } Loading core/tests/coretests/src/com/android/internal/power/MeasuredEnergyStatsTest.java +16 −3 Original line number Diff line number Diff line Loading @@ -465,16 +465,23 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; final int[] supportedMultiStateBuckets = new int[]{POWER_BUCKET_SCREEN_ON}; final MeasuredEnergyStats.Config config = new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); supportedMultiStateBuckets, new String[]{"s1", "s2"}); final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5); stats.setState(1, 0); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10, 1000); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5, 2000); stats.updateStandardBucket(POWER_BUCKET_SCREEN_OTHER, 40); stats.updateCustomBucket(0, 50); stats.updateCustomBucket(1, 60); assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 0)) .isEqualTo(0); assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 1)) .isEqualTo(15); MeasuredEnergyStats.resetIfNotNull(stats); // All charges should be reset to 0 for (int i = 0; i < NUMBER_STANDARD_POWER_BUCKETS; i++) { Loading @@ -485,7 +492,13 @@ public class MeasuredEnergyStatsTest { assertFalse(stats.isStandardBucketSupported(i)); assertEquals(POWER_DATA_UNAVAILABLE, stats.getAccumulatedStandardBucketCharge(i)); } } assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 0)) .isEqualTo(0); assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 1)) .isEqualTo(0); for (int i = 0; i < customBucketNames.length; i++) { assertEquals(0, stats.getAccumulatedCustomBucketCharge(i)); } Loading Loading
core/java/com/android/internal/power/MeasuredEnergyStats.java +4 −0 Original line number Diff line number Diff line Loading @@ -589,6 +589,10 @@ public class MeasuredEnergyStats { final int numIndices = mConfig.getNumberOfBuckets(); for (int index = 0; index < numIndices; index++) { setValueIfSupported(index, 0L); if (mAccumulatedMultiStateChargeMicroCoulomb != null && mAccumulatedMultiStateChargeMicroCoulomb[index] != null) { mAccumulatedMultiStateChargeMicroCoulomb[index].reset(); } } } Loading
core/tests/coretests/src/com/android/internal/power/MeasuredEnergyStatsTest.java +16 −3 Original line number Diff line number Diff line Loading @@ -465,16 +465,23 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; final int[] supportedMultiStateBuckets = new int[]{POWER_BUCKET_SCREEN_ON}; final MeasuredEnergyStats.Config config = new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); supportedMultiStateBuckets, new String[]{"s1", "s2"}); final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5); stats.setState(1, 0); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10, 1000); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5, 2000); stats.updateStandardBucket(POWER_BUCKET_SCREEN_OTHER, 40); stats.updateCustomBucket(0, 50); stats.updateCustomBucket(1, 60); assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 0)) .isEqualTo(0); assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 1)) .isEqualTo(15); MeasuredEnergyStats.resetIfNotNull(stats); // All charges should be reset to 0 for (int i = 0; i < NUMBER_STANDARD_POWER_BUCKETS; i++) { Loading @@ -485,7 +492,13 @@ public class MeasuredEnergyStatsTest { assertFalse(stats.isStandardBucketSupported(i)); assertEquals(POWER_DATA_UNAVAILABLE, stats.getAccumulatedStandardBucketCharge(i)); } } assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 0)) .isEqualTo(0); assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 1)) .isEqualTo(0); for (int i = 0; i < customBucketNames.length; i++) { assertEquals(0, stats.getAccumulatedCustomBucketCharge(i)); } Loading