Plumb context object to PowerWhitelistBackend.
Change-Id: Ice0d037625d47f1f668b00499a7f1ad2302cc0ba Fixes: 76435804 Test: robotests
This commit is contained in:
@@ -15,6 +15,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.applications;
|
package com.android.settings.applications;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.settingslib.applications.ApplicationsState;
|
import com.android.settingslib.applications.ApplicationsState;
|
||||||
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
||||||
import com.android.settingslib.applications.ApplicationsState.AppFilter;
|
import com.android.settingslib.applications.ApplicationsState.AppFilter;
|
||||||
@@ -28,10 +30,11 @@ import java.util.ArrayList;
|
|||||||
*/
|
*/
|
||||||
public class AppStatePowerBridge extends AppStateBaseBridge {
|
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);
|
super(appState, callback);
|
||||||
|
mBackend = PowerWhitelistBackend.getInstance(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -50,11 +53,6 @@ public class AppStatePowerBridge extends AppStateBaseBridge {
|
|||||||
app.extraInfo = mBackend.isWhitelisted(pkg) ? Boolean.TRUE : Boolean.FALSE;
|
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(
|
public static final AppFilter FILTER_POWER_WHITELISTED = new CompoundFilter(
|
||||||
ApplicationsState.FILTER_WITHOUT_DISABLED_UNTIL_USED, new AppFilter() {
|
ApplicationsState.FILTER_WITHOUT_DISABLED_UNTIL_USED, new AppFilter() {
|
||||||
@Override
|
@Override
|
||||||
|
@@ -893,7 +893,7 @@ public class ManageApplications extends InstrumentedFragment
|
|||||||
} else if (mManageApplications.mListType == LIST_TYPE_USAGE_ACCESS) {
|
} else if (mManageApplications.mListType == LIST_TYPE_USAGE_ACCESS) {
|
||||||
mExtraInfoBridge = new AppStateUsageBridge(mContext, mState, this);
|
mExtraInfoBridge = new AppStateUsageBridge(mContext, mState, this);
|
||||||
} else if (mManageApplications.mListType == LIST_TYPE_HIGH_POWER) {
|
} 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) {
|
} else if (mManageApplications.mListType == LIST_TYPE_OVERLAY) {
|
||||||
mExtraInfoBridge = new AppStateOverlayBridge(mContext, mState, this);
|
mExtraInfoBridge = new AppStateOverlayBridge(mContext, mState, this);
|
||||||
} else if (mManageApplications.mListType == LIST_TYPE_WRITE_SETTINGS) {
|
} else if (mManageApplications.mListType == LIST_TYPE_WRITE_SETTINGS) {
|
||||||
@@ -1285,7 +1285,8 @@ public class ManageApplications extends InstrumentedFragment
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
ApplicationsState.AppEntry entry = mEntries.get(position);
|
ApplicationsState.AppEntry entry = mEntries.get(position);
|
||||||
return !PowerWhitelistBackend.getInstance().isSysWhitelisted(entry.info.packageName);
|
return !PowerWhitelistBackend.getInstance(mContext)
|
||||||
|
.isSysWhitelisted(entry.info.packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -56,7 +56,7 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
|
|||||||
|
|
||||||
public BackgroundActivityPreferenceController(Context context,
|
public BackgroundActivityPreferenceController(Context context,
|
||||||
InstrumentedPreferenceFragment fragment, int uid, String packageName) {
|
InstrumentedPreferenceFragment fragment, int uid, String packageName) {
|
||||||
this(context, fragment, uid, packageName, PowerWhitelistBackend.getInstance());
|
this(context, fragment, uid, packageName, PowerWhitelistBackend.getInstance(context));
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@@ -48,7 +48,7 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
|
|||||||
mFragment = fragment;
|
mFragment = fragment;
|
||||||
mSettingsActivity = settingsActivity;
|
mSettingsActivity = settingsActivity;
|
||||||
mPackageName = packageName;
|
mPackageName = packageName;
|
||||||
mBackend = PowerWhitelistBackend.getInstance();
|
mBackend = PowerWhitelistBackend.getInstance(mSettingsActivity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@@ -67,12 +67,13 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
mBatteryUtils = BatteryUtils.getInstance(getContext());
|
final Context context = getContext();
|
||||||
mBackend = PowerWhitelistBackend.getInstance();
|
mBatteryUtils = BatteryUtils.getInstance(context);
|
||||||
|
mBackend = PowerWhitelistBackend.getInstance(context);
|
||||||
|
|
||||||
mPackageName = getArguments().getString(AppInfoBase.ARG_PACKAGE_NAME);
|
mPackageName = getArguments().getString(AppInfoBase.ARG_PACKAGE_NAME);
|
||||||
mPackageUid = getArguments().getInt(AppInfoBase.ARG_PACKAGE_UID);
|
mPackageUid = getArguments().getInt(AppInfoBase.ARG_PACKAGE_UID);
|
||||||
PackageManager pm = getContext().getPackageManager();
|
final PackageManager pm = context.getPackageManager();
|
||||||
try {
|
try {
|
||||||
mLabel = pm.getApplicationInfo(mPackageName, 0).loadLabel(pm);
|
mLabel = pm.getApplicationInfo(mPackageName, 0).loadLabel(pm);
|
||||||
} catch (NameNotFoundException e) {
|
} catch (NameNotFoundException e) {
|
||||||
@@ -171,7 +172,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static CharSequence getSummary(Context context, String pkg) {
|
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
|
return context.getString(powerWhitelist.isSysWhitelisted(pkg) ? R.string.high_power_system
|
||||||
: powerWhitelist.isWhitelisted(pkg) ? R.string.high_power_on
|
: powerWhitelist.isWhitelisted(pkg) ? R.string.high_power_on
|
||||||
: R.string.high_power_off);
|
: R.string.high_power_off);
|
||||||
|
@@ -30,12 +30,8 @@ import android.content.ComponentName;
|
|||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ApplicationInfo;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Process;
|
|
||||||
import android.os.StatsDimensionsValue;
|
import android.os.StatsDimensionsValue;
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
@@ -46,7 +42,6 @@ import android.util.Log;
|
|||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.internal.os.BatteryStatsHelper;
|
|
||||||
import com.android.internal.util.ArrayUtils;
|
import com.android.internal.util.ArrayUtils;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.fuelgauge.BatteryUtils;
|
import com.android.settings.fuelgauge.BatteryUtils;
|
||||||
@@ -103,7 +98,8 @@ public class AnomalyDetectionJobService extends JobService {
|
|||||||
final BatteryUtils batteryUtils = BatteryUtils.getInstance(this);
|
final BatteryUtils batteryUtils = BatteryUtils.getInstance(this);
|
||||||
final ContentResolver contentResolver = getContentResolver();
|
final ContentResolver contentResolver = getContentResolver();
|
||||||
final UserManager userManager = getSystemService(UserManager.class);
|
final UserManager userManager = getSystemService(UserManager.class);
|
||||||
final PowerWhitelistBackend powerWhitelistBackend = PowerWhitelistBackend.getInstance();
|
final PowerWhitelistBackend powerWhitelistBackend =
|
||||||
|
PowerWhitelistBackend.getInstance(context);
|
||||||
final PowerUsageFeatureProvider powerUsageFeatureProvider = FeatureFactory
|
final PowerUsageFeatureProvider powerUsageFeatureProvider = FeatureFactory
|
||||||
.getFactory(this).getPowerUsageFeatureProvider(this);
|
.getFactory(this).getPowerUsageFeatureProvider(this);
|
||||||
final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory
|
final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory
|
||||||
|
@@ -115,6 +115,10 @@ public class BatteryOptimizationPreferenceControllerTest {
|
|||||||
*/
|
*/
|
||||||
public static class TestPowerWhitelistBackend extends PowerWhitelistBackend {
|
public static class TestPowerWhitelistBackend extends PowerWhitelistBackend {
|
||||||
|
|
||||||
|
public TestPowerWhitelistBackend(Context context) {
|
||||||
|
super(context);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void refreshList() {
|
public void refreshList() {
|
||||||
// Do nothing so we could mock it without error
|
// Do nothing so we could mock it without error
|
||||||
|
Reference in New Issue
Block a user