summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/os/BatteryUsageStats.java22
-rw-r--r--core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java7
-rw-r--r--services/core/java/com/android/server/am/BatteryStatsService.java4
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));