diff --git a/src/com/android/settings/applications/AppStatePowerBridge.java b/src/com/android/settings/applications/AppStatePowerBridge.java index ce0354412e7..31412a7684b 100644 --- a/src/com/android/settings/applications/AppStatePowerBridge.java +++ b/src/com/android/settings/applications/AppStatePowerBridge.java @@ -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 diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java index a00ea8e2e68..51b24e1913b 100644 --- a/src/com/android/settings/applications/manageapplications/ManageApplications.java +++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java @@ -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 diff --git a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java index 69b5e9e3139..092f6270a5d 100644 --- a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java @@ -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 diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java index ab3ce8da0a3..d526f4b5bcf 100644 --- a/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java @@ -48,7 +48,7 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC mFragment = fragment; mSettingsActivity = settingsActivity; mPackageName = packageName; - mBackend = PowerWhitelistBackend.getInstance(); + mBackend = PowerWhitelistBackend.getInstance(mSettingsActivity); } @VisibleForTesting diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java index 4f707008953..7dfa0befa73 100644 --- a/src/com/android/settings/fuelgauge/HighPowerDetail.java +++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java @@ -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,10 +172,10 @@ 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); + : R.string.high_power_off); } public static void show(Fragment caller, int uid, String packageName, int requestCode) { diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java index 84ef8641bdd..55081cd81f9 100644 --- a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java +++ b/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java @@ -30,12 +30,8 @@ import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; import android.os.Bundle; -import android.os.Process; import android.os.StatsDimensionsValue; -import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import android.support.annotation.GuardedBy; @@ -44,7 +40,6 @@ import android.util.Log; import android.util.Pair; import com.android.internal.logging.nano.MetricsProto; -import com.android.internal.os.BatteryStatsHelper; import com.android.internal.util.ArrayUtils; import com.android.settings.R; import com.android.settings.fuelgauge.BatteryUtils; @@ -101,7 +96,8 @@ public class AnomalyDetectionJobService extends JobService { final BatteryUtils batteryUtils = BatteryUtils.getInstance(this); final ContentResolver contentResolver = getContentResolver(); final UserManager userManager = getSystemService(UserManager.class); - final PowerWhitelistBackend powerWhitelistBackend = PowerWhitelistBackend.getInstance(); + final PowerWhitelistBackend powerWhitelistBackend = + PowerWhitelistBackend.getInstance(context); final PowerUsageFeatureProvider powerUsageFeatureProvider = FeatureFactory .getFactory(this).getPowerUsageFeatureProvider(this); final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceControllerTest.java index b454416a443..dec9c6a3c96 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceControllerTest.java @@ -115,6 +115,10 @@ public class BatteryOptimizationPreferenceControllerTest { */ public static class TestPowerWhitelistBackend extends PowerWhitelistBackend { + public TestPowerWhitelistBackend(Context context) { + super(context); + } + @Override public void refreshList() { // Do nothing so we could mock it without error