From a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98a Mon Sep 17 00:00:00 2001 From: Daisuke Miyakawa Date: Thu, 19 Nov 2009 11:19:25 +0900 Subject: [PATCH] Make vCard code refrain from using NEIGHBORHOOD field when importing. Internal issue number: 2195990 --- core/java/android/pim/vcard/VCardComposer.java | 2 -- core/java/android/pim/vcard/VCardUtils.java | 17 +++++++++++++++-- .../unit_tests/vcard/VCardImporterTests.java | 3 +-- .../vcard/VCardJapanizationTests.java | 18 +++++++++++++++++- 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/core/java/android/pim/vcard/VCardComposer.java b/core/java/android/pim/vcard/VCardComposer.java index 2037bc3ad1a3d..033ef896a54e8 100644 --- a/core/java/android/pim/vcard/VCardComposer.java +++ b/core/java/android/pim/vcard/VCardComposer.java @@ -58,10 +58,8 @@ import java.nio.charset.UnsupportedCharsetException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; /** *

diff --git a/core/java/android/pim/vcard/VCardUtils.java b/core/java/android/pim/vcard/VCardUtils.java index 885f7ba7e3694..80457bbc95a1c 100644 --- a/core/java/android/pim/vcard/VCardUtils.java +++ b/core/java/android/pim/vcard/VCardUtils.java @@ -256,9 +256,22 @@ public class VCardUtils { builder.withValue(StructuredPostal.LABEL, postalData.label); } + final String streetString; + if (TextUtils.isEmpty(postalData.street)) { + if (TextUtils.isEmpty(postalData.extendedAddress)) { + streetString = null; + } else { + streetString = postalData.extendedAddress; + } + } else { + if (TextUtils.isEmpty(postalData.extendedAddress)) { + streetString = postalData.street; + } else { + streetString = postalData.street + " " + postalData.extendedAddress; + } + } builder.withValue(StructuredPostal.POBOX, postalData.pobox); - builder.withValue(StructuredPostal.NEIGHBORHOOD, postalData.extendedAddress); - builder.withValue(StructuredPostal.STREET, postalData.street); + builder.withValue(StructuredPostal.STREET, streetString); builder.withValue(StructuredPostal.CITY, postalData.localty); builder.withValue(StructuredPostal.REGION, postalData.region); builder.withValue(StructuredPostal.POSTCODE, postalData.postalCode); diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardImporterTests.java b/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardImporterTests.java index eeb7cc4231cc4..d891497841690 100644 --- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardImporterTests.java +++ b/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardImporterTests.java @@ -18,7 +18,6 @@ package com.android.unit_tests.vcard; import android.content.ContentValues; import android.pim.vcard.VCardConfig; -import android.pim.vcard.VCardParser; import android.pim.vcard.VCardParser_V21; import android.pim.vcard.exception.VCardException; import android.provider.ContactsContract.Data; @@ -869,7 +868,7 @@ public class VCardImporterTests extends VCardTestsBase { elem.addExpected(StructuredPostal.CONTENT_ITEM_TYPE) .put(StructuredPostal.POSTCODE, "150-8512") - .put(StructuredPostal.NEIGHBORHOOD, + .put(StructuredPostal.STREET, "\u6771\u4EAC\u90FD\u6E0B\u8C37\u533A\u685C" + "\u4E18\u753A\u0032\u0036\u002D\u0031\u30BB" + "\u30EB\u30EA\u30A2\u30F3\u30BF\u30EF\u30FC" + diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardJapanizationTests.java b/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardJapanizationTests.java index dd20ec6868278..a54c958b229bb 100644 --- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardJapanizationTests.java +++ b/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardJapanizationTests.java @@ -211,7 +211,7 @@ public class VCardJapanizationTests extends VCardTestsBase { entry.buildData(StructuredPostal.CONTENT_ITEM_TYPE) .put(StructuredPostal.POBOX, "\u79C1\u66F8\u7BB107") .put(StructuredPostal.NEIGHBORHOOD, - "\u30A2\u30D1\u30FC\u30C8\u0020\u0033\u0034\u53F7\u5BA4") + "\u30A2\u30D1\u30FC\u30C8\u0020\u0033\u0034\u53F7\u5BA4") .put(StructuredPostal.STREET, "\u96DB\u898B\u6CA2\u6751") .put(StructuredPostal.CITY, "\u9E7F\u9AA8\u5E02") .put(StructuredPostal.REGION, "\u00D7\u00D7\u770C") @@ -237,6 +237,22 @@ public class VCardJapanizationTests extends VCardTestsBase { "\u96DB\u898B\u6CA2\u6751", "\u9E7F\u9AA8\u5E02", "\u00D7\u00D7\u770C", "494-1313", "\u65E5\u672C"), contentValues); + // NEIGHBORHOOD is "not" used. Instead, "Extended address" is appended into the + // other field with a space. + verifier.addImportVerifier().addExpected(StructuredPostal.CONTENT_ITEM_TYPE) + .put(StructuredPostal.POBOX, "\u79C1\u66F8\u7BB107") + .put(StructuredPostal.STREET, "\u96DB\u898B\u6CA2\u6751 " + + "\u30A2\u30D1\u30FC\u30C8\u0020\u0033\u0034\u53F7\u5BA4") + .put(StructuredPostal.CITY, "\u9E7F\u9AA8\u5E02") + .put(StructuredPostal.REGION, "\u00D7\u00D7\u770C") + .put(StructuredPostal.POSTCODE, "494-1313") + .put(StructuredPostal.COUNTRY, "\u65E5\u672C") + .put(StructuredPostal.FORMATTED_ADDRESS, + "\u65E5\u672C 494-1313 \u00D7\u00D7\u770C \u9E7F\u9AA8\u5E02 " + + "\u96DB\u898B\u6CA2\u6751 " + + "\u30A2\u30D1\u30FC\u30C8\u0020\u0033\u0034\u53F7\u5BA4 " + + "\u79C1\u66F8\u7BB107") + .put(StructuredPostal.TYPE, StructuredPostal.TYPE_HOME); verifier.verify(); }