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);
}