From b87b0edfb36bccdbc5ca33d85e8917c6c7f23190 Mon Sep 17 00:00:00 2001 From: Ricky Wai Date: Tue, 7 Jun 2016 15:25:42 +0100 Subject: [PATCH] Make Settings->Apps can handle work apps even work profile not enabled yet Bug: 29090660 Change-Id: I74f79a4939fac16a09c7991181dc25e1ba4e5edc --- .../com/android/settingslib/applications/ApplicationsState.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java index 6d6a4b55bd93..739245330d7c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java @@ -46,6 +46,8 @@ import android.text.format.Formatter; import android.util.Log; import android.util.SparseArray; +import com.android.internal.util.ArrayUtils; + import java.io.File; import java.text.Collator; import java.text.Normalizer; @@ -123,8 +125,8 @@ public class ApplicationsState { mPm = mContext.getPackageManager(); mIpm = AppGlobals.getPackageManager(); mUm = (UserManager) app.getSystemService(Context.USER_SERVICE); - for (UserHandle user : mUm.getUserProfiles()) { - mEntriesMap.put(user.getIdentifier(), new HashMap()); + for (int userId : mUm.getProfileIdsWithDisabled(UserHandle.myUserId())) { + mEntriesMap.put(userId, new HashMap()); } mThread = new HandlerThread("ApplicationsState.Loader", Process.THREAD_PRIORITY_BACKGROUND); @@ -426,7 +428,8 @@ public class ApplicationsState { } private void addUser(int userId) { - if (mUm.getUserProfiles().contains(new UserHandle(userId))) { + final int profileIds[] = mUm.getProfileIdsWithDisabled(UserHandle.myUserId()); + if (ArrayUtils.contains(profileIds, userId)) { synchronized (mEntriesMap) { mEntriesMap.put(userId, new HashMap()); if (mResumed) { -- 2.11.0