summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/applications/RunningState.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/com/android/settings/applications/RunningState.java b/src/com/android/settings/applications/RunningState.java
index a3eabb8..e0ac56c 100644
--- a/src/com/android/settings/applications/RunningState.java
+++ b/src/com/android/settings/applications/RunningState.java
@@ -80,6 +80,7 @@ public class RunningState {
final PackageManager mPm;
final UserManager mUm;
final int mMyUserId;
+ final boolean mHideManagedProfiles;
OnRefreshUiListener mRefreshUiListener;
@@ -744,6 +745,7 @@ public class RunningState {
mPm = mApplicationContext.getPackageManager();
mUm = (UserManager)mApplicationContext.getSystemService(Context.USER_SERVICE);
mMyUserId = UserHandle.myUserId();
+ mHideManagedProfiles = mMyUserId != UserHandle.USER_OWNER;
mResumed = false;
mBackgroundThread = new HandlerThread("RunningState:Background");
mBackgroundThread.start();
@@ -828,6 +830,12 @@ public class RunningState {
MergedItem userItem = userItems.get(newItem.mUserId);
boolean first = userItem == null || userItem.mCurSeq != mSequence;
if (first) {
+ UserState userState = mUsers.get(newItem.mUserId);
+ UserInfo info = userState != null
+ ? userState.mInfo : mUm.getUserInfo(newItem.mUserId);
+ if (mHideManagedProfiles && info.isManagedProfile()) {
+ return;
+ }
if (userItem == null) {
userItem = new MergedItem(newItem.mUserId);
userItems.put(newItem.mUserId, userItem);
@@ -835,9 +843,8 @@ public class RunningState {
userItem.mChildren.clear();
}
userItem.mCurSeq = mSequence;
- if ((userItem.mUser=mUsers.get(newItem.mUserId)) == null) {
+ if (userState == null) {
userItem.mUser = new UserState();
- UserInfo info = mUm.getUserInfo(newItem.mUserId);
userItem.mUser.mInfo = info;
userItem.mUser.mIcon = Utils.getUserIcon(context, mUm, info);
userItem.mUser.mLabel = Utils.getUserLabel(context, info);