Merge "Import translations. DO NOT MERGE" into klp-dev
diff --git a/src/com/android/settings/users/RestrictedProfileSettings.java b/src/com/android/settings/users/RestrictedProfileSettings.java
index 73b49bf..1d712ac 100644
--- a/src/com/android/settings/users/RestrictedProfileSettings.java
+++ b/src/com/android/settings/users/RestrictedProfileSettings.java
@@ -66,6 +66,7 @@
public class RestrictedProfileSettings extends AppRestrictionsFragment {
private static final String KEY_SAVED_PHOTO = "pending_photo";
+ private static final String KEY_AWAITING_RESULT = "awaiting_result";
private static final int DIALOG_ID_EDIT_USER_INFO = 1;
public static final String FILE_PROVIDER_AUTHORITY = "com.android.settings.files";
@@ -76,6 +77,7 @@
private Dialog mEditUserInfoDialog;
private EditUserPhotoController mEditUserPhotoController;
private Bitmap mSavedPhoto;
+ private boolean mWaitingForActivityResult;
@Override
public void onCreate(Bundle icicle) {
@@ -83,6 +85,7 @@
if (icicle != null) {
mSavedPhoto = (Bitmap) icicle.getParcelable(KEY_SAVED_PHOTO);
+ mWaitingForActivityResult = icicle.getBoolean(KEY_AWAITING_RESULT, false);
}
init(icicle);
@@ -111,6 +114,9 @@
outState.putParcelable(KEY_SAVED_PHOTO,
mEditUserPhotoController.getNewUserPhotoBitmap());
}
+ if (mWaitingForActivityResult) {
+ outState.putBoolean(KEY_AWAITING_RESULT, mWaitingForActivityResult);
+ }
}
@Override
@@ -124,8 +130,15 @@
}
@Override
+ public void startActivityForResult(Intent intent, int requestCode) {
+ mWaitingForActivityResult = true;
+ super.startActivityForResult(intent, requestCode);
+ }
+
+ @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
+ mWaitingForActivityResult = false;
if (mEditUserInfoDialog != null && mEditUserInfoDialog.isShowing()
&& mEditUserPhotoController.onActivityResult(requestCode, resultCode, data)) {
@@ -168,9 +181,8 @@
}
}
userPhotoView.setImageDrawable(drawable);
-
mEditUserPhotoController = new EditUserPhotoController(this, userPhotoView,
- mSavedPhoto, drawable);
+ mSavedPhoto, drawable, mWaitingForActivityResult);
mEditUserInfoDialog = new AlertDialog.Builder(getActivity())
.setTitle(R.string.profile_info_settings_title)
@@ -262,12 +274,12 @@
private Drawable mNewUserPhotoDrawable;
public EditUserPhotoController(Fragment fragment, ImageView view,
- Bitmap bitmap, Drawable drawable) {
+ Bitmap bitmap, Drawable drawable, boolean waiting) {
mContext = view.getContext();
mFragment = fragment;
mImageView = view;
- mCropPictureUri = createTempImageUri(mContext, CROP_PICTURE_FILE_NAME);
- mTakePictureUri = createTempImageUri(mContext, TAKE_PICTURE_FILE_NAME);
+ mCropPictureUri = createTempImageUri(mContext, CROP_PICTURE_FILE_NAME, !waiting);
+ mTakePictureUri = createTempImageUri(mContext, TAKE_PICTURE_FILE_NAME, !waiting);
mPhotoSize = getPhotoSize(mContext);
mImageView.setOnClickListener(new OnClickListener() {
@Override
@@ -487,11 +499,13 @@
}
}
- private static Uri createTempImageUri(Context context, String fileName) {
+ private Uri createTempImageUri(Context context, String fileName, boolean purge) {
final File folder = context.getCacheDir();
folder.mkdirs();
final File fullPath = new File(folder, fileName);
- fullPath.delete();
+ if (purge) {
+ fullPath.delete();
+ }
final Uri fileUri =
FileProvider.getUriForFile(context, FILE_PROVIDER_AUTHORITY, fullPath);
return fileUri;