am 16d358da: Merge "Exit restrictions fragment if user was deleted" into klp-dev

* commit '16d358daf00b54c2ecfe5f5b8de8de5a8cfa14ef':
  Exit restrictions fragment if user was deleted
This commit is contained in:
Amith Yamasani
2013-10-04 12:56:37 -07:00
committed by Android Git Automerger
2 changed files with 23 additions and 4 deletions

View File

@@ -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;

View File

@@ -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