Add battery history to BatteryStatsUsage

Bug: 173745486
Test: atest FrameworksCoreTests:com.android.internal.os.BatteryUsageStatsProviderTest
Change-Id: Icfd9e49b68f1be99312c88ac889b06aa669367ef
This commit is contained in:
Dmitri Plotnikov
2021-02-24 13:51:31 -08:00
parent cda90b4cf5
commit 20720fa188
5 changed files with 184 additions and 4 deletions

View File

@@ -36,7 +36,7 @@ public class BatteryStatsHistoryIterator {
private final String[] mReadHistoryStrings;
private final int[] mReadHistoryUids;
BatteryStatsHistoryIterator(@NonNull BatteryStatsHistory history,
public BatteryStatsHistoryIterator(@NonNull BatteryStatsHistory history,
@NonNull List<BatteryStats.HistoryTag> historyTagPool) {
mBatteryStatsHistory = history;

View File

@@ -30,6 +30,7 @@ import com.android.internal.annotations.VisibleForTesting;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Uses accumulated battery stats data and PowerCalculators to produce power
@@ -152,6 +153,20 @@ public class BatteryUsageStatsProvider {
query);
}
if ((query.getFlags()
& BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY) != 0) {
ArrayList<BatteryStats.HistoryTag> tags = new ArrayList<>(
mStats.mHistoryTagPool.size());
for (Map.Entry<BatteryStats.HistoryTag, Integer> entry :
mStats.mHistoryTagPool.entrySet()) {
final BatteryStats.HistoryTag tag = entry.getKey();
tag.poolIdx = entry.getValue();
tags.add(tag);
}
batteryUsageStatsBuilder.setBatteryHistory(mStats.mHistoryBuffer, tags);
}
return batteryUsageStatsBuilder.build();
}