Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9af5a323 authored by Adrian Roos's avatar Adrian Roos Committed by android-build-merger
Browse files

Merge "DPM: Fix regression from I54376f60ac53451ace22965d331b47cd8c2e614e" into pi-dev

am: de5026c4

Change-Id: Ic8dc52e28097526916a8d770f344cce20491cd4a
parents 1391d2e3 de5026c4
Loading
Loading
Loading
Loading
+11 −15
Original line number Original line Diff line number Diff line
@@ -4789,16 +4789,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
    private boolean resetPasswordInternal(String password, long tokenHandle, byte[] token,
    private boolean resetPasswordInternal(String password, long tokenHandle, byte[] token,
            int flags, int callingUid, int userHandle) {
            int flags, int callingUid, int userHandle) {
        int quality;
        int quality;
        final int realQuality;
        synchronized (getLockObject()) {
        synchronized (getLockObject()) {
            quality = getPasswordQuality(null, userHandle, /* parent */ false);
            quality = getPasswordQuality(null, userHandle, /* parent */ false);
            if (quality == DevicePolicyManager.PASSWORD_QUALITY_MANAGED) {
            if (quality == DevicePolicyManager.PASSWORD_QUALITY_MANAGED) {
                quality = PASSWORD_QUALITY_UNSPECIFIED;
                quality = PASSWORD_QUALITY_UNSPECIFIED;
            }
            }
            final PasswordMetrics metrics = PasswordMetrics.computeForPassword(password);
            final PasswordMetrics metrics = PasswordMetrics.computeForPassword(password);
            realQuality = metrics.quality;
            final int realQuality = metrics.quality;
            if (quality != PASSWORD_QUALITY_UNSPECIFIED) {
            if (realQuality < quality
            if (realQuality < quality
                    && quality != DevicePolicyManager.PASSWORD_QUALITY_COMPLEX) {
                    && quality != DevicePolicyManager.PASSWORD_QUALITY_COMPLEX) {
                Slog.w(LOG_TAG, "resetPassword: password quality 0x"
                Slog.w(LOG_TAG, "resetPassword: password quality 0x"
@@ -4808,7 +4805,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
                return false;
                return false;
            }
            }
            quality = Math.max(realQuality, quality);
            quality = Math.max(realQuality, quality);
            }
            int length = getPasswordMinimumLength(null, userHandle, /* parent */ false);
            int length = getPasswordMinimumLength(null, userHandle, /* parent */ false);
            if (password.length() < length) {
            if (password.length() < length) {
                Slog.w(LOG_TAG, "resetPassword: password length " + password.length()
                Slog.w(LOG_TAG, "resetPassword: password length " + password.length()
@@ -4885,7 +4881,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
        try {
        try {
            if (token == null) {
            if (token == null) {
                if (!TextUtils.isEmpty(password)) {
                if (!TextUtils.isEmpty(password)) {
                    mLockPatternUtils.saveLockPassword(password, null, realQuality, userHandle);
                    mLockPatternUtils.saveLockPassword(password, null, quality, userHandle);
                } else {
                } else {
                    mLockPatternUtils.clearLock(null, userHandle);
                    mLockPatternUtils.clearLock(null, userHandle);
                }
                }
@@ -4894,7 +4890,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
                result = mLockPatternUtils.setLockCredentialWithToken(password,
                result = mLockPatternUtils.setLockCredentialWithToken(password,
                        TextUtils.isEmpty(password) ? LockPatternUtils.CREDENTIAL_TYPE_NONE
                        TextUtils.isEmpty(password) ? LockPatternUtils.CREDENTIAL_TYPE_NONE
                                : LockPatternUtils.CREDENTIAL_TYPE_PASSWORD,
                                : LockPatternUtils.CREDENTIAL_TYPE_PASSWORD,
                        realQuality, tokenHandle, token, userHandle);
                        quality, tokenHandle, token, userHandle);
            }
            }
            boolean requireEntry = (flags & DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY) != 0;
            boolean requireEntry = (flags & DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY) != 0;
            if (requireEntry) {
            if (requireEntry) {