From 330c2052ec1eee57778cd3b78c742c0b7769f2c4 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Thu, 7 Apr 2016 14:55:06 +0100 Subject: [PATCH] Credential storage: check lock quality for right user Checking the wrong user can lead to an infinite loop when trying to install credentials from a managed profile. Bug: 28043334 Change-Id: I3e1044069f0d5139a47de461996a6d98e0fe5e2f --- src/com/android/settings/CredentialStorage.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/CredentialStorage.java b/src/com/android/settings/CredentialStorage.java index 9d001b4ca73..03bf7b383da 100644 --- a/src/com/android/settings/CredentialStorage.java +++ b/src/com/android/settings/CredentialStorage.java @@ -208,9 +208,9 @@ public final class CredentialStorage extends Activity { * Returns true if the currently set key guard matches our minimum quality requirements. */ private boolean checkKeyGuardQuality() { - UserInfo parent = UserManager.get(this).getProfileParent(UserHandle.myUserId()); - int quality = new LockPatternUtils(this).getActivePasswordQuality( - parent != null ? parent.id : UserHandle.myUserId()); + int credentialOwner = + UserManager.get(this).getCredentialOwnerProfile(UserHandle.myUserId()); + int quality = new LockPatternUtils(this).getActivePasswordQuality(credentialOwner); return (quality >= MIN_PASSWORD_QUALITY); }