Add logging for total screen-on time and foreground usage time.

Test: manual
Bug: 260965322
Change-Id: Ia1711fb73a6390e6a91289331daf3d88675731fe
This commit is contained in:
Kuan Wang
2023-01-06 11:53:26 +08:00
parent dc8f967315
commit a708592e0a
2 changed files with 39 additions and 0 deletions

View File

@@ -233,6 +233,7 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
batteryCallbackData -> { batteryCallbackData -> {
mBatteryUsageMap = batteryCallbackData.getBatteryUsageMap(); mBatteryUsageMap = batteryCallbackData.getBatteryUsageMap();
mScreenOnTimeMap = batteryCallbackData.getDeviceScreenOnTime(); mScreenOnTimeMap = batteryCallbackData.getDeviceScreenOnTime();
logScreenUsageTime();
refreshUi(); refreshUi();
}); });
Log.d(TAG, "getBatteryLevelData: " + batteryLevelData); Log.d(TAG, "getBatteryLevelData: " + batteryLevelData);
@@ -495,6 +496,42 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
}; };
} }
private void logScreenUsageTime() {
if (mBatteryUsageMap == null || mScreenOnTimeMap == null) {
return;
}
final long totalScreenOnTime =
mScreenOnTimeMap
.get(BatteryChartViewModel.SELECTED_INDEX_ALL)
.get(BatteryChartViewModel.SELECTED_INDEX_ALL);
mMetricsFeatureProvider.action(
mPrefContext,
SettingsEnums.ACTION_BATTERY_USAGE_SCREEN_ON_TIME,
(int) totalScreenOnTime);
mMetricsFeatureProvider.action(
mPrefContext,
SettingsEnums.ACTION_BATTERY_USAGE_FOREGROUND_USAGE_TIME,
(int) getTotalForegroundUsageTime());
}
private long getTotalForegroundUsageTime() {
if (mBatteryUsageMap == null) {
return 0;
}
final BatteryDiffData totalBatteryUsageDiffData =
mBatteryUsageMap
.get(BatteryChartViewModel.SELECTED_INDEX_ALL)
.get(BatteryChartViewModel.SELECTED_INDEX_ALL);
if (totalBatteryUsageDiffData == null) {
return 0;
}
long totalValue = 0;
for (final BatteryDiffEntry entry : totalBatteryUsageDiffData.getAppDiffEntryList()) {
totalValue += entry.mForegroundUsageTimeInMs;
}
return totalValue;
}
private boolean isBatteryLevelDataInOneDay() { private boolean isBatteryLevelDataInOneDay() {
return mHourlyViewModels != null && mHourlyViewModels.size() == 1; return mHourlyViewModels != null && mHourlyViewModels.size() == 1;
} }

View File

@@ -1792,6 +1792,8 @@ public final class DataProcessor {
systemAppsDiffEntry = new BatteryDiffEntry.SystemAppsBatteryDiffEntry(context); systemAppsDiffEntry = new BatteryDiffEntry.SystemAppsBatteryDiffEntry(context);
} }
systemAppsDiffEntry.mConsumePower += batteryDiffEntry.mConsumePower; systemAppsDiffEntry.mConsumePower += batteryDiffEntry.mConsumePower;
systemAppsDiffEntry.mForegroundUsageTimeInMs +=
batteryDiffEntry.mForegroundUsageTimeInMs;
systemAppsDiffEntry.setTotalConsumePower( systemAppsDiffEntry.setTotalConsumePower(
batteryDiffEntry.getTotalConsumePower()); batteryDiffEntry.getTotalConsumePower());
appListIterator.remove(); appListIterator.remove();