diff --git a/src/com/android/settings/CredentialStorage.java b/src/com/android/settings/CredentialStorage.java index 03bf7b383da..6cdf0b92ca6 100644 --- a/src/com/android/settings/CredentialStorage.java +++ b/src/com/android/settings/CredentialStorage.java @@ -344,13 +344,12 @@ public final class CredentialStorage extends Activity { // Clear all the users credentials could have been installed in for this user. final UserManager um = (UserManager) getSystemService(USER_SERVICE); - for (UserInfo pi : um.getProfiles(UserHandle.getUserId(Process.myUid()))) { + for (int userId : um.getProfileIdsWithDisabled(UserHandle.myUserId())) { for (int uid : SYSTEM_CREDENTIAL_UIDS) { - mKeyStore.clearUid(UserHandle.getUid(pi.id, uid)); + mKeyStore.clearUid(UserHandle.getUid(userId, uid)); } } - try { KeyChainConnection keyChainConnection = KeyChain.bind(CredentialStorage.this); try { diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 84bb2ddc4a1..527194fb7ba 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -615,12 +615,10 @@ public final class Utils extends com.android.settingslib.Utils { * @return the managed profile id or UserHandle.USER_NULL if there is none. */ public static int getManagedProfileId(UserManager um, int parentUserId) { - List profiles = um.getProfiles(parentUserId); - int numProfiles = profiles.size(); - for (int i = 0; i < numProfiles; ++i) { - UserInfo profile = profiles.get(i); - if (profile.id != parentUserId) { - return profile.id; + int[] profileIds = um.getProfileIdsWithDisabled(parentUserId); + for (int profileId : profileIds) { + if (profileId != parentUserId) { + return profileId; } } return UserHandle.USER_NULL;