Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a708592e authored by Kuan Wang's avatar Kuan Wang
Browse files

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

Test: manual
Bug: 260965322
Change-Id: Ia1711fb73a6390e6a91289331daf3d88675731fe
parent dc8f9673
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -233,6 +233,7 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
                        batteryCallbackData -> {
                            mBatteryUsageMap = batteryCallbackData.getBatteryUsageMap();
                            mScreenOnTimeMap = batteryCallbackData.getDeviceScreenOnTime();
                            logScreenUsageTime();
                            refreshUi();
                        });
        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() {
        return mHourlyViewModels != null && mHourlyViewModels.size() == 1;
    }
+2 −0
Original line number Diff line number Diff line
@@ -1792,6 +1792,8 @@ public final class DataProcessor {
                    systemAppsDiffEntry = new BatteryDiffEntry.SystemAppsBatteryDiffEntry(context);
                }
                systemAppsDiffEntry.mConsumePower += batteryDiffEntry.mConsumePower;
                systemAppsDiffEntry.mForegroundUsageTimeInMs +=
                        batteryDiffEntry.mForegroundUsageTimeInMs;
                systemAppsDiffEntry.setTotalConsumePower(
                        batteryDiffEntry.getTotalConsumePower());
                appListIterator.remove();