Make photo selection handler available and pass photo URI on rotation
am: a9242e143e
* commit 'a9242e143ef468e74d28ac525539f803e120c520':
Make photo selection handler available and pass photo URI on rotation
diff --git a/src/com/android/contacts/activities/CompactContactEditorActivity.java b/src/com/android/contacts/activities/CompactContactEditorActivity.java
index 0de20e7..dc16049 100644
--- a/src/com/android/contacts/activities/CompactContactEditorActivity.java
+++ b/src/com/android/contacts/activities/CompactContactEditorActivity.java
@@ -44,6 +44,7 @@
private static final String STATE_PHOTO_MODE = "photo_mode";
private static final String STATE_IS_PHOTO_SELECTION = "is_photo_selection";
private static final String STATE_ACTION_BAR_TITLE = "action_bar_title";
+ private static final String STATE_PHOTO_URI = "photo_uri";
/**
* Displays a PopupWindow with photo edit options.
@@ -147,6 +148,7 @@
mPhotoMode = savedState.getInt(STATE_PHOTO_MODE);
mIsPhotoSelection = savedState.getBoolean(STATE_IS_PHOTO_SELECTION);
mActionBarTitleResId = savedState.getInt(STATE_ACTION_BAR_TITLE);
+ mPhotoUri = Uri.parse(savedState.getString(STATE_PHOTO_URI));
// Show/hide the editor and photo selection fragments (w/o animations)
mFragment = (CompactContactEditorFragment) getFragmentManager()
@@ -179,12 +181,16 @@
outState.putInt(STATE_PHOTO_MODE, mPhotoMode);
outState.putBoolean(STATE_IS_PHOTO_SELECTION, mIsPhotoSelection);
outState.putInt(STATE_ACTION_BAR_TITLE, mActionBarTitleResId);
+ outState.putString(STATE_PHOTO_URI,
+ mPhotoUri != null ? mPhotoUri.toString() : Uri.EMPTY.toString());
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (mPhotoSelectionHandler != null &&
- mPhotoSelectionHandler.handlePhotoActivityResult(requestCode, resultCode, data)) {
+ if (mPhotoSelectionHandler == null) {
+ mPhotoSelectionHandler = (CompactPhotoSelectionHandler) getPhotoSelectionHandler();
+ }
+ if (mPhotoSelectionHandler.handlePhotoActivityResult(requestCode, resultCode, data)) {
return;
}
super.onActivityResult(requestCode, resultCode, data);