Merge "Fix avatar picker issues relating to screen rotation." into tm-dev

This commit is contained in:
Oli Lan
2022-05-10 09:33:46 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 4 deletions

View File

@@ -147,6 +147,7 @@ public class AvatarPickerActivity extends Activity {
mWaitingForActivityResult = savedInstanceState.getBoolean(KEY_AWAITING_RESULT, false); mWaitingForActivityResult = savedInstanceState.getBoolean(KEY_AWAITING_RESULT, false);
mAdapter.mSelectedPosition = mAdapter.mSelectedPosition =
savedInstanceState.getInt(KEY_SELECTED_POSITION, AvatarAdapter.NONE); savedInstanceState.getInt(KEY_SELECTED_POSITION, AvatarAdapter.NONE);
mDoneButton.setEnabled(mAdapter.mSelectedPosition != AvatarAdapter.NONE);
} }
} }

View File

@@ -54,6 +54,7 @@ public class EditUserInfoController {
private Dialog mEditUserInfoDialog; private Dialog mEditUserInfoDialog;
private Bitmap mSavedPhoto; private Bitmap mSavedPhoto;
private Drawable mSavedDrawable;
private EditUserPhotoController mEditUserPhotoController; private EditUserPhotoController mEditUserPhotoController;
private boolean mWaitingForActivityResult = false; private boolean mWaitingForActivityResult = false;
private final String mFileAuthority; private final String mFileAuthority;
@@ -68,6 +69,7 @@ public class EditUserInfoController {
} }
mEditUserInfoDialog = null; mEditUserInfoDialog = null;
mSavedPhoto = null; mSavedPhoto = null;
mSavedDrawable = null;
} }
/** /**
@@ -170,7 +172,8 @@ public class EditUserInfoController {
private Drawable getUserIcon(Activity activity, Drawable defaultUserIcon) { private Drawable getUserIcon(Activity activity, Drawable defaultUserIcon) {
if (mSavedPhoto != null) { if (mSavedPhoto != null) {
return CircleFramedDrawable.getInstance(activity, mSavedPhoto); mSavedDrawable = CircleFramedDrawable.getInstance(activity, mSavedPhoto);
return mSavedDrawable;
} }
return defaultUserIcon; return defaultUserIcon;
} }
@@ -229,6 +232,6 @@ public class EditUserInfoController {
EditUserPhotoController createEditUserPhotoController(Activity activity, EditUserPhotoController createEditUserPhotoController(Activity activity,
ActivityStarter activityStarter, ImageView userPhotoView) { ActivityStarter activityStarter, ImageView userPhotoView) {
return new EditUserPhotoController(activity, activityStarter, userPhotoView, return new EditUserPhotoController(activity, activityStarter, userPhotoView,
mSavedPhoto, mFileAuthority); mSavedPhoto, mSavedDrawable, mFileAuthority);
} }
} }

View File

@@ -62,7 +62,7 @@ public class EditUserPhotoController {
private Drawable mNewUserPhotoDrawable; private Drawable mNewUserPhotoDrawable;
public EditUserPhotoController(Activity activity, ActivityStarter activityStarter, public EditUserPhotoController(Activity activity, ActivityStarter activityStarter,
ImageView view, Bitmap bitmap, String fileAuthority) { ImageView view, Bitmap savedBitmap, Drawable savedDrawable, String fileAuthority) {
mActivity = activity; mActivity = activity;
mActivityStarter = activityStarter; mActivityStarter = activityStarter;
mFileAuthority = fileAuthority; mFileAuthority = fileAuthority;
@@ -71,7 +71,9 @@ public class EditUserPhotoController {
mImagesDir.mkdir(); mImagesDir.mkdir();
mImageView = view; mImageView = view;
mImageView.setOnClickListener(v -> showAvatarPicker()); mImageView.setOnClickListener(v -> showAvatarPicker());
mNewUserPhotoBitmap = bitmap;
mNewUserPhotoBitmap = savedBitmap;
mNewUserPhotoDrawable = savedDrawable;
} }
/** /**