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

Commit 3489f650 authored by Fan Zhang's avatar Fan Zhang
Browse files

Plumb context object to PowerWhitelistBackend.

Change-Id: Ice0d037625d47f1f668b00499a7f1ad2302cc0ba
Merged-In: Ice0d037625d47f1f668b00499a7f1ad2302cc0ba
Fixes: 76435804
Test: robotests
parent 2357c1cd
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
 */
package com.android.settings.applications;

import android.content.Context;

import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.applications.ApplicationsState.AppFilter;
@@ -28,10 +30,11 @@ import java.util.ArrayList;
 */
public class AppStatePowerBridge extends AppStateBaseBridge {

    private final PowerWhitelistBackend mBackend = PowerWhitelistBackend.getInstance();
    private final PowerWhitelistBackend mBackend;

    public AppStatePowerBridge(ApplicationsState appState, Callback callback) {
    public AppStatePowerBridge(Context context, ApplicationsState appState, Callback callback) {
        super(appState, callback);
        mBackend = PowerWhitelistBackend.getInstance(context);
    }

    @Override
@@ -50,11 +53,6 @@ public class AppStatePowerBridge extends AppStateBaseBridge {
        app.extraInfo = mBackend.isWhitelisted(pkg) ? Boolean.TRUE : Boolean.FALSE;
    }

    public static class HighPowerState {
        public boolean isHighPower;
        public boolean isSystemHighPower;
    }

    public static final AppFilter FILTER_POWER_WHITELISTED = new CompoundFilter(
            ApplicationsState.FILTER_WITHOUT_DISABLED_UNTIL_USED, new AppFilter() {
        @Override
+3 −2
Original line number Diff line number Diff line
@@ -884,7 +884,7 @@ public class ManageApplications extends InstrumentedFragment
            } else if (mManageApplications.mListType == LIST_TYPE_USAGE_ACCESS) {
                mExtraInfoBridge = new AppStateUsageBridge(mContext, mState, this);
            } else if (mManageApplications.mListType == LIST_TYPE_HIGH_POWER) {
                mExtraInfoBridge = new AppStatePowerBridge(mState, this);
                mExtraInfoBridge = new AppStatePowerBridge(mContext, mState, this);
            } else if (mManageApplications.mListType == LIST_TYPE_OVERLAY) {
                mExtraInfoBridge = new AppStateOverlayBridge(mContext, mState, this);
            } else if (mManageApplications.mListType == LIST_TYPE_WRITE_SETTINGS) {
@@ -1276,7 +1276,8 @@ public class ManageApplications extends InstrumentedFragment
                return true;
            }
            ApplicationsState.AppEntry entry = mEntries.get(position);
            return !PowerWhitelistBackend.getInstance().isSysWhitelisted(entry.info.packageName);
            return !PowerWhitelistBackend.getInstance(mContext)
                    .isSysWhitelisted(entry.info.packageName);
        }

        @Override
+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo

    public BackgroundActivityPreferenceController(Context context,
            InstrumentedPreferenceFragment fragment, int uid, String packageName) {
        this(context, fragment, uid, packageName, PowerWhitelistBackend.getInstance());
        this(context, fragment, uid, packageName, PowerWhitelistBackend.getInstance(context));
    }

    @VisibleForTesting
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
        mFragment = fragment;
        mSettingsActivity = settingsActivity;
        mPackageName = packageName;
        mBackend = PowerWhitelistBackend.getInstance();
        mBackend = PowerWhitelistBackend.getInstance(mSettingsActivity);
    }

    @VisibleForTesting
+6 −5
Original line number Diff line number Diff line
@@ -67,12 +67,13 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mBatteryUtils = BatteryUtils.getInstance(getContext());
        mBackend = PowerWhitelistBackend.getInstance();
        final Context context = getContext();
        mBatteryUtils = BatteryUtils.getInstance(context);
        mBackend = PowerWhitelistBackend.getInstance(context);

        mPackageName = getArguments().getString(AppInfoBase.ARG_PACKAGE_NAME);
        mPackageUid = getArguments().getInt(AppInfoBase.ARG_PACKAGE_UID);
        PackageManager pm = getContext().getPackageManager();
        final PackageManager pm = context.getPackageManager();
        try {
            mLabel = pm.getApplicationInfo(mPackageName, 0).loadLabel(pm);
        } catch (NameNotFoundException e) {
@@ -171,7 +172,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
    }

    public static CharSequence getSummary(Context context, String pkg) {
        PowerWhitelistBackend powerWhitelist = PowerWhitelistBackend.getInstance();
        PowerWhitelistBackend powerWhitelist = PowerWhitelistBackend.getInstance(context);
        return context.getString(powerWhitelist.isSysWhitelisted(pkg) ? R.string.high_power_system
                : powerWhitelist.isWhitelisted(pkg) ? R.string.high_power_on
                        : R.string.high_power_off);
Loading