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

Commit ec91ea48 authored by YUKAI HUNG's avatar YUKAI HUNG Committed by Android (Google) Code Review
Browse files

Merge "Avoid load icon and label in the background for periodic job" into sc-dev

parents e231dc2b a711199d
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -209,7 +209,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro

        if (sConfig.shouldShowBatteryAttributionList(mContext)) {
            final int dischargePercentage = getDischargePercentage(batteryUsageStats);
            final List<BatteryEntry> usageList = getCoalescedUsageList(showAllApps);
            final List<BatteryEntry> usageList =
                getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ true);
            final double totalPower = batteryUsageStats.getConsumedPower();
            final int numSippers = usageList.size();
            for (int i = 0; i < numSippers; i++) {
@@ -267,7 +268,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
            return null;
        }
        final int dischargePercentage = getDischargePercentage(batteryUsageStats);
        final List<BatteryEntry> usageList = getCoalescedUsageList(showAllApps);
        final List<BatteryEntry> usageList =
            getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ false);
        final double totalPower = batteryUsageStats.getConsumedPower();
        for (int i = 0; i < usageList.size(); i++) {
            final BatteryEntry entry = usageList.get(i);
@@ -293,7 +295,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
     *
     * @return A sorted list of apps using power.
     */
    private List<BatteryEntry> getCoalescedUsageList(boolean showAllApps) {
    private List<BatteryEntry> getCoalescedUsageList(
            boolean showAllApps, boolean loadDataInBackground) {
        final SparseArray<BatteryEntry> batteryEntryList = new SparseArray<>();

        final ArrayList<BatteryEntry> results = new ArrayList<>();
@@ -333,7 +336,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
            if (index < 0) {
                // New entry.
                batteryEntryList.put(realUid, new BatteryEntry(mContext, mHandler, mUserManager,
                        consumer, isHidden, packages, null));
                        consumer, isHidden, packages, null, loadDataInBackground));
            } else {
                // Combine BatterySippers if we already have one with this UID.
                final BatteryEntry existingSipper = batteryEntryList.valueAt(index);
@@ -350,7 +353,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
            }

            results.add(new BatteryEntry(mContext, mHandler, mUserManager,
                    consumer, /* isHidden */ true, null, null));
                    consumer, /* isHidden */ true, null, null, loadDataInBackground));
        }

        if (showAllApps) {
@@ -359,7 +362,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
            for (int i = 0, size = userBatteryConsumers.size(); i < size; i++) {
                final UserBatteryConsumer consumer = userBatteryConsumers.get(i);
                results.add(new BatteryEntry(mContext, mHandler, mUserManager,
                        consumer, /* isHidden */ true, null, null));
                        consumer, /* isHidden */ true, null, null, loadDataInBackground));
            }
        }

+10 −3
Original line number Diff line number Diff line
@@ -178,6 +178,12 @@ public class BatteryEntry {
    public BatteryEntry(Context context, Handler handler, UserManager um,
            @NonNull BatteryConsumer batteryConsumer, boolean isHidden, String[] packages,
            String packageName) {
        this(context, handler, um, batteryConsumer, isHidden, packages, packageName, true);
    }

    public BatteryEntry(Context context, Handler handler, UserManager um,
            @NonNull BatteryConsumer batteryConsumer, boolean isHidden, String[] packages,
            String packageName, boolean loadDataInBackground) {
        sHandler = handler;
        mContext = context;
        mBatteryConsumer = batteryConsumer;
@@ -209,7 +215,7 @@ public class BatteryEntry {
                    name = mDefaultPackageName;
                }
            }
            getQuickNameIconForUid(uid, packages);
            getQuickNameIconForUid(uid, packages, loadDataInBackground);
            return;
        } else if (batteryConsumer instanceof SystemBatteryConsumer) {
            mConsumedPower = batteryConsumer.getConsumedPower()
@@ -242,7 +248,8 @@ public class BatteryEntry {
        return name;
    }

    void getQuickNameIconForUid(final int uid, final String[] packages) {
    void getQuickNameIconForUid(
            final int uid, final String[] packages, final boolean loadDataInBackground) {
        // Locale sync to system config in Settings
        final Locale locale = Locale.getDefault();
        if (sCurrentLocale != locale) {
@@ -267,7 +274,7 @@ public class BatteryEntry {
            icon = mContext.getPackageManager().getDefaultActivityIcon();
        }

        if (sHandler != null) {
        if (sHandler != null && loadDataInBackground) {
            synchronized (sRequestQueue) {
                sRequestQueue.add(this);
            }