From 882f12d5fe6d3d06a25a570bc5769efe99644a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Thu, 22 May 2014 21:26:29 +0000 Subject: [PATCH 1/2] fix version of parent project in subprojects --- android/pom.xml | 2 +- androidtest/pom.xml | 2 +- glass/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/pom.xml b/android/pom.xml index 0c2ebe4d2..9b97a90b7 100644 --- a/android/pom.xml +++ b/android/pom.xml @@ -39,7 +39,7 @@ com.google.zxing zxing-parent - 3.0.2-SNAPSHOT + 3.1.1-SNAPSHOT diff --git a/androidtest/pom.xml b/androidtest/pom.xml index ea5c144a5..dac0bdbb7 100644 --- a/androidtest/pom.xml +++ b/androidtest/pom.xml @@ -43,7 +43,7 @@ com.google.zxing zxing-parent - 3.0.2-SNAPSHOT + 3.1.1-SNAPSHOT diff --git a/glass/pom.xml b/glass/pom.xml index 3a5762f64..4b5435647 100644 --- a/glass/pom.xml +++ b/glass/pom.xml @@ -39,7 +39,7 @@ com.google.zxing zxing-parent - 3.0.2-SNAPSHOT + 3.1.1-SNAPSHOT From 28b532639762335cf95efc11672cf90e0f7d0ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= Date: Thu, 22 May 2014 21:28:20 +0000 Subject: [PATCH 2/2] [android] Website, Birthday and Nickname fields Only the first valid occurrence of Website and Birthday is used --- .../client/android/result/ResultHandler.java | 45 +++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/android/src/com/google/zxing/client/android/result/ResultHandler.java b/android/src/com/google/zxing/client/android/result/ResultHandler.java index 7afb654cf..69520202a 100644 --- a/android/src/com/google/zxing/client/android/result/ResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ResultHandler.java @@ -30,16 +30,23 @@ import com.google.zxing.client.result.ResultParser; import android.app.Activity; import android.app.AlertDialog; import android.content.ActivityNotFoundException; +import android.content.ContentValues; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; import android.provider.ContactsContract; +import android.provider.ContactsContract.CommonDataKinds.Nickname; +import android.provider.ContactsContract.CommonDataKinds.Event; +import android.provider.ContactsContract.CommonDataKinds.Website; +import android.provider.ContactsContract.Data; +import android.provider.ContactsContract.Intents.Insert; import android.util.Log; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Locale; +import java.util.ArrayList; /** * A base class for the Android-specific barcode handlers. These allow the app to polymorphically @@ -224,29 +231,49 @@ public abstract class ResultHandler { } } - // No field for URL, birthday; use notes - StringBuilder aggregatedNotes = new StringBuilder(); + ArrayList data = new ArrayList(); if (urls != null) { for (String url : urls) { if (url != null && !url.isEmpty()) { - aggregatedNotes.append('\n').append(url); + ContentValues row = new ContentValues(); + row.put(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE); + row.put(Website.TYPE, Website.TYPE_HOMEPAGE); + row.put(Website.URL, url); + data.add(row); + break; } } } - for (String aNote : new String[] { birthday, note }) { - if (aNote != null) { - aggregatedNotes.append('\n').append(aNote); - } + + if (birthday != null) { + ContentValues row = new ContentValues(); + row.put(Data.MIMETYPE, Event.CONTENT_ITEM_TYPE); + row.put(Event.TYPE, Event.TYPE_BIRTHDAY); + row.put(Event.START_DATE, birthday); + data.add(row); } + if (nicknames != null) { for (String nickname : nicknames) { if (nickname != null && !nickname.isEmpty()) { - aggregatedNotes.append('\n').append(nickname); + ContentValues row = new ContentValues(); + row.put(Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE); + row.put(Nickname.TYPE, Nickname.TYPE_DEFAULT); + row.put(Nickname.NAME, nickname); + data.add(row); + break; } } } + + intent.putParcelableArrayListExtra(Insert.DATA, data); + + StringBuilder aggregatedNotes = new StringBuilder(); + if (note != null) { + aggregatedNotes.append('\n').append(note); + } if (geo != null) { - aggregatedNotes.append('\n').append(geo[0]).append(',').append(geo[1]); + aggregatedNotes.append(geo[0]).append(',').append(geo[1]); } if (aggregatedNotes.length() > 0) {