Remove wrapper for device policy manager

Bug: 76167422
Test: robotests
Change-Id: I69dc7341cf1ff408bc24c2a062586cef25b7b918
This commit is contained in:
Fan Zhang
2018-03-30 16:58:28 -07:00
parent 76f24ebbaf
commit aab36de0d6
33 changed files with 193 additions and 500 deletions

View File

@@ -94,7 +94,6 @@ import com.android.internal.app.UnlaunchableAppActivity;
import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.Iterator; import java.util.Iterator;
@@ -874,7 +873,7 @@ public final class Utils extends com.android.settingslib.Utils {
* @param packageName package to check about * @param packageName package to check about
*/ */
public static boolean isProfileOrDeviceOwner(UserManager userManager, public static boolean isProfileOrDeviceOwner(UserManager userManager,
DevicePolicyManagerWrapper devicePolicyManager, String packageName) { DevicePolicyManager devicePolicyManager, String packageName) {
List<UserInfo> userInfos = userManager.getUsers(); List<UserInfo> userInfos = userManager.getUsers();
if (devicePolicyManager.isDeviceOwnerAppOnAnyUser(packageName)) { if (devicePolicyManager.isDeviceOwnerAppOnAnyUser(packageName)) {
return true; return true;

View File

@@ -25,7 +25,6 @@ import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.app.Fragment; import android.app.Fragment;
import android.app.admin.DevicePolicyManager;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
@@ -37,13 +36,11 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.Button; import android.widget.Button;
import com.android.internal.annotations.VisibleForTesting;
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.applications.LayoutPreference; import com.android.settings.applications.LayoutPreference;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
@@ -58,19 +55,10 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl
private Account mAccount; private Account mAccount;
private Fragment mParentFragment; private Fragment mParentFragment;
private UserHandle mUserHandle; private UserHandle mUserHandle;
private DevicePolicyManagerWrapper mDpm;
public RemoveAccountPreferenceController(Context context, Fragment parent) { public RemoveAccountPreferenceController(Context context, Fragment parent) {
this(context, parent, new DevicePolicyManagerWrapper(
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE)));
}
@VisibleForTesting
RemoveAccountPreferenceController(Context context, Fragment parent,
DevicePolicyManagerWrapper dpm) {
super(context); super(context);
mParentFragment = parent; mParentFragment = parent;
mDpm = dpm;
} }
@Override @Override

View File

@@ -47,7 +47,6 @@ import com.android.settings.applications.manageapplications.ManageApplications;
import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.SubSettingLauncher;
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.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
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;
@@ -75,7 +74,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
protected String mPackageName; protected String mPackageName;
protected IUsbManager mUsbManager; protected IUsbManager mUsbManager;
protected DevicePolicyManagerWrapper mDpm; protected DevicePolicyManager mDpm;
protected UserManager mUserManager; protected UserManager mUserManager;
protected PackageManager mPm; protected PackageManager mPm;
@@ -94,8 +93,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
.getApplicationFeatureProvider(activity); .getApplicationFeatureProvider(activity);
mState = ApplicationsState.getInstance(activity.getApplication()); mState = ApplicationsState.getInstance(activity.getApplication());
mSession = mState.newSession(this, getLifecycle()); mSession = mState.newSession(this, getLifecycle());
mDpm = new DevicePolicyManagerWrapper( mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
(DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE));
mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
mPm = activity.getPackageManager(); mPm = activity.getPackageManager();
IBinder b = ServiceManager.getService(Context.USB_SERVICE); IBinder b = ServiceManager.getService(Context.USB_SERVICE);
@@ -176,6 +174,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
} }
protected abstract boolean refreshUi(); protected abstract boolean refreshUi();
protected abstract AlertDialog createDialog(int id, int errorCode); protected abstract AlertDialog createDialog(int id, int errorCode);
@Override @Override

View File

@@ -22,7 +22,6 @@ import android.os.Build;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.UserHandle; import android.os.UserHandle;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -34,11 +33,11 @@ public abstract class AppWithAdminGrantedPermissionsCounter extends AppCounter {
private final String[] mPermissions; private final String[] mPermissions;
private final IPackageManagerWrapper mPackageManagerService; private final IPackageManagerWrapper mPackageManagerService;
private final DevicePolicyManagerWrapper mDevicePolicyManager; private final DevicePolicyManager mDevicePolicyManager;
public AppWithAdminGrantedPermissionsCounter(Context context, String[] permissions, public AppWithAdminGrantedPermissionsCounter(Context context, String[] permissions,
PackageManagerWrapper packageManager, IPackageManagerWrapper packageManagerService, PackageManagerWrapper packageManager, IPackageManagerWrapper packageManagerService,
DevicePolicyManagerWrapper devicePolicyManager) { DevicePolicyManager devicePolicyManager) {
super(context, packageManager); super(context, packageManager);
mPermissions = permissions; mPermissions = permissions;
mPackageManagerService = packageManagerService; mPackageManagerService = packageManagerService;
@@ -52,7 +51,7 @@ public abstract class AppWithAdminGrantedPermissionsCounter extends AppCounter {
} }
public static boolean includeInCount(String[] permissions, public static boolean includeInCount(String[] permissions,
DevicePolicyManagerWrapper devicePolicyManager, PackageManagerWrapper packageManager, DevicePolicyManager devicePolicyManager, PackageManagerWrapper packageManager,
IPackageManagerWrapper packageManagerService, ApplicationInfo info) { IPackageManagerWrapper packageManagerService, ApplicationInfo info) {
if (info.targetSdkVersion >= Build.VERSION_CODES.M) { if (info.targetSdkVersion >= Build.VERSION_CODES.M) {
// The app uses run-time permissions. Check whether one or more of the permissions were // The app uses run-time permissions. Check whether one or more of the permissions were

View File

@@ -16,9 +16,10 @@
package com.android.settings.applications; package com.android.settings.applications;
import android.app.admin.DevicePolicyManager;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.os.UserManager; import android.os.UserManager;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -29,11 +30,11 @@ import com.android.settingslib.wrapper.PackageManagerWrapper;
public abstract class AppWithAdminGrantedPermissionsLister extends AppLister { public abstract class AppWithAdminGrantedPermissionsLister extends AppLister {
private final String[] mPermissions; private final String[] mPermissions;
private final IPackageManagerWrapper mPackageManagerService; private final IPackageManagerWrapper mPackageManagerService;
private final DevicePolicyManagerWrapper mDevicePolicyManager; private final DevicePolicyManager mDevicePolicyManager;
public AppWithAdminGrantedPermissionsLister(String[] permissions, public AppWithAdminGrantedPermissionsLister(String[] permissions,
PackageManagerWrapper packageManager, IPackageManagerWrapper packageManagerService, PackageManagerWrapper packageManager, IPackageManagerWrapper packageManagerService,
DevicePolicyManagerWrapper devicePolicyManager, UserManager userManager) { DevicePolicyManager devicePolicyManager, UserManager userManager) {
super(packageManager, userManager); super(packageManager, userManager);
mPermissions = permissions; mPermissions = permissions;
mPackageManagerService = packageManagerService; mPackageManagerService = packageManagerService;

View File

@@ -16,6 +16,7 @@
package com.android.settings.applications; package com.android.settings.applications;
import android.app.admin.DevicePolicyManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ComponentInfo; import android.content.pm.ComponentInfo;
@@ -26,7 +27,6 @@ import android.os.RemoteException;
import android.os.UserManager; import android.os.UserManager;
import android.util.ArraySet; import android.util.ArraySet;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -39,11 +39,11 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
private final Context mContext; private final Context mContext;
private final PackageManagerWrapper mPm; private final PackageManagerWrapper mPm;
private final IPackageManagerWrapper mPms; private final IPackageManagerWrapper mPms;
private final DevicePolicyManagerWrapper mDpm; private final DevicePolicyManager mDpm;
private final UserManager mUm; private final UserManager mUm;
public ApplicationFeatureProviderImpl(Context context, PackageManagerWrapper pm, public ApplicationFeatureProviderImpl(Context context, PackageManagerWrapper pm,
IPackageManagerWrapper pms, DevicePolicyManagerWrapper dpm) { IPackageManagerWrapper pms, DevicePolicyManager dpm) {
mContext = context.getApplicationContext(); mContext = context.getApplicationContext();
mPm = pm; mPm = pm;
mPms = pms; mPms = pms;
@@ -150,7 +150,7 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter(Context context, CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter(Context context,
String[] permissions, PackageManagerWrapper packageManager, String[] permissions, PackageManagerWrapper packageManager,
IPackageManagerWrapper packageManagerService, IPackageManagerWrapper packageManagerService,
DevicePolicyManagerWrapper devicePolicyManager, NumberOfAppsCallback callback) { DevicePolicyManager devicePolicyManager, NumberOfAppsCallback callback) {
super(context, permissions, packageManager, packageManagerService, devicePolicyManager); super(context, permissions, packageManager, packageManagerService, devicePolicyManager);
mCallback = callback; mCallback = callback;
} }
@@ -182,7 +182,7 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
CurrentUserAppWithAdminGrantedPermissionsLister(String[] permissions, CurrentUserAppWithAdminGrantedPermissionsLister(String[] permissions,
PackageManagerWrapper packageManager, IPackageManagerWrapper packageManagerService, PackageManagerWrapper packageManager, IPackageManagerWrapper packageManagerService,
DevicePolicyManagerWrapper devicePolicyManager, UserManager userManager, DevicePolicyManager devicePolicyManager, UserManager userManager,
ListOfAppsCallback callback) { ListOfAppsCallback callback) {
super(permissions, packageManager, packageManagerService, devicePolicyManager, super(permissions, packageManager, packageManagerService, devicePolicyManager,
userManager); userManager);

View File

@@ -44,7 +44,6 @@ import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.ActionButtonPreference;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppEntry;
@@ -67,7 +66,7 @@ public class AppActionButtonPreferenceController extends BasePreferenceControlle
private final ApplicationFeatureProvider mApplicationFeatureProvider; private final ApplicationFeatureProvider mApplicationFeatureProvider;
private int mUserId; private int mUserId;
private DevicePolicyManagerWrapper mDpm; private DevicePolicyManager mDpm;
private UserManager mUserManager; private UserManager mUserManager;
private PackageManager mPm; private PackageManager mPm;
@@ -112,8 +111,7 @@ public class AppActionButtonPreferenceController extends BasePreferenceControlle
mPm = mContext.getPackageManager(); mPm = mContext.getPackageManager();
} }
if (mDpm == null) { if (mDpm == null) {
mDpm = new DevicePolicyManagerWrapper( mDpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
(DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE));
} }
if (mUserManager == null) { if (mUserManager == null) {
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);

View File

@@ -55,7 +55,6 @@ import com.android.settings.applications.manageapplications.ManageApplications;
import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.SubSettingLauncher;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState;
@@ -122,7 +121,7 @@ public class AppInfoDashboardFragment extends DashboardFragment
private int mUserId; private int mUserId;
private String mPackageName; private String mPackageName;
private DevicePolicyManagerWrapper mDpm; private DevicePolicyManager mDpm;
private UserManager mUserManager; private UserManager mUserManager;
private PackageManager mPm; private PackageManager mPm;
@@ -198,8 +197,7 @@ public class AppInfoDashboardFragment extends DashboardFragment
super.onCreate(icicle); super.onCreate(icicle);
mFinishing = false; mFinishing = false;
final Activity activity = getActivity(); final Activity activity = getActivity();
mDpm = new DevicePolicyManagerWrapper( mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
(DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE));
mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
mPm = activity.getPackageManager(); mPm = activity.getPackageManager();

View File

@@ -15,6 +15,7 @@ package com.android.settings.display;
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
import android.app.admin.DevicePolicyManager;
import android.content.Context; import android.content.Context;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
@@ -25,7 +26,6 @@ import android.util.Log;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.TimeoutListPreference; import com.android.settings.TimeoutListPreference;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
@@ -61,7 +61,8 @@ public class TimeoutPreferenceController extends AbstractPreferenceController im
final long currentTimeout = Settings.System.getLong(mContext.getContentResolver(), final long currentTimeout = Settings.System.getLong(mContext.getContentResolver(),
SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE); SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE);
timeoutListPreference.setValue(String.valueOf(currentTimeout)); timeoutListPreference.setValue(String.valueOf(currentTimeout));
final DevicePolicyManagerWrapper dpm = DevicePolicyManagerWrapper.from(mContext); final DevicePolicyManager dpm =
(DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
if (dpm != null) { if (dpm != null) {
final RestrictedLockUtils.EnforcedAdmin admin = final RestrictedLockUtils.EnforcedAdmin admin =
RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext); RestrictedLockUtils.checkIfMaximumTimeToLockIsSet(mContext);

View File

@@ -16,6 +16,7 @@
package com.android.settings.enterprise; package com.android.settings.enterprise;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -32,7 +33,6 @@ import android.view.View;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.vpn2.VpnUtils; import com.android.settings.vpn2.VpnUtils;
import com.android.settings.wrapper.ConnectivityManagerWrapper; import com.android.settings.wrapper.ConnectivityManagerWrapper;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.Date; import java.util.Date;
@@ -41,7 +41,7 @@ import java.util.List;
public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFeatureProvider { public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFeatureProvider {
private final Context mContext; private final Context mContext;
private final DevicePolicyManagerWrapper mDpm; private final DevicePolicyManager mDpm;
private final PackageManagerWrapper mPm; private final PackageManagerWrapper mPm;
private final UserManager mUm; private final UserManager mUm;
private final ConnectivityManagerWrapper mCm; private final ConnectivityManagerWrapper mCm;
@@ -49,7 +49,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe
private static final int MY_USER_ID = UserHandle.myUserId(); private static final int MY_USER_ID = UserHandle.myUserId();
public EnterprisePrivacyFeatureProviderImpl(Context context, DevicePolicyManagerWrapper dpm, public EnterprisePrivacyFeatureProviderImpl(Context context, DevicePolicyManager dpm,
PackageManagerWrapper pm, UserManager um, ConnectivityManagerWrapper cm, PackageManagerWrapper pm, UserManager um, ConnectivityManagerWrapper cm,
Resources resources) { Resources resources) {
mContext = context.getApplicationContext(); mContext = context.getApplicationContext();

View File

@@ -54,7 +54,6 @@ import com.android.settings.fuelgauge.anomaly.AnomalyUtils;
import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController; import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.widget.EntityHeaderController; import com.android.settings.widget.EntityHeaderController;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
@@ -116,7 +115,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
private AppButtonsPreferenceController mAppButtonsPreferenceController; private AppButtonsPreferenceController mAppButtonsPreferenceController;
private BackgroundActivityPreferenceController mBackgroundActivityPreferenceController; private BackgroundActivityPreferenceController mBackgroundActivityPreferenceController;
private DevicePolicyManagerWrapper mDpm; private DevicePolicyManager mDpm;
private UserManager mUserManager; private UserManager mUserManager;
private PackageManager mPackageManager; private PackageManager mPackageManager;
private List<Anomaly> mAnomalies; private List<Anomaly> mAnomalies;
@@ -167,7 +166,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
.launch(); .launch();
} }
private static @UserIdInt int getUserIdToLaunchAdvancePowerUsageDetail(BatterySipper bs) { private static @UserIdInt
int getUserIdToLaunchAdvancePowerUsageDetail(BatterySipper bs) {
if (bs.drainType == BatterySipper.DrainType.USER) { if (bs.drainType == BatterySipper.DrainType.USER) {
return ActivityManager.getCurrentUser(); return ActivityManager.getCurrentUser();
} }
@@ -206,8 +206,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
super.onAttach(activity); super.onAttach(activity);
mState = ApplicationsState.getInstance(getActivity().getApplication()); mState = ApplicationsState.getInstance(getActivity().getApplication());
mDpm = new DevicePolicyManagerWrapper( mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
(DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE));
mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
mPackageManager = activity.getPackageManager(); mPackageManager = activity.getPackageManager();
mBatteryUtils = BatteryUtils.getInstance(getContext()); mBatteryUtils = BatteryUtils.getInstance(getContext());

View File

@@ -19,6 +19,7 @@ package com.android.settings.fuelgauge;
import android.app.Activity; import android.app.Activity;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.Fragment; import android.app.Fragment;
import android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
@@ -50,7 +51,6 @@ import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.ActionButtonPreference;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState;
@@ -102,7 +102,7 @@ public class AppButtonsPreferenceController extends AbstractPreferenceController
private final int mRequestRemoveDeviceAdmin; private final int mRequestRemoveDeviceAdmin;
private ApplicationsState.Session mSession; private ApplicationsState.Session mSession;
private DevicePolicyManagerWrapper mDpm; private DevicePolicyManager mDpm;
private UserManager mUserManager; private UserManager mUserManager;
private PackageManager mPm; private PackageManager mPm;
private SettingsActivity mActivity; private SettingsActivity mActivity;
@@ -118,7 +118,7 @@ public class AppButtonsPreferenceController extends AbstractPreferenceController
public AppButtonsPreferenceController(SettingsActivity activity, Fragment fragment, public AppButtonsPreferenceController(SettingsActivity activity, Fragment fragment,
Lifecycle lifecycle, String packageName, ApplicationsState state, Lifecycle lifecycle, String packageName, ApplicationsState state,
DevicePolicyManagerWrapper dpm, UserManager userManager, DevicePolicyManager dpm, UserManager userManager,
PackageManager packageManager, int requestUninstall, int requestRemoveDeviceAdmin) { PackageManager packageManager, int requestUninstall, int requestRemoveDeviceAdmin) {
super(activity); super(activity);

View File

@@ -30,7 +30,6 @@ import com.android.settings.fuelgauge.batterytip.BatteryTipDialogFragment;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip; 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.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
@@ -48,7 +47,7 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
private final UserManager mUserManager; private final UserManager mUserManager;
private final int mUid; private final int mUid;
@VisibleForTesting @VisibleForTesting
DevicePolicyManagerWrapper mDpm; DevicePolicyManager mDpm;
@VisibleForTesting @VisibleForTesting
BatteryUtils mBatteryUtils; BatteryUtils mBatteryUtils;
private InstrumentedPreferenceFragment mFragment; private InstrumentedPreferenceFragment mFragment;
@@ -66,8 +65,7 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
super(context); super(context);
mPowerWhitelistBackend = backend; mPowerWhitelistBackend = backend;
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mDpm = new DevicePolicyManagerWrapper( mDpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE));
mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
mUid = uid; mUid = uid;
mFragment = fragment; mFragment = fragment;

View File

@@ -52,7 +52,6 @@ import com.android.settings.slices.SlicesFeatureProviderImpl;
import com.android.settings.users.UserFeatureProvider; import com.android.settings.users.UserFeatureProvider;
import com.android.settings.users.UserFeatureProviderImpl; import com.android.settings.users.UserFeatureProviderImpl;
import com.android.settings.wrapper.ConnectivityManagerWrapper; import com.android.settings.wrapper.ConnectivityManagerWrapper;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -114,8 +113,8 @@ public class FeatureFactoryImpl extends FeatureFactory {
mApplicationFeatureProvider = new ApplicationFeatureProviderImpl(context, mApplicationFeatureProvider = new ApplicationFeatureProviderImpl(context,
new PackageManagerWrapper(context.getPackageManager()), new PackageManagerWrapper(context.getPackageManager()),
new IPackageManagerWrapper(AppGlobals.getPackageManager()), new IPackageManagerWrapper(AppGlobals.getPackageManager()),
new DevicePolicyManagerWrapper((DevicePolicyManager) context (DevicePolicyManager) context
.getSystemService(Context.DEVICE_POLICY_SERVICE))); .getSystemService(Context.DEVICE_POLICY_SERVICE));
} }
return mApplicationFeatureProvider; return mApplicationFeatureProvider;
} }
@@ -132,8 +131,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) { public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
if (mEnterprisePrivacyFeatureProvider == null) { if (mEnterprisePrivacyFeatureProvider == null) {
mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(context, mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(context,
new DevicePolicyManagerWrapper((DevicePolicyManager) context (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE),
.getSystemService(Context.DEVICE_POLICY_SERVICE)),
new PackageManagerWrapper(context.getPackageManager()), new PackageManagerWrapper(context.getPackageManager()),
UserManager.get(context), UserManager.get(context),
new ConnectivityManagerWrapper((ConnectivityManager) context new ConnectivityManagerWrapper((ConnectivityManager) context

View File

@@ -32,7 +32,6 @@ import com.android.settings.TimeoutListPreference;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.security.trustagent.TrustAgentManager; import com.android.settings.security.trustagent.TrustAgentManager;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
@@ -44,14 +43,14 @@ public class LockAfterTimeoutPreferenceController extends AbstractPreferenceCont
private final int mUserId; private final int mUserId;
private final LockPatternUtils mLockPatternUtils; private final LockPatternUtils mLockPatternUtils;
private final TrustAgentManager mTrustAgentManager; private final TrustAgentManager mTrustAgentManager;
private final DevicePolicyManagerWrapper mDPM; private final DevicePolicyManager mDPM;
public LockAfterTimeoutPreferenceController(Context context, int userId, public LockAfterTimeoutPreferenceController(Context context, int userId,
LockPatternUtils lockPatternUtils) { LockPatternUtils lockPatternUtils) {
super(context); super(context);
mUserId = userId; mUserId = userId;
mLockPatternUtils = lockPatternUtils; mLockPatternUtils = lockPatternUtils;
mDPM = DevicePolicyManagerWrapper.from(context); mDPM = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
mTrustAgentManager = FeatureFactory.getFactory(context) mTrustAgentManager = FeatureFactory.getFactory(context)
.getSecurityFeatureProvider().getTrustAgentManager(); .getSecurityFeatureProvider().getTrustAgentManager();
} }

View File

@@ -16,6 +16,7 @@
package com.android.settings.wifi; package com.android.settings.wifi;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
@@ -25,7 +26,6 @@ import android.net.wifi.WifiConfiguration;
import android.provider.Settings; import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
public class WifiUtils { public class WifiUtils {
@@ -69,7 +69,8 @@ public class WifiUtils {
return false; return false;
} }
final DevicePolicyManagerWrapper dpm = DevicePolicyManagerWrapper.from(context); final DevicePolicyManager dpm =
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
final PackageManagerWrapper pm = new PackageManagerWrapper(context.getPackageManager()); final PackageManagerWrapper pm = new PackageManagerWrapper(context.getPackageManager());
// Check if device has DPM capability. If it has and dpm is still null, then we // Check if device has DPM capability. If it has and dpm is still null, then we

View File

@@ -1,229 +0,0 @@
/*
* Copyright (C) 2016 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.wrapper;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.UserHandle;
import java.util.List;
/**
* This class replicates a subset of the android.app.admin.DevicePolicyManager (DPM). The
* class exists so that we can use a thin wrapper around the DPM in production code and a mock
* in tests. We cannot directly mock or shadow the DPM, because some of the methods we rely on are
* newer than the API version supported by Robolectric.
*/
public class DevicePolicyManagerWrapper {
private final DevicePolicyManager mDpm;
public DevicePolicyManagerWrapper(DevicePolicyManager dpm) {
mDpm = dpm;
}
public static @Nullable DevicePolicyManagerWrapper from(Context context) {
DevicePolicyManager dpm =
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
return dpm == null ? null : new DevicePolicyManagerWrapper(dpm);
}
/**
* Calls {@code DevicePolicyManager.getActiveAdminsAsUser()}.
*
* @see DevicePolicyManager#getActiveAdminsAsUser
*/
public @Nullable List<ComponentName> getActiveAdminsAsUser(int userId) {
return mDpm.getActiveAdminsAsUser(userId);
}
/**
* Calls {@code DevicePolicyManager.getMaximumFailedPasswordsForWipe()}.
*
* @see DevicePolicyManager#getMaximumFailedPasswordsForWipe
*/
public int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle) {
return mDpm.getMaximumFailedPasswordsForWipe(admin, userHandle);
}
/**
* Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnCallingUser()}.
*
* @see DevicePolicyManager#getDeviceOwnerComponentOnCallingUser
*/
public ComponentName getDeviceOwnerComponentOnCallingUser() {
return mDpm.getDeviceOwnerComponentOnCallingUser();
}
/**
* Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnAnyUser()}.
*
* @see DevicePolicyManager#getDeviceOwnerComponentOnAnyUser
*/
public ComponentName getDeviceOwnerComponentOnAnyUser() {
return mDpm.getDeviceOwnerComponentOnAnyUser();
}
/**
* Calls {@code DevicePolicyManager.getProfileOwnerAsUser()}.
*
* @see DevicePolicyManager#getProfileOwnerAsUser
*/
public @Nullable ComponentName getProfileOwnerAsUser(final int userId) {
return mDpm.getProfileOwnerAsUser(userId);
}
/**
* Calls {@code DevicePolicyManager.getDeviceOwnerNameOnAnyUser()}.
*
* @see DevicePolicyManager#getDeviceOwnerNameOnAnyUser
*/
public CharSequence getDeviceOwnerOrganizationName() {
return mDpm.getDeviceOwnerOrganizationName();
}
/**
* Calls {@code DevicePolicyManager.getPermissionGrantState()}.
*
* @see DevicePolicyManager#getPermissionGrantState
*/
public int getPermissionGrantState(@Nullable ComponentName admin, String packageName,
String permission) {
return mDpm.getPermissionGrantState(admin, packageName, permission);
}
/**
* Calls {@code DevicePolicyManager.isSecurityLoggingEnabled()}.
*
* @see DevicePolicyManager#isSecurityLoggingEnabled
*/
public boolean isSecurityLoggingEnabled(@Nullable ComponentName admin) {
return mDpm.isSecurityLoggingEnabled(admin);
}
/**
* Calls {@code DevicePolicyManager.isNetworkLoggingEnabled()}.
*
* @see DevicePolicyManager#isNetworkLoggingEnabled
*/
public boolean isNetworkLoggingEnabled(@Nullable ComponentName admin) {
return mDpm.isNetworkLoggingEnabled(admin);
}
/**
* Calls {@code DevicePolicyManager.getLastSecurityLogRetrievalTime()}.
*
* @see DevicePolicyManager#getLastSecurityLogRetrievalTime
*/
public long getLastSecurityLogRetrievalTime() {
return mDpm.getLastSecurityLogRetrievalTime();
}
/**
* Calls {@code DevicePolicyManager.getLastBugReportRequestTime()}.
*
* @see DevicePolicyManager#getLastBugReportRequestTime
*/
public long getLastBugReportRequestTime() {
return mDpm.getLastBugReportRequestTime();
}
/**
* Calls {@code DevicePolicyManager.getLastNetworkLogRetrievalTime()}.
*
* @see DevicePolicyManager#getLastNetworkLogRetrievalTime
*/
public long getLastNetworkLogRetrievalTime() {
return mDpm.getLastNetworkLogRetrievalTime();
}
/**
* Calls {@code DevicePolicyManager.isCurrentInputMethodSetByOwner()}.
*
* @see DevicePolicyManager#isCurrentInputMethodSetByOwner
*/
public boolean isCurrentInputMethodSetByOwner() {
return mDpm.isCurrentInputMethodSetByOwner();
}
/**
* Calls {@code DevicePolicyManager.getOwnerInstalledCaCerts()}.
*
* @see DevicePolicyManager#getOwnerInstalledCaCerts
*/
public List<String> getOwnerInstalledCaCerts(@NonNull UserHandle user) {
return mDpm.getOwnerInstalledCaCerts(user);
}
/**
* Calls {@code DevicePolicyManager.isDeviceOwnerAppOnAnyUser()}.
*
* @see DevicePolicyManager#isDeviceOwnerAppOnAnyUser
*/
public boolean isDeviceOwnerAppOnAnyUser(String packageName) {
return mDpm.isDeviceOwnerAppOnAnyUser(packageName);
}
/**
* Calls {@code DevicePolicyManager.packageHasActiveAdmins()}.
*
* @see DevicePolicyManager#packageHasActiveAdmins
*/
public boolean packageHasActiveAdmins(String packageName) {
return mDpm.packageHasActiveAdmins(packageName);
}
/**
* Calls {@code DevicePolicyManager.isUninstallInQueue()}.
*
* @see DevicePolicyManager#isUninstallInQueue
*/
public boolean isUninstallInQueue(String packageName) {
return mDpm.isUninstallInQueue(packageName);
}
/**
* Calls {@code DevicePolicyManager.createAdminSupportIntent()}.
*
* @see DevicePolicyManager#createAdminSupportIntent(String)
*/
public Intent createAdminSupportIntent(@NonNull String restriction) {
return mDpm.createAdminSupportIntent(restriction);
}
/**
* Calls {@code DevicePolicyManager#getDeviceOwnerUserId()}.
*
* @see DevicePolicyManager#getDeviceOwnerUserId()
*/
public int getDeviceOwnerUserId() {
return mDpm.getDeviceOwnerUserId();
}
/**
* Calls {@code DevicePolicyManager#getMaximumTimeToLock()}.
*
* @see DevicePolicyManager#getMaximumTimeToLock(ComponentName, int)
*/
public long getMaximumTimeToLock(@Nullable ComponentName admin, @UserIdInt int userHandle) {
return mDpm.getMaximumTimeToLock(admin, userHandle);
}
}

View File

@@ -17,7 +17,6 @@
package com.android.settings; package com.android.settings;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.anyString;
@@ -28,6 +27,7 @@ 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 android.app.admin.DevicePolicyManager;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
@@ -48,7 +48,6 @@ import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -74,7 +73,7 @@ public class UtilsTest {
@Mock @Mock
private ConnectivityManager connectivityManager; private ConnectivityManager connectivityManager;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager; private DevicePolicyManager mDevicePolicyManager;
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
@Mock @Mock

View File

@@ -50,10 +50,6 @@ import com.android.settings.testutils.shadow.ShadowAccountManager;
import com.android.settings.testutils.shadow.ShadowContentResolver; import com.android.settings.testutils.shadow.ShadowContentResolver;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager; import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -64,9 +60,11 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config( @Config(shadows = {
shadows = {
ShadowUserManager.class, ShadowUserManager.class,
ShadowDevicePolicyManager.class ShadowDevicePolicyManager.class
}) })
@@ -78,8 +76,6 @@ public class RemoveAccountPreferenceControllerTest {
@Mock(answer = RETURNS_DEEP_STUBS) @Mock(answer = RETURNS_DEEP_STUBS)
private AccountManager mAccountManager; private AccountManager mAccountManager;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager;
@Mock
private PreferenceFragment mFragment; private PreferenceFragment mFragment;
@Mock @Mock
private PreferenceManager mPreferenceManager; private PreferenceManager mPreferenceManager;
@@ -108,7 +104,7 @@ public class RemoveAccountPreferenceControllerTest {
.thenReturn(new AuthenticatorDescription[0]); .thenReturn(new AuthenticatorDescription[0]);
when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]); when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]);
mController = new RemoveAccountPreferenceController(RuntimeEnvironment.application, mController = new RemoveAccountPreferenceController(RuntimeEnvironment.application,
mFragment, mDevicePolicyManager); mFragment);
} }
@Test @Test

View File

@@ -37,7 +37,6 @@ import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -84,7 +83,7 @@ public final class AppWithAdminGrantedPermissionsCounterTest {
@Mock @Mock
private IPackageManagerWrapper mPackageManagerService; private IPackageManagerWrapper mPackageManagerService;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager; private DevicePolicyManager mDevicePolicyManager;
private int mAppCount = -1; private int mAppCount = -1;
private ApplicationInfo mApp1; private ApplicationInfo mApp1;

View File

@@ -34,7 +34,6 @@ import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -81,7 +80,7 @@ public final class AppWithAdminGrantedPermissionsListerTest {
@Mock @Mock
private IPackageManagerWrapper mPackageManagerService; private IPackageManagerWrapper mPackageManagerService;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager; private DevicePolicyManager mDevicePolicyManager;
private List<UserAppInfo> mAppList = Collections.emptyList(); private List<UserAppInfo> mAppList = Collections.emptyList();

View File

@@ -33,7 +33,6 @@ import android.os.UserManager;
import com.android.settings.testutils.ApplicationTestUtils; import com.android.settings.testutils.ApplicationTestUtils;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -75,7 +74,7 @@ public final class ApplicationFeatureProviderImplTest {
@Mock @Mock
private IPackageManagerWrapper mPackageManagerService; private IPackageManagerWrapper mPackageManagerService;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager; private DevicePolicyManager mDevicePolicyManager;
private ApplicationFeatureProvider mProvider; private ApplicationFeatureProvider mProvider;

View File

@@ -17,7 +17,6 @@
package com.android.settings.applications.appinfo; package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.argThat;
@@ -28,6 +27,7 @@ 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 android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -47,7 +47,6 @@ import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.ActionButtonPreference;
import com.android.settings.widget.ActionButtonPreferenceTest; import com.android.settings.widget.ActionButtonPreferenceTest;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.Utils; import com.android.settingslib.Utils;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState;
@@ -74,7 +73,7 @@ public class AppActionButtonPreferenceControllerTest {
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager; private DevicePolicyManager mDevicePolicyManager;
@Mock @Mock
private AppInfoDashboardFragment mFragment; private AppInfoDashboardFragment mFragment;
@Mock @Mock

View File

@@ -17,7 +17,8 @@
package com.android.settings.applications.appinfo; package com.android.settings.applications.appinfo;
import static com.android.settings.applications.appinfo.AppInfoDashboardFragment.ARG_PACKAGE_NAME; import static com.android.settings.applications.appinfo.AppInfoDashboardFragment.ARG_PACKAGE_NAME;
import static com.android.settings.applications.appinfo.AppInfoDashboardFragment.UNINSTALL_ALL_USERS_MENU; import static com.android.settings.applications.appinfo.AppInfoDashboardFragment
.UNINSTALL_ALL_USERS_MENU;
import static com.android.settings.applications.appinfo.AppInfoDashboardFragment.UNINSTALL_UPDATES; import static com.android.settings.applications.appinfo.AppInfoDashboardFragment.UNINSTALL_UPDATES;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
@@ -31,6 +32,7 @@ import static org.mockito.Mockito.times;
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 android.app.admin.DevicePolicyManager;
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.ApplicationInfo;
@@ -45,7 +47,6 @@ import android.view.MenuItem;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.applications.instantapps.InstantAppDataProvider; import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
@@ -75,7 +76,7 @@ public final class AppInfoDashboardFragmentTest {
@Mock @Mock
private SettingsActivity mActivity; private SettingsActivity mActivity;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManager; private DevicePolicyManager mDevicePolicyManager;
@Mock @Mock
private PackageManager mPackageManager; private PackageManager mPackageManager;

View File

@@ -33,7 +33,7 @@ import android.provider.Settings;
import com.android.settings.TimeoutListPreference; import com.android.settings.TimeoutListPreference;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManagerWrapper; import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import org.junit.Before; import org.junit.Before;
@@ -50,7 +50,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowDevicePolicyManagerWrapper.class) @Config(shadows = ShadowDevicePolicyManager.class)
public class TimeoutPreferenceControllerTest { public class TimeoutPreferenceControllerTest {
private static final int TIMEOUT = 30; private static final int TIMEOUT = 30;
@@ -93,7 +93,7 @@ public class TimeoutPreferenceControllerTest {
final int profileUserId = UserHandle.myUserId(); final int profileUserId = UserHandle.myUserId();
final long timeout = 10000; final long timeout = 10000;
when(mUserManager.getProfiles(profileUserId)).thenReturn(Collections.emptyList()); when(mUserManager.getProfiles(profileUserId)).thenReturn(Collections.emptyList());
ShadowDevicePolicyManagerWrapper.setMaximumTimeToLock(profileUserId, timeout); ShadowDevicePolicyManager.getShadow().setMaximumTimeToLock(profileUserId, timeout);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).removeUnusableTimeouts(timeout, null); verify(mPreference).removeUnusableTimeouts(timeout, null);
@@ -104,7 +104,7 @@ public class TimeoutPreferenceControllerTest {
final int profileUserId = UserHandle.myUserId(); final int profileUserId = UserHandle.myUserId();
final long timeout = 100; final long timeout = 100;
when(mUserManager.getProfiles(profileUserId)).thenReturn(Collections.emptyList()); when(mUserManager.getProfiles(profileUserId)).thenReturn(Collections.emptyList());
ShadowDevicePolicyManagerWrapper.setMaximumTimeToLock(profileUserId, timeout); ShadowDevicePolicyManager.getShadow().setMaximumTimeToLock(profileUserId, timeout);
int userId = UserHandle.myUserId(); int userId = UserHandle.myUserId();
List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>(); List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>();

View File

@@ -139,9 +139,7 @@ public class ActionDisabledByAdminDialogHelperTest {
@Test @Test
public void testSetAdminSupportDetails() { public void testSetAdminSupportDetails() {
final DevicePolicyManager dpm = RuntimeEnvironment.application.getSystemService( final ShadowDevicePolicyManager dpmShadow = ShadowDevicePolicyManager.getShadow();
DevicePolicyManager.class);
final ShadowDevicePolicyManager dpmShadow = Shadow.extract(dpm);
final UserManager userManager = RuntimeEnvironment.application.getSystemService( final UserManager userManager = RuntimeEnvironment.application.getSystemService(
UserManager.class); UserManager.class);
final ShadowUserManager userManagerShadow = Shadow.extract(userManager); final ShadowUserManager userManagerShadow = Shadow.extract(userManager);
@@ -165,9 +163,7 @@ public class ActionDisabledByAdminDialogHelperTest {
@Test @Test
public void testSetAdminSupportDetailsNotAdmin() { public void testSetAdminSupportDetailsNotAdmin() {
final DevicePolicyManager dpm = RuntimeEnvironment.application.getSystemService( final ShadowDevicePolicyManager dpmShadow = ShadowDevicePolicyManager.getShadow();
DevicePolicyManager.class);
final ShadowDevicePolicyManager dpmShadow = Shadow.extract(dpm);
final UserManager userManager = RuntimeEnvironment.application.getSystemService( final UserManager userManager = RuntimeEnvironment.application.getSystemService(
UserManager.class); UserManager.class);
final ShadowUserManager userManagerShadow = Shadow.extract(userManager); final ShadowUserManager userManagerShadow = Shadow.extract(userManager);

View File

@@ -21,6 +21,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset; import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
@@ -36,7 +37,6 @@ import android.text.SpannableStringBuilder;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.ConnectivityManagerWrapper; import com.android.settings.wrapper.ConnectivityManagerWrapper;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
@@ -68,7 +68,7 @@ public class EnterprisePrivacyFeatureProviderImplTest {
private List<UserInfo> mProfiles = new ArrayList<>(); private List<UserInfo> mProfiles = new ArrayList<>();
private @Mock Context mContext; private @Mock Context mContext;
private @Mock DevicePolicyManagerWrapper mDevicePolicyManager; private @Mock DevicePolicyManager mDevicePolicyManager;
private @Mock PackageManagerWrapper mPackageManagerWrapper; private @Mock PackageManagerWrapper mPackageManagerWrapper;
private @Mock PackageManager mPackageManager; private @Mock PackageManager mPackageManager;
private @Mock UserManager mUserManager; private @Mock UserManager mUserManager;

View File

@@ -34,6 +34,7 @@ import static org.mockito.Mockito.when;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.Application; import android.app.Application;
import android.app.Fragment; import android.app.Fragment;
import android.app.admin.DevicePolicyManager;
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.ApplicationInfo;
@@ -46,7 +47,6 @@ import com.android.settings.SettingsActivity;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.ActionButtonPreference;
import com.android.settings.widget.ActionButtonPreferenceTest; import com.android.settings.widget.ActionButtonPreferenceTest;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.instantapps.InstantAppDataProvider; import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
@@ -87,7 +87,7 @@ public class AppButtonsPreferenceControllerTest {
@Mock @Mock
private PackageManager mPackageManger; private PackageManager mPackageManger;
@Mock @Mock
private DevicePolicyManagerWrapper mDpm; private DevicePolicyManager mDpm;
@Mock @Mock
private ActivityManager mAm; private ActivityManager mAm;
@Mock @Mock

View File

@@ -38,7 +38,6 @@ import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
import org.junit.Before; import org.junit.Before;
@@ -74,7 +73,7 @@ public class BackgroundActivityPreferenceControllerTest {
@Mock @Mock
private DevicePolicyManager mDevicePolicyManager; private DevicePolicyManager mDevicePolicyManager;
@Mock @Mock
private DevicePolicyManagerWrapper mDevicePolicyManagerWrapper; private DevicePolicyManager mDevicePolicyManagerWrapper;
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private AdvancedPowerUsageDetail mFragment; private AdvancedPowerUsageDetail mFragment;
@Mock @Mock

View File

@@ -34,7 +34,7 @@ import com.android.settings.TimeoutListPreference;
import com.android.settings.security.trustagent.TrustAgentManager; import com.android.settings.security.trustagent.TrustAgentManager;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManagerWrapper; import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -47,7 +47,7 @@ import org.robolectric.annotation.Config;
import java.util.Collections; import java.util.Collections;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowDevicePolicyManagerWrapper.class) @Config(shadows = ShadowDevicePolicyManager.class)
public class LockAfterTimeoutPreferenceControllerTest { public class LockAfterTimeoutPreferenceControllerTest {
private static final int TEST_USER_ID = 0; private static final int TEST_USER_ID = 0;
@@ -124,7 +124,7 @@ public class LockAfterTimeoutPreferenceControllerTest {
when(mPreference.getEntryValues()).thenReturn(new CharSequence[] {"10000"}); when(mPreference.getEntryValues()).thenReturn(new CharSequence[] {"10000"});
Settings.System.putInt(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, displayTimeout); Settings.System.putInt(mContext.getContentResolver(), SCREEN_OFF_TIMEOUT, displayTimeout);
ShadowDevicePolicyManagerWrapper.setMaximumTimeToLock(userId, adminTimeout); ShadowDevicePolicyManager.getShadow().setMaximumTimeToLock(userId, adminTimeout);
mController.updateState(mPreference); mController.updateState(mPreference);

View File

@@ -2,33 +2,35 @@ package com.android.settings.testutils.shadow;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
import android.content.ComponentName; import android.content.ComponentName;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements; import org.robolectric.annotation.Implements;
import org.robolectric.shadow.api.Shadow;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import org.robolectric.shadow.api.Shadow;
/**
* This shadow if using {@link ShadowDevicePolicyManagerWrapper} is not possible.
*/
@Implements(DevicePolicyManager.class) @Implements(DevicePolicyManager.class)
public class ShadowDevicePolicyManager extends org.robolectric.shadows.ShadowDevicePolicyManager { public class ShadowDevicePolicyManager extends org.robolectric.shadows.ShadowDevicePolicyManager {
private final Map<Integer, Long> mProfileTimeouts = new HashMap<>();
private Map<Integer, CharSequence> mSupportMessagesMap = new HashMap<>(); private Map<Integer, CharSequence> mSupportMessagesMap = new HashMap<>();
private boolean mIsAdminActiveAsUser = false; private boolean mIsAdminActiveAsUser = false;
ComponentName mDeviceOwnerComponentName; ComponentName mDeviceOwnerComponentName;
private int mDeviceOwnerUserId = -1;
public void setShortSupportMessageForUser(ComponentName admin, int userHandle, String message) { public void setShortSupportMessageForUser(ComponentName admin, int userHandle, String message) {
mSupportMessagesMap.put(Objects.hash(admin, userHandle), message); mSupportMessagesMap.put(Objects.hash(admin, userHandle), message);
} }
@Implementation @Implementation
public @Nullable CharSequence getShortSupportMessageForUser(@NonNull ComponentName admin, public @Nullable
CharSequence getShortSupportMessageForUser(@NonNull ComponentName admin,
int userHandle) { int userHandle) {
return mSupportMessagesMap.get(Objects.hash(admin, userHandle)); return mSupportMessagesMap.get(Objects.hash(admin, userHandle));
} }
@@ -38,20 +40,39 @@ public class ShadowDevicePolicyManager extends org.robolectric.shadows.ShadowDev
return mIsAdminActiveAsUser; return mIsAdminActiveAsUser;
} }
@Implementation
public int getDeviceOwnerUserId() {
return mDeviceOwnerUserId;
}
@Implementation
public long getMaximumTimeToLock(ComponentName admin, @UserIdInt int userHandle) {
return mProfileTimeouts.getOrDefault(userHandle, 0L);
}
@Implementation
public ComponentName getDeviceOwnerComponentOnAnyUser() {
return mDeviceOwnerComponentName;
}
public void setIsAdminActiveAsUser(boolean active) { public void setIsAdminActiveAsUser(boolean active) {
mIsAdminActiveAsUser = active; mIsAdminActiveAsUser = active;
} }
public void setDeviceOwnerUserId(int id) {
mDeviceOwnerUserId = id;
}
public void setMaximumTimeToLock(@UserIdInt int userHandle, Long timeout) {
mProfileTimeouts.put(userHandle, timeout);
}
public void setDeviceOwnerComponentOnAnyUser(ComponentName admin) {
mDeviceOwnerComponentName = admin;
}
public static ShadowDevicePolicyManager getShadow() { public static ShadowDevicePolicyManager getShadow() {
return (ShadowDevicePolicyManager) Shadow.extract( return (ShadowDevicePolicyManager) Shadow.extract(
RuntimeEnvironment.application.getSystemService(DevicePolicyManager.class)); RuntimeEnvironment.application.getSystemService(DevicePolicyManager.class));
} }
public ComponentName getDeviceOwnerComponentOnAnyUser() {
return mDeviceOwnerComponentName;
}
public void setDeviceOwnerComponentOnAnyUser(ComponentName admin) {
mDeviceOwnerComponentName = admin;
}
} }

View File

@@ -1,65 +0,0 @@
/*
* Copyright (C) 2017 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 android.annotation.UserIdInt;
import android.content.ComponentName;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import java.util.HashMap;
import java.util.Map;
/**
* Shadow for {@link DevicePolicyManagerWrapper} to allow stubbing hidden methods.
*/
@Implements(DevicePolicyManagerWrapper.class)
public class ShadowDevicePolicyManagerWrapper {
private static ComponentName deviceOComponentName = null;
private static int deviceOwnerUserId = -1;
private static final Map<Integer, Long> profileTimeouts = new HashMap<>();
@Implementation
public ComponentName getDeviceOwnerComponentOnAnyUser() {
return deviceOComponentName;
}
@Implementation
public int getDeviceOwnerUserId() {
return deviceOwnerUserId;
}
@Implementation
public long getMaximumTimeToLock(ComponentName admin, @UserIdInt int userHandle) {
return profileTimeouts.getOrDefault(userHandle, 0L);
}
public static void setDeviceOComponentName(ComponentName deviceOComponentName) {
ShadowDevicePolicyManagerWrapper.deviceOComponentName = deviceOComponentName;
}
public static void setDeviceOwnerUserId(int deviceOwnerUserId) {
ShadowDevicePolicyManagerWrapper.deviceOwnerUserId = deviceOwnerUserId;
}
public static void setMaximumTimeToLock(@UserIdInt int userHandle, Long timeout) {
profileTimeouts.put(userHandle, timeout);
}
}

View File

@@ -63,7 +63,7 @@ import com.android.settings.R;
import com.android.settings.applications.LayoutPreference; import com.android.settings.applications.LayoutPreference;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowBidiFormatter; import com.android.settings.testutils.shadow.ShadowBidiFormatter;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManagerWrapper; import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController; import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.testutils.shadow.ShadowPackageManagerWrapper; import com.android.settings.testutils.shadow.ShadowPackageManagerWrapper;
import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.ActionButtonPreference;
@@ -96,7 +96,7 @@ import java.util.stream.Collectors;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = { @Config(shadows = {
ShadowDevicePolicyManagerWrapper.class, ShadowDevicePolicyManager.class,
ShadowEntityHeaderController.class, ShadowEntityHeaderController.class,
ShadowPackageManagerWrapper.class, ShadowPackageManagerWrapper.class,
ShadowBidiFormatter.class ShadowBidiFormatter.class
@@ -693,8 +693,8 @@ public class WifiDetailPreferenceControllerTest {
mockWifiConfig.creatorUid = doUid; mockWifiConfig.creatorUid = doUid;
ComponentName doComponent = new ComponentName(doPackage, "some.Class"); ComponentName doComponent = new ComponentName(doPackage, "some.Class");
ShadowPackageManagerWrapper.setPackageUidAsUser(doPackage, doUserId, doUid); ShadowPackageManagerWrapper.setPackageUidAsUser(doPackage, doUserId, doUid);
ShadowDevicePolicyManagerWrapper.setDeviceOComponentName(doComponent); ShadowDevicePolicyManager.getShadow().setDeviceOwnerComponentOnAnyUser(doComponent);
ShadowDevicePolicyManagerWrapper.setDeviceOwnerUserId(doUserId); ShadowDevicePolicyManager.getShadow().setDeviceOwnerUserId(doUserId);
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN, 1); Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN, 1);
@@ -840,6 +840,7 @@ public class WifiDetailPreferenceControllerTest {
verify(mockAccessPoint, times(2)).getLevel(); verify(mockAccessPoint, times(2)).getLevel();
verify(mockIconInjector, times(1)).getIcon(anyInt()); verify(mockIconInjector, times(1)).getIcon(anyInt());
} }
@Test @Test
public void testRefreshRssiViews_shouldUpdateOnLevelChange() { public void testRefreshRssiViews_shouldUpdateOnLevelChange() {
displayAndResume(); displayAndResume();