Update contact photo edit options after photo is changed

Change-Id: I6cb9c432e7c98a4efc4c0c1c26efb8b1971acd15
diff --git a/src/com/android/contacts/editor/CompactContactEditorFragment.java b/src/com/android/contacts/editor/CompactContactEditorFragment.java
index 7194511..121fc88 100644
--- a/src/com/android/contacts/editor/CompactContactEditorFragment.java
+++ b/src/com/android/contacts/editor/CompactContactEditorFragment.java
@@ -67,6 +67,9 @@
             public void onRemovePictureChosen() {
                 getContent().setPhoto(/* bitmap =*/ null);
                 mUpdatedPhotos.remove(String.valueOf(mPhotoRawContactId));
+
+                // Update the mode so the options change if user clicks the photo again
+                mPhotoMode = getPhotoMode();
             }
 
             @Override
@@ -85,6 +88,9 @@
                 // we need to update the UI immediately
                 mUpdatedPhotos.putParcelable(String.valueOf(mPhotoRawContactId), uri);
                 getContent().setFullSizePhoto(uri);
+
+                // Update the mode so the options change if user clicks the photo again
+                mPhotoMode = getPhotoMode();
             }
 
             @Override
@@ -110,6 +116,10 @@
             mPhotoMode = photoMode;
         }
 
+        public void setPhotoMode(int photoMode) {
+            mPhotoMode = photoMode;
+        }
+
         @Override
         public void onClick(View view) {
             PhotoSourceDialogFragment.show(CompactContactEditorFragment.this, mPhotoMode);
@@ -266,6 +276,10 @@
     }
 
     private PhotoHandler createPhotoHandler() {
+        return new PhotoHandler(getActivity(), getPhotoMode(), mState);
+    }
+
+    private int getPhotoMode() {
         // To determine the options that are available to the user to update their photo
         // (i.e. the photo mode), check if any of the writable raw contacts has a photo set
         Integer photoMode = null;
@@ -289,8 +303,7 @@
             photoMode = hasWritableAccountType
                     ? PhotoActionPopup.Modes.NO_PHOTO : PhotoActionPopup.Modes.READ_ONLY_PHOTO;
         }
-
-        return new PhotoHandler(getActivity(), photoMode, mState);
+        return photoMode;
     }
 
     @Override