am 1edc792b: am 61414c2c: Fixed bug where contact photo did not scale up when cropped.

* commit '1edc792b6b1cbee8b3cd42480cb79ec4f984398c':
  Fixed bug where contact photo did not scale up when cropped.
diff --git a/src/com/android/contacts/activities/AttachPhotoActivity.java b/src/com/android/contacts/activities/AttachPhotoActivity.java
index bbb6467..9ca9cfd 100644
--- a/src/com/android/contacts/activities/AttachPhotoActivity.java
+++ b/src/com/android/contacts/activities/AttachPhotoActivity.java
@@ -28,7 +28,6 @@
 import android.provider.ContactsContract.CommonDataKinds.Photo;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.DisplayPhoto;
-import android.provider.MediaStore;
 import android.util.Log;
 
 import com.android.contacts.ContactLoader;
@@ -123,12 +122,7 @@
             if (myIntent.getStringExtra("mimeType") != null) {
                 intent.setDataAndType(myIntent.getData(), myIntent.getStringExtra("mimeType"));
             }
-            intent.putExtra("crop", "true");
-            intent.putExtra("aspectX", 1);
-            intent.putExtra("aspectY", 1);
-            intent.putExtra("outputX", mPhotoDim);
-            intent.putExtra("outputY", mPhotoDim);
-            intent.putExtra(MediaStore.EXTRA_OUTPUT, mTempPhotoUri);
+            ContactPhotoUtils.addGalleryIntentExtras(intent, mTempPhotoUri, mPhotoDim);
 
             startActivityForResult(intent, REQUEST_CROP_PHOTO);
 
diff --git a/src/com/android/contacts/detail/PhotoSelectionHandler.java b/src/com/android/contacts/detail/PhotoSelectionHandler.java
index ef4f8de..569012e 100644
--- a/src/com/android/contacts/detail/PhotoSelectionHandler.java
+++ b/src/com/android/contacts/detail/PhotoSelectionHandler.java
@@ -257,12 +257,7 @@
         final Uri croppedPhotoUri = Uri.fromFile(new File(croppedPhotoPath));
         final Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
         intent.setType("image/*");
-        intent.putExtra("crop", "true");
-        intent.putExtra("aspectX", 1);
-        intent.putExtra("aspectY", 1);
-        intent.putExtra("outputX", mPhotoPickSize);
-        intent.putExtra("outputY", mPhotoPickSize);
-        intent.putExtra(MediaStore.EXTRA_OUTPUT, croppedPhotoUri);
+        ContactPhotoUtils.addGalleryIntentExtras(intent, croppedPhotoUri, mPhotoPickSize);
         return intent;
     }
 
@@ -274,12 +269,7 @@
         final Uri croppedPhotoUri = Uri.fromFile(new File(croppedPhotoPath));
         Intent intent = new Intent("com.android.camera.action.CROP");
         intent.setDataAndType(inputPhotoUri, "image/*");
-        intent.putExtra("crop", "true");
-        intent.putExtra("aspectX", 1);
-        intent.putExtra("aspectY", 1);
-        intent.putExtra("outputX", mPhotoPickSize);
-        intent.putExtra("outputY", mPhotoPickSize);
-        intent.putExtra(MediaStore.EXTRA_OUTPUT, croppedPhotoUri);
+        ContactPhotoUtils.addGalleryIntentExtras(intent, croppedPhotoUri, mPhotoPickSize);
         return intent;
     }
 
diff --git a/src/com/android/contacts/util/ContactPhotoUtils.java b/src/com/android/contacts/util/ContactPhotoUtils.java
index 2bd8e80..49be19d 100644
--- a/src/com/android/contacts/util/ContactPhotoUtils.java
+++ b/src/com/android/contacts/util/ContactPhotoUtils.java
@@ -18,8 +18,11 @@
 package com.android.contacts.util;
 
 import android.content.Context;
+import android.content.Intent;
 import android.graphics.Bitmap;
+import android.net.Uri;
 import android.os.Environment;
+import android.provider.MediaStore;
 import android.util.Log;
 
 import java.io.ByteArrayOutputStream;
@@ -87,6 +90,24 @@
             return null;
         }
     }
+
+    /**
+     * Adds common extras to gallery intents.
+     *
+     * @param intent The intent to add extras to.
+     * @param croppedPhotoUri The uri of the file to save the image to.
+     * @param photoSize The size of the photo to scale to.
+     */
+    public static void addGalleryIntentExtras(Intent intent, Uri croppedPhotoUri, int photoSize) {
+        intent.putExtra("crop", "true");
+        intent.putExtra("scale", true);
+        intent.putExtra("scaleUpIfNeeded", true);
+        intent.putExtra("aspectX", 1);
+        intent.putExtra("aspectY", 1);
+        intent.putExtra("outputX", photoSize);
+        intent.putExtra("outputY", photoSize);
+        intent.putExtra(MediaStore.EXTRA_OUTPUT, croppedPhotoUri);
+    }
 }