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

Commit 2d07418b authored by YK Hung's avatar YK Hung Committed by Android (Google) Code Review
Browse files

Merge "Add log for fetch data from BatteryStatsManager." into main

parents f4f78a73 5a9c00e6
Loading
Loading
Loading
Loading
+26 −3
Original line number Diff line number Diff line
@@ -172,13 +172,21 @@ public final class DataProcessor {
    /** Gets the {@link BatteryUsageStats} from system service. */
    @Nullable
    public static BatteryUsageStats getBatteryUsageStats(final Context context) {
        final long startTime = System.currentTimeMillis();
        final BatteryUsageStatsQuery batteryUsageStatsQuery =
                new BatteryUsageStatsQuery.Builder()
                        .includeBatteryHistory()
                        .includeProcessStateData()
                        .build();
        return context.getSystemService(BatteryStatsManager.class)
        final BatteryUsageStats batteryUsageStats =
                context.getSystemService(BatteryStatsManager.class)
                        .getBatteryUsageStats(batteryUsageStatsQuery);
        Log.d(
                TAG,
                String.format(
                        "getBatteryUsageStats() from BatteryStatsManager in %d/ms",
                        System.currentTimeMillis() - startTime));
        return batteryUsageStats;
    }

    /** Gets the {@link UsageEvents} from system service for all unlocked users. */
@@ -1693,8 +1701,14 @@ public final class DataProcessor {
        final UserManager userManager = context.getSystemService(UserManager.class);
        final SparseArray<BatteryEntry> batteryEntryList = new SparseArray<>();
        final ArrayList<BatteryEntry> results = new ArrayList<>();
        final long startTime = System.currentTimeMillis();
        final List<UidBatteryConsumer> uidBatteryConsumers =
                batteryUsageStats.getUidBatteryConsumers();
        Log.d(
                TAG,
                String.format(
                        "get %d uidBatteryConsumers from BatteryUsageStats in %d/ms",
                        uidBatteryConsumers.size(), (System.currentTimeMillis() - startTime)));

        // Sort to have all apps with "real" UIDs first, followed by apps that are supposed
        // to be combined with the real ones.
@@ -1763,9 +1777,11 @@ public final class DataProcessor {
                            deviceConsumer.getConsumedPowerForCustomComponent(componentId)));
        }

        final int numComponentEntries = batteryEntryList.size();
        final List<UserBatteryConsumer> userBatteryConsumers =
                batteryUsageStats.getUserBatteryConsumers();
        for (int i = 0, size = userBatteryConsumers.size(); i < size; i++) {
        final int numUserEntries = userBatteryConsumers.size();
        for (int i = 0; i < numUserEntries; i++) {
            final UserBatteryConsumer consumer = userBatteryConsumers.get(i);
            results.add(
                    new BatteryEntry(
@@ -1785,6 +1801,13 @@ public final class DataProcessor {
            results.add(batteryEntryList.valueAt(i));
        }

        Log.d(
                TAG,
                String.format(
                        "getCoalescedUsageList(): uidEntries = %d, "
                                + "userEntries = %d, componentEntries = %d",
                        numUidSippers, numUserEntries, numComponentEntries));

        // The sort order must have changed, so re-sort based on total power use.
        results.sort(BatteryEntry.COMPARATOR);
        return results;