Merge "Added getProfileIds method returning array of userIds" into nyc-dev
diff --git a/src/com/android/settings/CredentialStorage.java b/src/com/android/settings/CredentialStorage.java
index 03bf7b3..6cdf0b9 100644
--- a/src/com/android/settings/CredentialStorage.java
+++ b/src/com/android/settings/CredentialStorage.java
@@ -344,13 +344,12 @@
 
             // 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 84bb2dd..527194f 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -615,12 +615,10 @@
      * @return the managed profile id or UserHandle.USER_NULL if there is none.
      */
     public static int getManagedProfileId(UserManager um, int parentUserId) {
-        List<UserInfo> 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;