diff options
-rw-r--r-- | src/com/android/settings/users/AppRestrictionsFragment.java | 3 | ||||
-rw-r--r-- | src/com/android/settings/users/RestrictedProfileSettings.java | 24 |
2 files changed, 23 insertions, 4 deletions
diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java index 96a7b47..f1022b9 100644 --- a/src/com/android/settings/users/AppRestrictionsFragment.java +++ b/src/com/android/settings/users/AppRestrictionsFragment.java @@ -347,6 +347,9 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen protected Drawable getCircularUserIcon() { Bitmap userIcon = mUserManager.getUserIcon(mUser.getIdentifier()); + if (userIcon == null) { + return null; + } CircleFramedDrawable circularIcon = CircleFramedDrawable.getInstance(this.getActivity(), userIcon); return circularIcon; diff --git a/src/com/android/settings/users/RestrictedProfileSettings.java b/src/com/android/settings/users/RestrictedProfileSettings.java index 1d712ac..c293536 100644 --- a/src/com/android/settings/users/RestrictedProfileSettings.java +++ b/src/com/android/settings/users/RestrictedProfileSettings.java @@ -37,6 +37,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; +import android.os.UserHandle; import android.provider.MediaStore; import android.provider.ContactsContract.DisplayPhoto; import android.support.v4.content.FileProvider; @@ -123,10 +124,25 @@ public class RestrictedProfileSettings extends AppRestrictionsFragment { public void onResume() { super.onResume(); - UserInfo info = mUserManager.getUserInfo(mUser.getIdentifier()); - ((TextView) mHeaderView.findViewById(android.R.id.title)).setText(info.name); - ((ImageView) mHeaderView.findViewById(android.R.id.icon)).setImageDrawable( - getCircularUserIcon()); + // Check if user still exists + UserInfo info = getExistingUser(mUser); + if (info == null) { + finishFragment(); + } else { + ((TextView) mHeaderView.findViewById(android.R.id.title)).setText(info.name); + ((ImageView) mHeaderView.findViewById(android.R.id.icon)).setImageDrawable( + getCircularUserIcon()); + } + } + + private UserInfo getExistingUser(UserHandle thisUser) { + final List<UserInfo> users = mUserManager.getUsers(true); // Only get non-dying + for (UserInfo user : users) { + if (user.id == thisUser.getIdentifier()) { + return user; + } + } + return null; } @Override |