*/
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;
*/
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
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
} 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) {
return true;
}
ApplicationsState.AppEntry entry = mEntries.get(position);
- return !PowerWhitelistBackend.getInstance().isSysWhitelisted(entry.info.packageName);
+ return !PowerWhitelistBackend.getInstance(mContext)
+ .isSysWhitelisted(entry.info.packageName);
}
@Override
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
mFragment = fragment;
mSettingsActivity = settingsActivity;
mPackageName = packageName;
- mBackend = PowerWhitelistBackend.getInstance();
+ mBackend = PowerWhitelistBackend.getInstance(mSettingsActivity);
}
@VisibleForTesting
@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) {
}
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) {
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;
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;
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
*/
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