Merge "Corrects long name ellipsize for quick contact." into klp-dev
diff --git a/src/com/android/contacts/activities/AttachPhotoActivity.java b/src/com/android/contacts/activities/AttachPhotoActivity.java
index 678c1d2..78b482e 100644
--- a/src/com/android/contacts/activities/AttachPhotoActivity.java
+++ b/src/com/android/contacts/activities/AttachPhotoActivity.java
@@ -111,6 +111,9 @@
         if (mTempPhotoUri != null) {
             outState.putString(KEY_TEMP_PHOTO_URI, mTempPhotoUri.toString());
         }
+        if (mCroppedPhotoUri != null) {
+            outState.putString(KEY_CROPPED_PHOTO_URI, mCroppedPhotoUri.toString());
+        }
     }
 
     @Override
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 28d63ec..15e119b 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -387,15 +387,12 @@
             // If directory export support is not allowed, then don't allow the user to add
             // to contacts
             if (mContactData.getDirectoryExportSupport() == Directory.EXPORT_SUPPORT_NONE) {
-                mOpenDetailsOrAddContactImage.setImageResource(R.drawable.ic_contacts_holo_dark);
-                mOpenDetailsOrAddContactImage.setOnClickListener(mOpenDetailsClickHandler);
+                configureHeaderClickActions(false);
             } else {
-                mOpenDetailsOrAddContactImage.setImageResource(R.drawable.ic_add_contact_holo_dark);
-                mOpenDetailsOrAddContactImage.setOnClickListener(mAddToContactsClickHandler);
+                configureHeaderClickActions(true);
             }
         } else {
-            mOpenDetailsOrAddContactImage.setImageResource(R.drawable.ic_contacts_holo_dark);
-            mOpenDetailsOrAddContactImage.setOnClickListener(mOpenDetailsClickHandler);
+            configureHeaderClickActions(false);
             mStarImage.setVisibility(View.VISIBLE);
             mStarImage.setOnClickListener(new OnClickListener() {
                 @Override
@@ -545,6 +542,24 @@
     }
 
     /**
+     * Bind the correct image resource and click handlers to the header views
+     *
+     * @param canAdd Whether or not the user can directly add information in this quick contact
+     * to their local contacts
+     */
+    private void configureHeaderClickActions(boolean canAdd) {
+        if (canAdd) {
+            mOpenDetailsOrAddContactImage.setImageResource(R.drawable.ic_add_contact_holo_dark);
+            mOpenDetailsOrAddContactImage.setOnClickListener(mAddToContactsClickHandler);
+            mPhotoView.setOnClickListener(mAddToContactsClickHandler);
+        } else {
+            mOpenDetailsOrAddContactImage.setImageResource(R.drawable.ic_contacts_holo_dark);
+            mOpenDetailsOrAddContactImage.setOnClickListener(mOpenDetailsClickHandler);
+            mPhotoView.setOnClickListener(mOpenDetailsClickHandler);
+        }
+    }
+
+    /**
      * Inflate the in-track view for the action of the given MIME-type, collapsing duplicate values.
      * Will use the icon provided by the {@link DataKind}.
      */