Loading src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java +26 −3 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -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. Loading Loading @@ -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( Loading @@ -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; Loading Loading
src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java +26 −3 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -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. Loading Loading @@ -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( Loading @@ -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; Loading