diff options
3 files changed, 11 insertions, 22 deletions
diff --git a/core/java/android/os/BatteryUsageStats.java b/core/java/android/os/BatteryUsageStats.java index 370052d47d16..f2857ceb59d7 100644 --- a/core/java/android/os/BatteryUsageStats.java +++ b/core/java/android/os/BatteryUsageStats.java @@ -368,27 +368,19 @@ public final class BatteryUsageStats implements Parcelable { }; /** Returns a proto (as used for atoms.proto) corresponding to this BatteryUsageStats. */ - public byte[] getStatsProto(long sessionEndTimestampMs) { - - final long sessionStartMillis = getStatsStartTimestamp(); - // TODO(b/187223764): Use the getStatsEndTimestamp() instead, once that is added. - final long sessionEndMillis = sessionEndTimestampMs; - final long sessionDurationMillis = sessionEndTimestampMs - getStatsStartTimestamp(); - + public byte[] getStatsProto() { final BatteryConsumer deviceBatteryConsumer = getAggregateBatteryConsumer( AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE); - final int sessionDischargePercentage = getDischargePercentage(); - final ProtoOutputStream proto = new ProtoOutputStream(); - proto.write(BatteryUsageStatsAtomsProto.SESSION_START_MILLIS, sessionStartMillis); - proto.write(BatteryUsageStatsAtomsProto.SESSION_END_MILLIS, sessionEndMillis); - proto.write(BatteryUsageStatsAtomsProto.SESSION_DURATION_MILLIS, sessionDurationMillis); + proto.write(BatteryUsageStatsAtomsProto.SESSION_START_MILLIS, getStatsStartTimestamp()); + proto.write(BatteryUsageStatsAtomsProto.SESSION_END_MILLIS, getStatsEndTimestamp()); + proto.write(BatteryUsageStatsAtomsProto.SESSION_DURATION_MILLIS, getStatsDuration()); deviceBatteryConsumer.writeStatsProto(proto, BatteryUsageStatsAtomsProto.DEVICE_BATTERY_CONSUMER); writeUidBatteryConsumersProto(proto); proto.write(BatteryUsageStatsAtomsProto.SESSION_DISCHARGE_PERCENTAGE, - sessionDischargePercentage); + getDischargePercentage()); return proto.getBytes(); } @@ -399,8 +391,8 @@ public final class BatteryUsageStats implements Parcelable { private void writeUidBatteryConsumersProto(ProtoOutputStream proto) { final List<UidBatteryConsumer> consumers = getUidBatteryConsumers(); - // TODO: Sort the list by power consumption. If during the for, proto.getRawSize() > 45kb, - // truncate the remainder of the list. + // TODO(b/189225426): Sort the list by power consumption. If during the for, + // proto.getRawSize() > 45kb, truncate the remainder of the list. final int size = consumers.size(); for (int i = 0; i < size; i++) { final UidBatteryConsumer consumer = consumers.get(i); diff --git a/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java b/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java index bee0a0bf1fd6..333eebb86d4c 100644 --- a/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java +++ b/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java @@ -48,9 +48,8 @@ public class BatteryUsageStatsPulledTest { @Test public void testGetStatsProto() { - final long sessionEndTimestampMs = 1050; final BatteryUsageStats bus = buildBatteryUsageStats(); - final byte[] bytes = bus.getStatsProto(sessionEndTimestampMs); + final byte[] bytes = bus.getStatsProto(); BatteryUsageStatsAtomsProto proto; try { proto = BatteryUsageStatsAtomsProto.parseFrom(bytes); @@ -60,9 +59,9 @@ public class BatteryUsageStatsPulledTest { } assertEquals(bus.getStatsStartTimestamp(), proto.sessionStartMillis); - assertEquals(sessionEndTimestampMs, proto.sessionEndMillis); + assertEquals(bus.getStatsEndTimestamp(), proto.sessionEndMillis); assertEquals( - sessionEndTimestampMs - bus.getStatsStartTimestamp(), + bus.getStatsEndTimestamp() - bus.getStatsStartTimestamp(), proto.sessionDurationMillis); assertEquals(bus.getDischargePercentage(), proto.sessionDischargePercentage); diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 6cb374a84ad0..4e6e91ac7b5d 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -771,9 +771,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub default: throw new UnsupportedOperationException("Unknown tagId=" + atomTag); } - // TODO(b/187223764): busTime won't be needed once end_session is a field in BUS. - final long busTime = System.currentTimeMillis(); - final byte[] statsProto = bus.getStatsProto(busTime); + final byte[] statsProto = bus.getStatsProto(); data.add(FrameworkStatsLog.buildStatsEvent(atomTag, statsProto)); |