summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Oli Lan <olilan@google.com> 2022-05-09 15:36:10 +0100
committer Oli Lan <olilan@google.com> 2022-05-09 15:45:18 +0100
commit0ef54ab219039faa0d2947bb42b7238a58590c33 (patch)
tree2803b7f34d94dafbc968f4f300353c83fa484369
parent003535ddbe13e96eaf7be5b3490a2c99cdb5ba8c (diff)
Fix avatar picker issues relating to screen rotation.
This fixes two issues relating to rotation: - in the avatar picker, the done button becomes deactivated and does not reactivate after screen rotation - from the profile dialog, if an image has been chosen, it does not get applied if the device is rotated. Bug: 231922829 Bug: 231923131 Test: run through repro steps and confirm issues do not occur Change-Id: I3dfc4016012b690a6547f7c7eb70c88cc236d7d9
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java1
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/users/EditUserInfoController.java7
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java6
3 files changed, 10 insertions, 4 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java b/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java
index 8a1e91b4dcd8..3e7481a61f89 100644
--- a/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java
+++ b/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java
@@ -147,6 +147,7 @@ public class AvatarPickerActivity extends Activity {
mWaitingForActivityResult = savedInstanceState.getBoolean(KEY_AWAITING_RESULT, false);
mAdapter.mSelectedPosition =
savedInstanceState.getInt(KEY_SELECTED_POSITION, AvatarAdapter.NONE);
+ mDoneButton.setEnabled(mAdapter.mSelectedPosition != AvatarAdapter.NONE);
}
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/users/EditUserInfoController.java b/packages/SettingsLib/src/com/android/settingslib/users/EditUserInfoController.java
index 80ee86f5e489..3b542ccea635 100644
--- a/packages/SettingsLib/src/com/android/settingslib/users/EditUserInfoController.java
+++ b/packages/SettingsLib/src/com/android/settingslib/users/EditUserInfoController.java
@@ -54,6 +54,7 @@ public class EditUserInfoController {
private Dialog mEditUserInfoDialog;
private Bitmap mSavedPhoto;
+ private Drawable mSavedDrawable;
private EditUserPhotoController mEditUserPhotoController;
private boolean mWaitingForActivityResult = false;
private final String mFileAuthority;
@@ -68,6 +69,7 @@ public class EditUserInfoController {
}
mEditUserInfoDialog = null;
mSavedPhoto = null;
+ mSavedDrawable = null;
}
/**
@@ -170,7 +172,8 @@ public class EditUserInfoController {
private Drawable getUserIcon(Activity activity, Drawable defaultUserIcon) {
if (mSavedPhoto != null) {
- return CircleFramedDrawable.getInstance(activity, mSavedPhoto);
+ mSavedDrawable = CircleFramedDrawable.getInstance(activity, mSavedPhoto);
+ return mSavedDrawable;
}
return defaultUserIcon;
}
@@ -229,6 +232,6 @@ public class EditUserInfoController {
EditUserPhotoController createEditUserPhotoController(Activity activity,
ActivityStarter activityStarter, ImageView userPhotoView) {
return new EditUserPhotoController(activity, activityStarter, userPhotoView,
- mSavedPhoto, mFileAuthority);
+ mSavedPhoto, mSavedDrawable, mFileAuthority);
}
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java b/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java
index 5862f6095018..38cf383645aa 100644
--- a/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java
+++ b/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java
@@ -62,7 +62,7 @@ public class EditUserPhotoController {
private Drawable mNewUserPhotoDrawable;
public EditUserPhotoController(Activity activity, ActivityStarter activityStarter,
- ImageView view, Bitmap bitmap, String fileAuthority) {
+ ImageView view, Bitmap savedBitmap, Drawable savedDrawable, String fileAuthority) {
mActivity = activity;
mActivityStarter = activityStarter;
mFileAuthority = fileAuthority;
@@ -71,7 +71,9 @@ public class EditUserPhotoController {
mImagesDir.mkdir();
mImageView = view;
mImageView.setOnClickListener(v -> showAvatarPicker());
- mNewUserPhotoBitmap = bitmap;
+
+ mNewUserPhotoBitmap = savedBitmap;
+ mNewUserPhotoDrawable = savedDrawable;
}
/**