Update language to comply with Android's inclusive language guidance

Refactor PowerWhitelistBackend to PowerAllowlistBackend
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: I3d56e6dac1515b49a89f59c34edf403ecb891420
This commit is contained in:
Edgar Wang
2020-08-03 14:02:24 +08:00
parent 867e9db69d
commit f480c1c3fc
16 changed files with 159 additions and 207 deletions

View File

@@ -21,20 +21,20 @@ 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;
import com.android.settingslib.applications.ApplicationsState.CompoundFilter; import com.android.settingslib.applications.ApplicationsState.CompoundFilter;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import java.util.ArrayList; import java.util.ArrayList;
/** /**
* Connects data from the PowerWhitelistBackend to ApplicationsState. * Connects data from the PowerAllowlistBackend to ApplicationsState.
*/ */
public class AppStatePowerBridge extends AppStateBaseBridge { public class AppStatePowerBridge extends AppStateBaseBridge {
private final PowerWhitelistBackend mBackend; private final PowerAllowlistBackend mBackend;
public AppStatePowerBridge(Context context, ApplicationsState appState, Callback callback) { public AppStatePowerBridge(Context context, ApplicationsState appState, Callback callback) {
super(appState, callback); super(appState, callback);
mBackend = PowerWhitelistBackend.getInstance(context); mBackend = PowerAllowlistBackend.getInstance(context);
} }
@Override @Override
@@ -43,17 +43,17 @@ public class AppStatePowerBridge extends AppStateBaseBridge {
final int N = apps.size(); final int N = apps.size();
for (int i = 0; i < N; i++) { for (int i = 0; i < N; i++) {
AppEntry app = apps.get(i); AppEntry app = apps.get(i);
app.extraInfo = mBackend.isWhitelisted(app.info.packageName) app.extraInfo = mBackend.isAllowlisted(app.info.packageName)
? Boolean.TRUE : Boolean.FALSE; ? Boolean.TRUE : Boolean.FALSE;
} }
} }
@Override @Override
protected void updateExtraInfo(AppEntry app, String pkg, int uid) { protected void updateExtraInfo(AppEntry app, String pkg, int uid) {
app.extraInfo = mBackend.isWhitelisted(pkg) ? Boolean.TRUE : Boolean.FALSE; app.extraInfo = mBackend.isAllowlisted(pkg) ? Boolean.TRUE : Boolean.FALSE;
} }
public static final AppFilter FILTER_POWER_WHITELISTED = new CompoundFilter( public static final AppFilter FILTER_POWER_ALLOWLISTED = new CompoundFilter(
ApplicationsState.FILTER_WITHOUT_DISABLED_UNTIL_USED, new AppFilter() { ApplicationsState.FILTER_WITHOUT_DISABLED_UNTIL_USED, new AppFilter() {
@Override @Override
public void init() { public void init() {

View File

@@ -35,8 +35,8 @@ import com.android.settingslib.applications.ApplicationsState;
public class AppFilterRegistry { public class AppFilterRegistry {
@IntDef(value = { @IntDef(value = {
FILTER_APPS_POWER_WHITELIST, FILTER_APPS_POWER_ALLOWLIST,
FILTER_APPS_POWER_WHITELIST_ALL, FILTER_APPS_POWER_ALLOWLIST_ALL,
FILTER_APPS_ALL, FILTER_APPS_ALL,
FILTER_APPS_ENABLED, FILTER_APPS_ENABLED,
FILTER_APPS_INSTANT, FILTER_APPS_INSTANT,
@@ -56,8 +56,8 @@ public class AppFilterRegistry {
// Filter options used for displayed list of applications // Filter options used for displayed list of applications
// Filters will appear sorted based on their value defined here. // Filters will appear sorted based on their value defined here.
public static final int FILTER_APPS_POWER_WHITELIST = 0; public static final int FILTER_APPS_POWER_ALLOWLIST = 0;
public static final int FILTER_APPS_POWER_WHITELIST_ALL = 1; public static final int FILTER_APPS_POWER_ALLOWLIST_ALL = 1;
public static final int FILTER_APPS_RECENT = 2; public static final int FILTER_APPS_RECENT = 2;
public static final int FILTER_APPS_FREQUENT = 3; public static final int FILTER_APPS_FREQUENT = 3;
public static final int FILTER_APPS_ALL = 4; public static final int FILTER_APPS_ALL = 4;
@@ -82,20 +82,20 @@ public class AppFilterRegistry {
private AppFilterRegistry() { private AppFilterRegistry() {
mFilters = new AppFilterItem[18]; mFilters = new AppFilterItem[18];
// High power whitelist, on // High power allowlist, on
mFilters[FILTER_APPS_POWER_WHITELIST] = new AppFilterItem( mFilters[FILTER_APPS_POWER_ALLOWLIST] = new AppFilterItem(
new ApplicationsState.CompoundFilter( new ApplicationsState.CompoundFilter(
AppStatePowerBridge.FILTER_POWER_WHITELISTED, AppStatePowerBridge.FILTER_POWER_ALLOWLISTED,
ApplicationsState.FILTER_ALL_ENABLED), ApplicationsState.FILTER_ALL_ENABLED),
FILTER_APPS_POWER_WHITELIST, FILTER_APPS_POWER_ALLOWLIST,
R.string.high_power_filter_on); R.string.high_power_filter_on);
// Without disabled until used // Without disabled until used
mFilters[FILTER_APPS_POWER_WHITELIST_ALL] = new AppFilterItem( mFilters[FILTER_APPS_POWER_ALLOWLIST_ALL] = new AppFilterItem(
new ApplicationsState.CompoundFilter( new ApplicationsState.CompoundFilter(
ApplicationsState.FILTER_WITHOUT_DISABLED_UNTIL_USED, ApplicationsState.FILTER_WITHOUT_DISABLED_UNTIL_USED,
ApplicationsState.FILTER_ALL_ENABLED), ApplicationsState.FILTER_ALL_ENABLED),
FILTER_APPS_POWER_WHITELIST_ALL, FILTER_APPS_POWER_ALLOWLIST_ALL,
R.string.filter_all_apps); R.string.filter_all_apps);
// All apps // All apps
@@ -200,7 +200,7 @@ public class AppFilterRegistry {
case ManageApplications.LIST_TYPE_USAGE_ACCESS: case ManageApplications.LIST_TYPE_USAGE_ACCESS:
return FILTER_APPS_USAGE_ACCESS; return FILTER_APPS_USAGE_ACCESS;
case ManageApplications.LIST_TYPE_HIGH_POWER: case ManageApplications.LIST_TYPE_HIGH_POWER:
return FILTER_APPS_POWER_WHITELIST; return FILTER_APPS_POWER_ALLOWLIST;
case ManageApplications.LIST_TYPE_OVERLAY: case ManageApplications.LIST_TYPE_OVERLAY:
return FILTER_APPS_WITH_OVERLAY; return FILTER_APPS_WITH_OVERLAY;
case ManageApplications.LIST_TYPE_WRITE_SETTINGS: case ManageApplications.LIST_TYPE_WRITE_SETTINGS:

View File

@@ -25,8 +25,8 @@ import static com.android.settings.applications.manageapplications.AppFilterRegi
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_FREQUENT; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_FREQUENT;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_INSTANT; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_INSTANT;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_PERSONAL; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_PERSONAL;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_POWER_WHITELIST; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_POWER_ALLOWLIST;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_POWER_WHITELIST_ALL; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_POWER_ALLOWLIST_ALL;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_RECENT; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_RECENT;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_WORK; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_WORK;
import static com.android.settings.search.actionbar.SearchMenuController.MENU_SEARCH; import static com.android.settings.search.actionbar.SearchMenuController.MENU_SEARCH;
@@ -125,7 +125,7 @@ import com.android.settingslib.applications.ApplicationsState.AppFilter;
import com.android.settingslib.applications.ApplicationsState.CompoundFilter; import com.android.settingslib.applications.ApplicationsState.CompoundFilter;
import com.android.settingslib.applications.ApplicationsState.VolumeFilter; import com.android.settingslib.applications.ApplicationsState.VolumeFilter;
import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.widget.settingsspinner.SettingsSpinnerAdapter; import com.android.settingslib.widget.settingsspinner.SettingsSpinnerAdapter;
@@ -479,7 +479,7 @@ public class ManageApplications extends InstrumentedFragment
mFilterAdapter.enableFilter(FILTER_APPS_ALL); mFilterAdapter.enableFilter(FILTER_APPS_ALL);
} }
if (mListType == LIST_TYPE_HIGH_POWER) { if (mListType == LIST_TYPE_HIGH_POWER) {
mFilterAdapter.enableFilter(FILTER_APPS_POWER_WHITELIST_ALL); mFilterAdapter.enableFilter(FILTER_APPS_POWER_ALLOWLIST_ALL);
} }
setCompositeFilter(); setCompositeFilter();
@@ -1011,7 +1011,7 @@ public class ManageApplications extends InstrumentedFragment
private boolean mHasReceivedBridgeCallback; private boolean mHasReceivedBridgeCallback;
private FileViewHolderController mExtraViewController; private FileViewHolderController mExtraViewController;
private SearchFilter mSearchFilter; private SearchFilter mSearchFilter;
private PowerWhitelistBackend mBackend; private PowerAllowlistBackend mBackend;
// This is to remember and restore the last scroll position when this // This is to remember and restore the last scroll position when this
// fragment is paused. We need this special handling because app entries are added gradually // fragment is paused. We need this special handling because app entries are added gradually
@@ -1036,7 +1036,7 @@ public class ManageApplications extends InstrumentedFragment
mContext = manageApplications.getActivity(); mContext = manageApplications.getActivity();
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext); mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
mAppFilter = appFilter; mAppFilter = appFilter;
mBackend = PowerWhitelistBackend.getInstance(mContext); mBackend = PowerAllowlistBackend.getInstance(mContext);
if (mManageApplications.mListType == LIST_TYPE_NOTIFICATION) { if (mManageApplications.mListType == LIST_TYPE_NOTIFICATION) {
mExtraInfoBridge = new AppStateNotificationBridge(mContext, mState, this, mExtraInfoBridge = new AppStateNotificationBridge(mContext, mState, this,
manageApplications.mUsageStatsManager, manageApplications.mUsageStatsManager,
@@ -1292,8 +1292,8 @@ public class ManageApplications extends InstrumentedFragment
Log.d(TAG, "onRebuildComplete size=" + entries.size()); Log.d(TAG, "onRebuildComplete size=" + entries.size());
} }
final int filterType = mAppFilter.getFilterType(); final int filterType = mAppFilter.getFilterType();
if (filterType == FILTER_APPS_POWER_WHITELIST || if (filterType == FILTER_APPS_POWER_ALLOWLIST
filterType == FILTER_APPS_POWER_WHITELIST_ALL) { || filterType == FILTER_APPS_POWER_ALLOWLIST_ALL) {
entries = removeDuplicateIgnoringUser(entries); entries = removeDuplicateIgnoringUser(entries);
} }
mEntries = entries; mEntries = entries;
@@ -1451,7 +1451,7 @@ public class ManageApplications extends InstrumentedFragment
} }
ApplicationsState.AppEntry entry = mEntries.get(position); ApplicationsState.AppEntry entry = mEntries.get(position);
return !mBackend.isSysWhitelisted(entry.info.packageName) return !mBackend.isSysAllowlisted(entry.info.packageName)
&& !mBackend.isDefaultActiveApp(entry.info.packageName); && !mBackend.isDefaultActiveApp(entry.info.packageName);
} }

View File

@@ -33,7 +33,7 @@ import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip; import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
import com.android.settingslib.RestrictedPreference; import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
/** /**
* Controller to control whether an app can run in the background * Controller to control whether an app can run in the background
@@ -54,18 +54,18 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
BatteryUtils mBatteryUtils; BatteryUtils mBatteryUtils;
private InstrumentedPreferenceFragment mFragment; private InstrumentedPreferenceFragment mFragment;
private String mTargetPackage; private String mTargetPackage;
private PowerWhitelistBackend mPowerWhitelistBackend; private PowerAllowlistBackend mPowerAllowlistBackend;
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(context)); this(context, fragment, uid, packageName, PowerAllowlistBackend.getInstance(context));
} }
@VisibleForTesting @VisibleForTesting
BackgroundActivityPreferenceController(Context context, InstrumentedPreferenceFragment fragment, BackgroundActivityPreferenceController(Context context, InstrumentedPreferenceFragment fragment,
int uid, String packageName, PowerWhitelistBackend backend) { int uid, String packageName, PowerAllowlistBackend backend) {
super(context); super(context);
mPowerWhitelistBackend = backend; mPowerAllowlistBackend = backend;
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mDpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); mDpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
@@ -84,8 +84,8 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
} }
final int mode = mAppOpsManager final int mode = mAppOpsManager
.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, mUid, mTargetPackage); .checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, mUid, mTargetPackage);
final boolean whitelisted = mPowerWhitelistBackend.isWhitelisted(mTargetPackage); final boolean allowlisted = mPowerAllowlistBackend.isAllowlisted(mTargetPackage);
if (whitelisted || mode == AppOpsManager.MODE_ERRORED if (allowlisted || mode == AppOpsManager.MODE_ERRORED
|| Utils.isProfileOrDeviceOwner(mUserManager, mDpm, mTargetPackage)) { || Utils.isProfileOrDeviceOwner(mUserManager, mDpm, mTargetPackage)) {
preference.setEnabled(false); preference.setEnabled(false);
} else { } else {
@@ -117,7 +117,7 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
} }
public void updateSummary(Preference preference) { public void updateSummary(Preference preference) {
if (mPowerWhitelistBackend.isWhitelisted(mTargetPackage)) { if (mPowerAllowlistBackend.isAllowlisted(mTargetPackage)) {
preference.setSummary(R.string.background_activity_summary_whitelisted); preference.setSummary(R.string.background_activity_summary_whitelisted);
return; return;
} }

View File

@@ -27,7 +27,7 @@ import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.SubSettingLauncher;
import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
/** /**
* Controller that jumps to high power optimization fragment * Controller that jumps to high power optimization fragment
@@ -38,7 +38,7 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
private static final String KEY_BACKGROUND_ACTIVITY = "battery_optimization"; private static final String KEY_BACKGROUND_ACTIVITY = "battery_optimization";
private PowerWhitelistBackend mBackend; private PowerAllowlistBackend mBackend;
private DashboardFragment mFragment; private DashboardFragment mFragment;
private SettingsActivity mSettingsActivity; private SettingsActivity mSettingsActivity;
private String mPackageName; private String mPackageName;
@@ -49,12 +49,12 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
mFragment = fragment; mFragment = fragment;
mSettingsActivity = settingsActivity; mSettingsActivity = settingsActivity;
mPackageName = packageName; mPackageName = packageName;
mBackend = PowerWhitelistBackend.getInstance(mSettingsActivity); mBackend = PowerAllowlistBackend.getInstance(mSettingsActivity);
} }
@VisibleForTesting @VisibleForTesting
BatteryOptimizationPreferenceController(SettingsActivity settingsActivity, BatteryOptimizationPreferenceController(SettingsActivity settingsActivity,
DashboardFragment fragment, String packageName, PowerWhitelistBackend backend) { DashboardFragment fragment, String packageName, PowerAllowlistBackend backend) {
super(settingsActivity); super(settingsActivity);
mFragment = fragment; mFragment = fragment;
mSettingsActivity = settingsActivity; mSettingsActivity = settingsActivity;
@@ -69,8 +69,8 @@ public class BatteryOptimizationPreferenceController extends AbstractPreferenceC
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
final boolean isWhitelisted = mBackend.isWhitelisted(mPackageName); final boolean isAllowlisted = mBackend.isAllowlisted(mPackageName);
preference.setSummary(isWhitelisted ? R.string.high_power_on : R.string.high_power_off); preference.setSummary(isAllowlisted ? R.string.high_power_on : R.string.high_power_off);
} }
@Override @Override

View File

@@ -50,7 +50,7 @@ import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.Estimate;
import com.android.settingslib.fuelgauge.EstimateKt; import com.android.settingslib.fuelgauge.EstimateKt;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import com.android.settingslib.utils.PowerUtil; import com.android.settingslib.utils.PowerUtil;
import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.utils.ThreadUtils;
@@ -578,7 +578,7 @@ public class BatteryUtils {
/** /**
* Return {@code true} if we should hide anomaly app represented by {@code uid} * Return {@code true} if we should hide anomaly app represented by {@code uid}
*/ */
public boolean shouldHideAnomaly(PowerWhitelistBackend powerWhitelistBackend, int uid, public boolean shouldHideAnomaly(PowerAllowlistBackend powerAllowlistBackend, int uid,
AnomalyInfo anomalyInfo) { AnomalyInfo anomalyInfo) {
final String[] packageNames = mPackageManager.getPackagesForUid(uid); final String[] packageNames = mPackageManager.getPackagesForUid(uid);
if (ArrayUtils.isEmpty(packageNames)) { if (ArrayUtils.isEmpty(packageNames)) {
@@ -586,7 +586,7 @@ public class BatteryUtils {
return true; return true;
} }
return isSystemUid(uid) || powerWhitelistBackend.isWhitelisted(packageNames) return isSystemUid(uid) || powerAllowlistBackend.isAllowlisted(packageNames)
|| (isSystemApp(mPackageManager, packageNames) && !hasLauncherEntry(packageNames)) || (isSystemApp(mPackageManager, packageNames) && !hasLauncherEntry(packageNames))
|| (isExcessiveBackgroundAnomaly(anomalyInfo) && !isPreOApp(packageNames)); || (isExcessiveBackgroundAnomaly(anomalyInfo) && !isPreOApp(packageNames));
} }

View File

@@ -38,7 +38,7 @@ import com.android.settings.applications.AppInfoBase;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
public class HighPowerDetail extends InstrumentedDialogFragment implements OnClickListener, public class HighPowerDetail extends InstrumentedDialogFragment implements OnClickListener,
View.OnClickListener { View.OnClickListener {
@@ -46,7 +46,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
private static final String ARG_DEFAULT_ON = "default_on"; private static final String ARG_DEFAULT_ON = "default_on";
@VisibleForTesting @VisibleForTesting
PowerWhitelistBackend mBackend; PowerAllowlistBackend mBackend;
@VisibleForTesting @VisibleForTesting
BatteryUtils mBatteryUtils; BatteryUtils mBatteryUtils;
@VisibleForTesting @VisibleForTesting
@@ -70,7 +70,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
final Context context = getContext(); final Context context = getContext();
mBatteryUtils = BatteryUtils.getInstance(context); mBatteryUtils = BatteryUtils.getInstance(context);
mBackend = PowerWhitelistBackend.getInstance(context); mBackend = PowerAllowlistBackend.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);
@@ -81,7 +81,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
mLabel = mPackageName; mLabel = mPackageName;
} }
mDefaultOn = getArguments().getBoolean(ARG_DEFAULT_ON); mDefaultOn = getArguments().getBoolean(ARG_DEFAULT_ON);
mIsEnabled = mDefaultOn || mBackend.isWhitelisted(mPackageName); mIsEnabled = mDefaultOn || mBackend.isAllowlisted(mPackageName);
} }
public Checkable setup(View view, boolean on) { public Checkable setup(View view, boolean on) {
@@ -91,7 +91,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
? R.string.ignore_optimizations_on_desc : R.string.ignore_optimizations_off_desc); ? R.string.ignore_optimizations_on_desc : R.string.ignore_optimizations_off_desc);
view.setClickable(true); view.setClickable(true);
view.setOnClickListener(this); view.setOnClickListener(this);
if (!on && mBackend.isSysWhitelisted(mPackageName)) { if (!on && mBackend.isSysAllowlisted(mPackageName)) {
view.setEnabled(false); view.setEnabled(false);
} }
return (Checkable) view; return (Checkable) view;
@@ -103,7 +103,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
.setTitle(mLabel) .setTitle(mLabel)
.setNegativeButton(R.string.cancel, null) .setNegativeButton(R.string.cancel, null)
.setView(R.layout.ignore_optimizations_content); .setView(R.layout.ignore_optimizations_content);
if (!mBackend.isSysWhitelisted(mPackageName)) { if (!mBackend.isSysAllowlisted(mPackageName)) {
b.setPositiveButton(R.string.done, this); b.setPositiveButton(R.string.done, this);
} }
return b.create(); return b.create();
@@ -137,7 +137,7 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) { if (which == DialogInterface.BUTTON_POSITIVE) {
boolean newValue = mIsEnabled; boolean newValue = mIsEnabled;
boolean oldValue = mBackend.isWhitelisted(mPackageName); boolean oldValue = mBackend.isAllowlisted(mPackageName);
if (newValue != oldValue) { if (newValue != oldValue) {
logSpecialPermissionChange(newValue, mPackageName, getContext()); logSpecialPermissionChange(newValue, mPackageName, getContext());
if (newValue) { if (newValue) {
@@ -152,8 +152,8 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
} }
@VisibleForTesting @VisibleForTesting
static void logSpecialPermissionChange(boolean whitelist, String packageName, Context context) { static void logSpecialPermissionChange(boolean allowlist, String packageName, Context context) {
int logCategory = whitelist ? SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_DENY int logCategory = allowlist ? SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_DENY
: SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_ALLOW; : SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_ALLOW;
FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context, logCategory, FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context, logCategory,
packageName); packageName);
@@ -173,16 +173,16 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli
} }
public static CharSequence getSummary(Context context, String pkg) { public static CharSequence getSummary(Context context, String pkg) {
return getSummary(context, PowerWhitelistBackend.getInstance(context), pkg); return getSummary(context, PowerAllowlistBackend.getInstance(context), pkg);
} }
@VisibleForTesting @VisibleForTesting
static CharSequence getSummary(Context context, PowerWhitelistBackend powerWhitelist, static CharSequence getSummary(Context context, PowerAllowlistBackend powerAllowlist,
String pkg) { String pkg) {
return context.getString( return context.getString(
powerWhitelist.isSysWhitelisted(pkg) || powerWhitelist.isDefaultActiveApp(pkg) powerAllowlist.isSysAllowlisted(pkg) || powerAllowlist.isDefaultActiveApp(pkg)
? R.string.high_power_system ? R.string.high_power_system
: powerWhitelist.isWhitelisted(pkg) : powerAllowlist.isAllowlisted(pkg)
? R.string.high_power_on ? R.string.high_power_on
: R.string.high_power_off); : R.string.high_power_off);
} }

View File

@@ -46,7 +46,7 @@ import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.utils.ThreadUtils;
import java.util.ArrayList; import java.util.ArrayList;
@@ -96,8 +96,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 = final PowerAllowlistBackend powerAllowlistBackend =
PowerWhitelistBackend.getInstance(context); PowerAllowlistBackend.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
@@ -105,7 +105,7 @@ public class AnomalyDetectionJobService extends JobService {
for (JobWorkItem item = dequeueWork(params); item != null; item = dequeueWork(params)) { for (JobWorkItem item = dequeueWork(params); item != null; item = dequeueWork(params)) {
saveAnomalyToDatabase(context, userManager, saveAnomalyToDatabase(context, userManager,
batteryDatabaseManager, batteryUtils, policy, powerWhitelistBackend, batteryDatabaseManager, batteryUtils, policy, powerAllowlistBackend,
contentResolver, powerUsageFeatureProvider, metricsFeatureProvider, contentResolver, powerUsageFeatureProvider, metricsFeatureProvider,
item.getIntent().getExtras()); item.getIntent().getExtras());
@@ -127,7 +127,7 @@ public class AnomalyDetectionJobService extends JobService {
@VisibleForTesting @VisibleForTesting
void saveAnomalyToDatabase(Context context, UserManager userManager, void saveAnomalyToDatabase(Context context, UserManager userManager,
BatteryDatabaseManager databaseManager, BatteryUtils batteryUtils, BatteryDatabaseManager databaseManager, BatteryUtils batteryUtils,
BatteryTipPolicy policy, PowerWhitelistBackend powerWhitelistBackend, BatteryTipPolicy policy, PowerAllowlistBackend powerAllowlistBackend,
ContentResolver contentResolver, PowerUsageFeatureProvider powerUsageFeatureProvider, ContentResolver contentResolver, PowerUsageFeatureProvider powerUsageFeatureProvider,
MetricsFeatureProvider metricsFeatureProvider, Bundle bundle) { MetricsFeatureProvider metricsFeatureProvider, Bundle bundle) {
// The Example of intentDimsValue is: 35:{1:{1:{1:10013|}|}|} // The Example of intentDimsValue is: 35:{1:{1:{1:10013|}|}|}
@@ -151,7 +151,7 @@ public class AnomalyDetectionJobService extends JobService {
final String packageName = batteryUtils.getPackageName(uid); final String packageName = batteryUtils.getPackageName(uid);
final long versionCode = batteryUtils.getAppLongVersionCode(packageName); final long versionCode = batteryUtils.getAppLongVersionCode(packageName);
final String versionedPackage = packageName + "/" + versionCode; final String versionedPackage = packageName + "/" + versionCode;
if (batteryUtils.shouldHideAnomaly(powerWhitelistBackend, uid, anomalyInfo)) { if (batteryUtils.shouldHideAnomaly(powerAllowlistBackend, uid, anomalyInfo)) {
metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN, metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
SettingsEnums.ACTION_ANOMALY_IGNORED, SettingsEnums.ACTION_ANOMALY_IGNORED,
SettingsEnums.PAGE_UNKNOWN, SettingsEnums.PAGE_UNKNOWN,

View File

@@ -393,7 +393,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
p.setChecked(false); p.setChecked(false);
p.setTitle(app.activityName); p.setTitle(app.activityName);
p.setKey(getKeyForPackage(packageName)); p.setKey(getKeyForPackage(packageName));
p.setSettingsEnabled(hasSettings && app.masterEntry == null); p.setSettingsEnabled(hasSettings && app.primaryEntry == null);
p.setPersistent(false); p.setPersistent(false);
p.setOnPreferenceChangeListener(this); p.setOnPreferenceChangeListener(this);
p.setOnPreferenceClickListener(this); p.setOnPreferenceClickListener(this);
@@ -407,13 +407,13 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
// able to toggle this app ON (it's ON by default and immutable). // able to toggle this app ON (it's ON by default and immutable).
// Only do this for restricted profiles, not single-user restrictions // Only do this for restricted profiles, not single-user restrictions
// Also don't do this for secondary icons // Also don't do this for secondary icons
if (app.masterEntry == null) { if (app.primaryEntry == null) {
requestRestrictionsForApp(packageName, p, false); requestRestrictionsForApp(packageName, p, false);
} }
} else if (!mNewUser && isAppEnabledForUser(pi)) { } else if (!mNewUser && isAppEnabledForUser(pi)) {
p.setChecked(true); p.setChecked(true);
} }
if (app.masterEntry != null) { if (app.primaryEntry != null) {
p.setImmutable(true); p.setImmutable(true);
p.setChecked(mHelper.isPackageSelected(packageName)); p.setChecked(mHelper.isPackageSelected(packageName));
} }
@@ -436,13 +436,13 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
// - Secondary entry that cannot see primary user accounts // - Secondary entry that cannot see primary user accounts
// - Primary entry that can see primary user accounts // - Primary entry that can see primary user accounts
// Otherwise no summary is returned // Otherwise no summary is returned
if (app.masterEntry != null) { if (app.primaryEntry != null) {
if (mRestrictedProfile && pi.restrictedAccountType != null) { if (mRestrictedProfile && pi.restrictedAccountType != null) {
return getString(R.string.app_sees_restricted_accounts_and_controlled_by, return getString(R.string.app_sees_restricted_accounts_and_controlled_by,
app.masterEntry.activityName); app.primaryEntry.activityName);
} }
return getString(R.string.user_restrictions_controlled_by, return getString(R.string.user_restrictions_controlled_by,
app.masterEntry.activityName); app.primaryEntry.activityName);
} else if (pi.restrictedAccountType != null) { } else if (pi.restrictedAccountType != null) {
return getString(R.string.app_sees_restricted_accounts); return getString(R.string.app_sees_restricted_accounts);
} }

View File

@@ -16,42 +16,24 @@
package com.android.settings.applications.manageapplications; package com.android.settings.applications.manageapplications;
import static com.android.settings.applications.manageapplications.AppFilterRegistry import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_ALL;
.FILTER_APPS_ALL; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_INSTALL_SOURCES;
import static com.android.settings.applications.manageapplications.AppFilterRegistry import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_POWER_ALLOWLIST;
.FILTER_APPS_INSTALL_SOURCES; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_RECENT;
import static com.android.settings.applications.manageapplications.AppFilterRegistry import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_USAGE_ACCESS;
.FILTER_APPS_POWER_WHITELIST; import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_WITH_OVERLAY;
import static com.android.settings.applications.manageapplications.AppFilterRegistry import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_WRITE_SETTINGS;
.FILTER_APPS_RECENT; import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_GAMES;
import static com.android.settings.applications.manageapplications.AppFilterRegistry import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_HIGH_POWER;
.FILTER_APPS_USAGE_ACCESS; import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MAIN;
import static com.android.settings.applications.manageapplications.AppFilterRegistry import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MANAGE_SOURCES;
.FILTER_APPS_WITH_OVERLAY; import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MOVIES;
import static com.android.settings.applications.manageapplications.AppFilterRegistry import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NOTIFICATION;
.FILTER_APPS_WRITE_SETTINGS; import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_OVERLAY;
import static com.android.settings.applications.manageapplications.ManageApplications import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_PHOTOGRAPHY;
.LIST_TYPE_GAMES; import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_STORAGE;
import static com.android.settings.applications.manageapplications.ManageApplications import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_USAGE_ACCESS;
.LIST_TYPE_HIGH_POWER; import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WRITE_SETTINGS;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_MAIN;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_MANAGE_SOURCES;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_MOVIES;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_NOTIFICATION;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_OVERLAY;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_PHOTOGRAPHY;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_STORAGE;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_USAGE_ACCESS;
import static com.android.settings.applications.manageapplications.ManageApplications
.LIST_TYPE_WRITE_SETTINGS;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -62,27 +44,27 @@ import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
public class AppFilterRegistryTest { public class AppFilterRegistryTest {
@Test @Test
public void getDefaultType_shouldMatchForAllListType() { public void getDefaultType_shouldMatchForAllListType() {
final AppFilterRegistry registry = AppFilterRegistry.getInstance(); final AppFilterRegistry registry = AppFilterRegistry.getInstance();
assertThat(registry.getDefaultFilterType(LIST_TYPE_USAGE_ACCESS)) assertThat(registry.getDefaultFilterType(LIST_TYPE_USAGE_ACCESS))
.isEqualTo(FILTER_APPS_USAGE_ACCESS); .isEqualTo(FILTER_APPS_USAGE_ACCESS);
assertThat(registry.getDefaultFilterType(LIST_TYPE_HIGH_POWER)) assertThat(registry.getDefaultFilterType(LIST_TYPE_HIGH_POWER))
.isEqualTo(FILTER_APPS_POWER_WHITELIST); .isEqualTo(FILTER_APPS_POWER_ALLOWLIST);
assertThat(registry.getDefaultFilterType(LIST_TYPE_OVERLAY)) assertThat(registry.getDefaultFilterType(LIST_TYPE_OVERLAY))
.isEqualTo(FILTER_APPS_WITH_OVERLAY); .isEqualTo(FILTER_APPS_WITH_OVERLAY);
assertThat(registry.getDefaultFilterType(LIST_TYPE_WRITE_SETTINGS)) assertThat(registry.getDefaultFilterType(LIST_TYPE_WRITE_SETTINGS))
.isEqualTo(FILTER_APPS_WRITE_SETTINGS); .isEqualTo(FILTER_APPS_WRITE_SETTINGS);
assertThat(registry.getDefaultFilterType(LIST_TYPE_MANAGE_SOURCES)) assertThat(registry.getDefaultFilterType(LIST_TYPE_MANAGE_SOURCES))
.isEqualTo(FILTER_APPS_INSTALL_SOURCES); .isEqualTo(FILTER_APPS_INSTALL_SOURCES);
assertThat(registry.getDefaultFilterType(LIST_TYPE_MAIN)).isEqualTo(FILTER_APPS_ALL); assertThat(registry.getDefaultFilterType(LIST_TYPE_MAIN)).isEqualTo(FILTER_APPS_ALL);
assertThat(registry.getDefaultFilterType(LIST_TYPE_NOTIFICATION)) assertThat(registry.getDefaultFilterType(LIST_TYPE_NOTIFICATION))
.isEqualTo(FILTER_APPS_RECENT); .isEqualTo(FILTER_APPS_RECENT);
assertThat(registry.getDefaultFilterType(LIST_TYPE_STORAGE)).isEqualTo(FILTER_APPS_ALL); assertThat(registry.getDefaultFilterType(LIST_TYPE_STORAGE)).isEqualTo(FILTER_APPS_ALL);
assertThat(registry.getDefaultFilterType(LIST_TYPE_GAMES)).isEqualTo(FILTER_APPS_ALL); assertThat(registry.getDefaultFilterType(LIST_TYPE_GAMES)).isEqualTo(FILTER_APPS_ALL);
assertThat(registry.getDefaultFilterType(LIST_TYPE_MOVIES)).isEqualTo(FILTER_APPS_ALL); assertThat(registry.getDefaultFilterType(LIST_TYPE_MOVIES)).isEqualTo(FILTER_APPS_ALL);
assertThat(registry.getDefaultFilterType(LIST_TYPE_PHOTOGRAPHY)).isEqualTo(FILTER_APPS_ALL); assertThat(registry.getDefaultFilterType(LIST_TYPE_PHOTOGRAPHY)).isEqualTo(FILTER_APPS_ALL);
} }
} }

View File

@@ -40,7 +40,7 @@ import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settingslib.RestrictedPreference; import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -79,7 +79,7 @@ public class BackgroundActivityPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private AdvancedPowerUsageDetail mFragment; private AdvancedPowerUsageDetail mFragment;
@Mock @Mock
private PowerWhitelistBackend mPowerWhitelistBackend; private PowerAllowlistBackend mPowerAllowlistBackend;
private BackgroundActivityPreferenceController mController; private BackgroundActivityPreferenceController mController;
private RestrictedPreference mPreference; private RestrictedPreference mPreference;
private Context mShadowContext; private Context mShadowContext;
@@ -103,7 +103,7 @@ public class BackgroundActivityPreferenceControllerTest {
when(mPackageManager.getApplicationInfo(LOW_SDK_PACKAGE, PackageManager.GET_META_DATA)) when(mPackageManager.getApplicationInfo(LOW_SDK_PACKAGE, PackageManager.GET_META_DATA))
.thenReturn(mLowApplicationInfo); .thenReturn(mLowApplicationInfo);
when(mPowerWhitelistBackend.isWhitelisted(LOW_SDK_PACKAGE)).thenReturn(false); when(mPowerAllowlistBackend.isAllowlisted(LOW_SDK_PACKAGE)).thenReturn(false);
mHighApplicationInfo.targetSdkVersion = Build.VERSION_CODES.O; mHighApplicationInfo.targetSdkVersion = Build.VERSION_CODES.O;
mLowApplicationInfo.targetSdkVersion = Build.VERSION_CODES.L; mLowApplicationInfo.targetSdkVersion = Build.VERSION_CODES.L;
@@ -113,7 +113,7 @@ public class BackgroundActivityPreferenceControllerTest {
mPreference = spy(new RestrictedPreference(mShadowContext, null /* attrs */)); mPreference = spy(new RestrictedPreference(mShadowContext, null /* attrs */));
mPreference.setKey(BackgroundActivityPreferenceController.KEY_BACKGROUND_ACTIVITY); mPreference.setKey(BackgroundActivityPreferenceController.KEY_BACKGROUND_ACTIVITY);
mController = spy(new BackgroundActivityPreferenceController( mController = spy(new BackgroundActivityPreferenceController(
mContext, mFragment, UID_LOW_SDK, LOW_SDK_PACKAGE, mPowerWhitelistBackend)); mContext, mFragment, UID_LOW_SDK, LOW_SDK_PACKAGE, mPowerAllowlistBackend));
mController.mDpm = mDevicePolicyManagerWrapper; mController.mDpm = mDevicePolicyManagerWrapper;
mController.mBatteryUtils = mBatteryUtils; mController.mBatteryUtils = mBatteryUtils;
} }
@@ -150,8 +150,8 @@ public class BackgroundActivityPreferenceControllerTest {
} }
@Test @Test
public void updateState_whitelisted() { public void updateState_allowlisted() {
when(mPowerWhitelistBackend.isWhitelisted(LOW_SDK_PACKAGE)).thenReturn(true); when(mPowerAllowlistBackend.isAllowlisted(LOW_SDK_PACKAGE)).thenReturn(true);
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse(); assertThat(mPreference.isEnabled()).isFalse();
assertThat(mPreference.getSummary()).isEqualTo( assertThat(mPreference.getSummary()).isEqualTo(

View File

@@ -33,7 +33,7 @@ import androidx.preference.SwitchPreference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -46,8 +46,8 @@ import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
public class BatteryOptimizationPreferenceControllerTest { public class BatteryOptimizationPreferenceControllerTest {
private static final String PKG_IN_WHITELIST = "com.pkg.in.whitelist"; private static final String PKG_IN_ALLOWLIST = "com.pkg.in.allowlist";
private static final String PKG_NOT_IN_WHITELIST = "com.pkg.not.in.whitelist"; private static final String PKG_NOT_IN_ALLOWLIST = "com.pkg.not.in.allowlist";
private static final String KEY_OPTIMIZATION = "battery_optimization"; private static final String KEY_OPTIMIZATION = "battery_optimization";
private static final String KEY_OTHER = "other"; private static final String KEY_OTHER = "other";
@Mock @Mock
@@ -55,7 +55,7 @@ public class BatteryOptimizationPreferenceControllerTest {
@Mock @Mock
private DashboardFragment mFragment; private DashboardFragment mFragment;
@Mock @Mock
private TestPowerWhitelistBackend mBackend; private TestPowerAllowlistBackend mBackend;
private BatteryOptimizationPreferenceController mController; private BatteryOptimizationPreferenceController mController;
private Preference mPreference; private Preference mPreference;
@@ -66,12 +66,12 @@ public class BatteryOptimizationPreferenceControllerTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
doReturn(false).when(mBackend).isWhitelisted(PKG_NOT_IN_WHITELIST); doReturn(false).when(mBackend).isAllowlisted(PKG_NOT_IN_ALLOWLIST);
doReturn(true).when(mBackend).isWhitelisted(PKG_IN_WHITELIST); doReturn(true).when(mBackend).isAllowlisted(PKG_IN_ALLOWLIST);
mPreference = new SwitchPreference(mContext); mPreference = new SwitchPreference(mContext);
mController = spy(new BatteryOptimizationPreferenceController(mSettingsActivity, mFragment, mController = spy(new BatteryOptimizationPreferenceController(mSettingsActivity, mFragment,
PKG_NOT_IN_WHITELIST, mBackend)); PKG_NOT_IN_ALLOWLIST, mBackend));
} }
@Test @Test
@@ -95,10 +95,10 @@ public class BatteryOptimizationPreferenceControllerTest {
} }
@Test @Test
public void testUpdateState_appInWhitelist_showSummaryNotOptimized() { public void testUpdateState_appInAllowlist_showSummaryNotOptimized() {
BatteryOptimizationPreferenceController controller = BatteryOptimizationPreferenceController controller =
new BatteryOptimizationPreferenceController(mSettingsActivity, mFragment, new BatteryOptimizationPreferenceController(mSettingsActivity, mFragment,
PKG_IN_WHITELIST, mBackend); PKG_IN_ALLOWLIST, mBackend);
controller.updateState(mPreference); controller.updateState(mPreference);
@@ -106,7 +106,7 @@ public class BatteryOptimizationPreferenceControllerTest {
} }
@Test @Test
public void testUpdateState_appNotInWhitelist_showSummaryOptimized() { public void testUpdateState_appNotInAllowlist_showSummaryOptimized() {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getSummary()).isEqualTo(mContext.getString(R.string.high_power_off)); assertThat(mPreference.getSummary()).isEqualTo(mContext.getString(R.string.high_power_off));
@@ -115,9 +115,9 @@ public class BatteryOptimizationPreferenceControllerTest {
/** /**
* Create this test class so we could mock it * Create this test class so we could mock it
*/ */
public static class TestPowerWhitelistBackend extends PowerWhitelistBackend { public static class TestPowerAllowlistBackend extends PowerAllowlistBackend {
public TestPowerWhitelistBackend(Context context) { public TestPowerAllowlistBackend(Context context) {
super(context); super(context);
} }

View File

@@ -63,7 +63,7 @@ import com.android.settings.fuelgauge.batterytip.BatteryDatabaseManager;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowThreadUtils; import com.android.settings.testutils.shadow.ShadowThreadUtils;
import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.Estimate;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore; import org.junit.Ignore;
@@ -160,7 +160,7 @@ public class BatteryUtilsTest {
@Mock @Mock
private ApplicationInfo mLowApplicationInfo; private ApplicationInfo mLowApplicationInfo;
@Mock @Mock
private PowerWhitelistBackend mPowerWhitelistBackend; private PowerAllowlistBackend mPowerAllowlistBackend;
@Mock @Mock
private BatteryDatabaseManager mBatteryDatabaseManager; private BatteryDatabaseManager mBatteryDatabaseManager;
private AnomalyInfo mAnomalyInfo; private AnomalyInfo mAnomalyInfo;
@@ -642,7 +642,7 @@ public class BatteryUtilsTest {
doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM; mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, UID, assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
mAnomalyInfo)).isTrue(); mAnomalyInfo)).isTrue();
} }
@@ -652,7 +652,7 @@ public class BatteryUtilsTest {
doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM; mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, UID, assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
mAnomalyInfo)).isTrue(); mAnomalyInfo)).isTrue();
} }
@@ -661,16 +661,16 @@ public class BatteryUtilsTest {
final int systemUid = Process.ROOT_UID; final int systemUid = Process.ROOT_UID;
doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(systemUid); doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(systemUid);
assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, systemUid, assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, systemUid,
mAnomalyInfo)).isTrue(); mAnomalyInfo)).isTrue();
} }
@Test @Test
public void testShouldHideAnomaly_AppInDozeList_returnTrue() { public void testShouldHideAnomaly_AppInDozeList_returnTrue() {
doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
doReturn(true).when(mPowerWhitelistBackend).isWhitelisted(new String[]{HIGH_SDK_PACKAGE}); doReturn(true).when(mPowerAllowlistBackend).isAllowlisted(new String[]{HIGH_SDK_PACKAGE});
assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, UID, assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
mAnomalyInfo)).isTrue(); mAnomalyInfo)).isTrue();
} }
@@ -678,7 +678,7 @@ public class BatteryUtilsTest {
public void testShouldHideAnomaly_normalApp_returnFalse() { public void testShouldHideAnomaly_normalApp_returnFalse() {
doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, UID, assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
mAnomalyInfo)).isFalse(); mAnomalyInfo)).isFalse();
} }
@@ -687,7 +687,7 @@ public class BatteryUtilsTest {
doReturn(new String[]{LOW_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); doReturn(new String[]{LOW_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE); mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE);
assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, UID, assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
mAnomalyInfo)).isFalse(); mAnomalyInfo)).isFalse();
} }
@@ -696,7 +696,7 @@ public class BatteryUtilsTest {
doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID); doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE); mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE);
assertThat(mBatteryUtils.shouldHideAnomaly(mPowerWhitelistBackend, UID, assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
mAnomalyInfo)).isTrue(); mAnomalyInfo)).isTrue();
} }

View File

@@ -32,7 +32,7 @@ import android.content.DialogInterface;
import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -52,7 +52,7 @@ public class HighPowerDetailTest {
private Context mContext; private Context mContext;
@Mock @Mock
private PowerWhitelistBackend mPowerWhitelistBackend; private PowerAllowlistBackend mPowerAllowlistBackend;
@Mock @Mock
private BatteryUtils mBatteryUtils; private BatteryUtils mBatteryUtils;
@@ -63,7 +63,7 @@ public class HighPowerDetailTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
mFragment = spy(new HighPowerDetail()); mFragment = spy(new HighPowerDetail());
mFragment.mBackend = mPowerWhitelistBackend; mFragment.mBackend = mPowerAllowlistBackend;
mFragment.mBatteryUtils = mBatteryUtils; mFragment.mBatteryUtils = mBatteryUtils;
mFragment.mPackageUid = TEST_UID; mFragment.mPackageUid = TEST_UID;
mFragment.mPackageName = TEST_PACKAGE; mFragment.mPackageName = TEST_PACKAGE;
@@ -71,21 +71,21 @@ public class HighPowerDetailTest {
@Test @Test
public void logSpecialPermissionChange() { public void logSpecialPermissionChange() {
// Deny means app is whitelisted to opt out of power save restrictions // Deny means app is allowlisted to opt out of power save restrictions
HighPowerDetail.logSpecialPermissionChange(true, "app", RuntimeEnvironment.application); HighPowerDetail.logSpecialPermissionChange(true, "app", RuntimeEnvironment.application);
verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class), verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_DENY), eq("app")); eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_DENY), eq("app"));
// Allow means app is NOT whitelisted to opt out of power save restrictions // Allow means app is NOT allowlisted to opt out of power save restrictions
HighPowerDetail.logSpecialPermissionChange(false, "app", RuntimeEnvironment.application); HighPowerDetail.logSpecialPermissionChange(false, "app", RuntimeEnvironment.application);
verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class), verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_ALLOW), eq("app")); eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_ALLOW), eq("app"));
} }
@Test @Test
public void onClick_appAddedToDozeWhitelist_getsUnrestricted() { public void onClick_appAddedToDozeAllowlist_getsUnrestricted() {
mFragment.mIsEnabled = true; mFragment.mIsEnabled = true;
when(mPowerWhitelistBackend.isWhitelisted(TEST_PACKAGE)).thenReturn(false); when(mPowerAllowlistBackend.isAllowlisted(TEST_PACKAGE)).thenReturn(false);
mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE); mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
verify(mBatteryUtils).setForceAppStandby(TEST_UID, TEST_PACKAGE, verify(mBatteryUtils).setForceAppStandby(TEST_UID, TEST_PACKAGE,
AppOpsManager.MODE_ALLOWED); AppOpsManager.MODE_ALLOWED);
@@ -93,9 +93,9 @@ public class HighPowerDetailTest {
@Test @Test
public void getSummary_defaultActivePackage_returnUnavailable() { public void getSummary_defaultActivePackage_returnUnavailable() {
doReturn(true).when(mPowerWhitelistBackend).isDefaultActiveApp(TEST_PACKAGE); doReturn(true).when(mPowerAllowlistBackend).isDefaultActiveApp(TEST_PACKAGE);
assertThat(HighPowerDetail.getSummary(mContext, mPowerWhitelistBackend, TEST_PACKAGE)) assertThat(HighPowerDetail.getSummary(mContext, mPowerAllowlistBackend, TEST_PACKAGE))
.isEqualTo(mContext.getString(R.string.high_power_system)); .isEqualTo(mContext.getString(R.string.high_power_system));
} }
} }

View File

@@ -36,7 +36,6 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.robolectric.RuntimeEnvironment.application;
import android.app.JobSchedulerImpl; import android.app.JobSchedulerImpl;
import android.app.StatsManager; import android.app.StatsManager;
@@ -59,8 +58,7 @@ import com.android.settings.R;
import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settings.testutils.shadow.ShadowPowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -78,7 +76,7 @@ import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowConnectivityManager.class, ShadowPowerWhitelistBackend.class}) @Config(shadows = {ShadowConnectivityManager.class})
public class AnomalyDetectionJobServiceTest { public class AnomalyDetectionJobServiceTest {
private static final int UID = 12345; private static final int UID = 12345;
private static final String SYSTEM_PACKAGE = "com.android.system"; private static final String SYSTEM_PACKAGE = "com.android.system";
@@ -95,7 +93,7 @@ public class AnomalyDetectionJobServiceTest {
@Mock @Mock
private BatteryUtils mBatteryUtils; private BatteryUtils mBatteryUtils;
@Mock @Mock
private PowerWhitelistBackend mPowerWhitelistBackend; private PowerAllowlistBackend mPowerAllowlistBackend;
@Mock @Mock
private StatsDimensionsValue mStatsDimensionsValue; private StatsDimensionsValue mStatsDimensionsValue;
@Mock @Mock
@@ -145,13 +143,13 @@ public class AnomalyDetectionJobServiceTest {
} }
@Test @Test
public void saveAnomalyToDatabase_systemWhitelisted_doNotSave() { public void saveAnomalyToDatabase_systemAllowlisted_doNotSave() {
doReturn(UID).when(mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any()); doReturn(UID).when(mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
doReturn(true).when(mPowerWhitelistBackend).isWhitelisted(any(String[].class)); doReturn(true).when(mPowerAllowlistBackend).isAllowlisted(any(String[].class));
mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
mPowerWhitelistBackend, mContext.getContentResolver(), mPowerAllowlistBackend, mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.powerUsageFeatureProvider,
mFeatureFactory.metricsFeatureProvider, mBundle); mFeatureFactory.metricsFeatureProvider, mBundle);
@@ -165,14 +163,14 @@ public class AnomalyDetectionJobServiceTest {
cookies.add(SUBSCRIBER_COOKIES_AUTO_RESTRICTION); cookies.add(SUBSCRIBER_COOKIES_AUTO_RESTRICTION);
mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies); mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt()); doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
doReturn(false).when(mPowerWhitelistBackend).isSysWhitelisted(SYSTEM_PACKAGE); doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
doReturn(Process.FIRST_APPLICATION_UID).when( doReturn(Process.FIRST_APPLICATION_UID).when(
mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any()); mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
doReturn(true).when(mBatteryUtils).shouldHideAnomaly(any(), anyInt(), any()); doReturn(true).when(mBatteryUtils).shouldHideAnomaly(any(), anyInt(), any());
mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
mPowerWhitelistBackend, mContext.getContentResolver(), mPowerAllowlistBackend, mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.powerUsageFeatureProvider,
mFeatureFactory.metricsFeatureProvider, mBundle); mFeatureFactory.metricsFeatureProvider, mBundle);
@@ -192,7 +190,7 @@ public class AnomalyDetectionJobServiceTest {
mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
mPowerWhitelistBackend, mContext.getContentResolver(), mPowerAllowlistBackend, mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider, mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
mBundle); mBundle);
@@ -207,7 +205,7 @@ public class AnomalyDetectionJobServiceTest {
mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
mPowerWhitelistBackend, mContext.getContentResolver(), mPowerAllowlistBackend, mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider, mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
mBundle); mBundle);
@@ -221,13 +219,13 @@ public class AnomalyDetectionJobServiceTest {
cookies.add(SUBSCRIBER_COOKIES_AUTO_RESTRICTION); cookies.add(SUBSCRIBER_COOKIES_AUTO_RESTRICTION);
mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies); mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt()); doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
doReturn(false).when(mPowerWhitelistBackend).isSysWhitelisted(SYSTEM_PACKAGE); doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
doReturn(Process.FIRST_APPLICATION_UID).when( doReturn(Process.FIRST_APPLICATION_UID).when(
mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any()); mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
mPowerWhitelistBackend, mContext.getContentResolver(), mPowerAllowlistBackend, mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider, mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
mBundle); mBundle);
@@ -246,13 +244,13 @@ public class AnomalyDetectionJobServiceTest {
cookies.add(SUBSCRIBER_COOKIES_NOT_AUTO_RESTRICTION); cookies.add(SUBSCRIBER_COOKIES_NOT_AUTO_RESTRICTION);
mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies); mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt()); doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
doReturn(false).when(mPowerWhitelistBackend).isSysWhitelisted(SYSTEM_PACKAGE); doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
doReturn(Process.FIRST_APPLICATION_UID).when( doReturn(Process.FIRST_APPLICATION_UID).when(
mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any()); mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
mPowerWhitelistBackend, mContext.getContentResolver(), mPowerAllowlistBackend, mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider, mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
mBundle); mBundle);

View File

@@ -1,28 +0,0 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.testutils.shadow;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
import org.robolectric.annotation.Implements;
@Implements(PowerWhitelistBackend.class)
public class ShadowPowerWhitelistBackend {
protected void __constructor__() {
// Do nothing
}
}