summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaiyiz <kaiyiz@codeaurora.org>2014-11-04 17:58:24 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2014-11-06 21:50:58 -0800
commit726eb2a8ffef42994cdeeb6b4550e182f210dc21 (patch)
treede7fa228bee62e0e6b098bc04448d646dd8b6047
parent31ec69202a7bb966a2c820add06f5dbfca1da975 (diff)
downloadandroid_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.java16
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);
}