Allow photo changes to be uploaded to Exchange (fixes #2179082)

Change-Id: I5de51a4313c43dbe4e3d12d4d0e11b20adedaa8f
diff --git a/src/com/android/exchange/adapter/ContactsSyncAdapter.java b/src/com/android/exchange/adapter/ContactsSyncAdapter.java
index fff6400..1228354 100644
--- a/src/com/android/exchange/adapter/ContactsSyncAdapter.java
+++ b/src/com/android/exchange/adapter/ContactsSyncAdapter.java
@@ -1628,6 +1628,15 @@
         }
     }
 
+    private void sendPhoto(Serializer s, ContentValues cv) throws IOException {
+        if (cv.containsKey(Photo.PHOTO)) {
+            byte[] bytes = cv.getAsByteArray(Photo.PHOTO);
+            byte[] encodedBytes = Base64.encodeBase64(bytes);
+            String pic = new String(encodedBytes);
+            s.data(Tags.CONTACTS_PICTURE, pic);
+        }
+    }
+
     private void sendOrganization(Serializer s, ContentValues cv) throws IOException {
         if (cv.containsKey(Organization.TITLE)) {
             s.data(Tags.CONTACTS_JOB_TITLE, cv.getAsString(Organization.TITLE));
@@ -1854,8 +1863,7 @@
                         } else if (mimeType.equals(Note.CONTENT_ITEM_TYPE)) {
                             sendNote(s, cv);
                         } else if (mimeType.equals(Photo.CONTENT_ITEM_TYPE)) {
-                            // For now, the user can change the photo, but the change won't be
-                            // uploaded.
+                            sendPhoto(s, cv);
                         } else {
                             userLog("Contacts upsync, unknown data: ", mimeType);
                         }