Merge "Do not get device owner admin info when device owner is null" into nyc-dev

am: 21f98459b7

* commit '21f98459b7740f57f6fd0415298cb5f5c0c7e0ae':
  Do not get device owner admin info when device owner is null

Change-Id: Iae5d7d5f9e5f5cf23d8c02bf9a4322e4569be9de
This commit is contained in:
Ricky Wai
2016-05-31 17:37:33 +00:00
committed by android-build-merger

View File

@@ -3810,12 +3810,16 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
// If caller has PO (or DO) it can change the password, so see if that's the case first.
ActiveAdmin admin = getActiveAdminWithPolicyForUidLocked(
null, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER, callingUid);
final boolean preN = getTargetSdk(admin.info.getPackageName(),
userHandle) <= android.os.Build.VERSION_CODES.M;
if (admin == null) {
final boolean preN;
if (admin != null) {
preN = getTargetSdk(admin.info.getPackageName(),
userHandle) <= android.os.Build.VERSION_CODES.M;
} else {
// Otherwise, make sure the caller has any active admin with the right policy.
admin = getActiveAdminForCallerLocked(null,
DeviceAdminInfo.USES_POLICY_RESET_PASSWORD);
preN = getTargetSdk(admin.info.getPackageName(),
userHandle) <= android.os.Build.VERSION_CODES.M;
// As of N, password resetting to empty/null is not allowed anymore.
// TODO Should we allow DO/PO to set an empty password?