diff options
author | kaiyiz <kaiyiz@codeaurora.org> | 2014-11-04 17:58:24 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-11-06 21:50:58 -0800 |
commit | 726eb2a8ffef42994cdeeb6b4550e182f210dc21 (patch) | |
tree | de7fa228bee62e0e6b098bc04448d646dd8b6047 | |
parent | 31ec69202a7bb966a2c820add06f5dbfca1da975 (diff) | |
download | android_packages_apps_ContactsCommon-726eb2a8ffef42994cdeeb6b4550e182f210dc21.tar.gz android_packages_apps_ContactsCommon-726eb2a8ffef42994cdeeb6b4550e182f210dc21.tar.bz2 android_packages_apps_ContactsCommon-726eb2a8ffef42994cdeeb6b4550e182f210dc21.zip |
ContactsCommon: Add import contacts from MMS.
The vcf's name isn't set when importing contacts from MMS.
Add support for importing contacts from MMS.
CRs-Fixed: 740907
Change-Id: Iaefdbae68c6956b0a2c61eada7b58d875608de44
-rw-r--r-- | src/com/android/contacts/common/vcard/ImportVCardActivity.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/contacts/common/vcard/ImportVCardActivity.java b/src/com/android/contacts/common/vcard/ImportVCardActivity.java index 04705054..c8e6b236 100644 --- a/src/com/android/contacts/common/vcard/ImportVCardActivity.java +++ b/src/com/android/contacts/common/vcard/ImportVCardActivity.java @@ -38,6 +38,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.PowerManager; import android.provider.OpenableColumns; +import android.provider.Telephony.Mms.Part; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextUtils; @@ -245,6 +246,17 @@ public class ImportVCardActivity extends Activity { } } + private String getProjection(Uri sourceUri) { + String projection = null; + if (sourceUri.getAuthority().startsWith("mms")) { + // to deal with the vcard received from mms. + projection = Part.NAME; + } else { + projection = OpenableColumns.DISPLAY_NAME; + } + return projection; + } + @Override public void run() { Log.i(LOG_TAG, "vCard cache thread starts running."); @@ -313,14 +325,14 @@ public class ImportVCardActivity extends Activity { // pick up the last part of the Uri. try { cursor = resolver.query(sourceUri, - new String[] { OpenableColumns.DISPLAY_NAME }, + new String[] { getProjection(sourceUri) }, null, null, null); if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) { if (cursor.getCount() > 1) { Log.w(LOG_TAG, "Unexpected multiple rows: " + cursor.getCount()); } - int index = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); + int index = cursor.getColumnIndex(getProjection(sourceUri)); if (index >= 0) { displayName = cursor.getString(index); } |