From 64545a8ced5aa350e917ab1824a1c06a14a96532 Mon Sep 17 00:00:00 2001
From: Daisuke Miyakawa
Date: Fri, 14 May 2010 11:17:46 -0700
Subject: [PATCH] Make vCard code a separated static library.
- Move the library to a separate directory in framewokr/base, and rename its package from
android.pim.vcard to com.android.vcard.
- Move all tests for the library under the directory.
- Confirm all tests for vCard are successful.
It would be better for us to have this directory somewhere else (like external/).
But I'll submit this here now and move it to the right place as soon as possible.
From the view of build mechanism, we can do that immediately.
BUG: 2689523
Change-Id: I435e10571b7160bfcc029bed7c37aaac1c6fd69a
---
.../android/pim/vcard/exception/package.html | 5 ---
core/java/android/pim/vcard/package.html | 5 ---
vcard/Android.mk | 28 +++++++++++++
.../com/android}/vcard/JapaneseUtils.java | 2 +-
.../java/com/android}/vcard/VCardBuilder.java | 8 ++--
.../com/android}/vcard/VCardComposer.java | 6 ++-
.../java/com/android}/vcard/VCardConfig.java | 5 +--
.../com/android}/vcard/VCardConstants.java | 2 +-
.../java/com/android}/vcard/VCardEntry.java | 4 +-
.../android}/vcard/VCardEntryCommitter.java | 2 +-
.../android}/vcard/VCardEntryConstructor.java | 12 ++++--
.../com/android}/vcard/VCardEntryCounter.java | 2 +-
.../com/android}/vcard/VCardEntryHandler.java | 2 +-
.../com/android}/vcard/VCardInterpreter.java | 2 +-
.../vcard/VCardInterpreterCollection.java | 2 +-
.../java/com/android}/vcard/VCardParser.java | 4 +-
.../android}/vcard/VCardParserImpl_V21.java | 15 +++----
.../android}/vcard/VCardParserImpl_V30.java | 9 ++--
.../com/android}/vcard/VCardParser_V21.java | 4 +-
.../com/android}/vcard/VCardParser_V30.java | 4 +-
.../android}/vcard/VCardSourceDetector.java | 2 +-
.../java/com/android}/vcard/VCardUtils.java | 41 +++++++++++--------
.../VCardAgentNotSupportedException.java | 2 +-
.../vcard/exception/VCardException.java | 2 +-
.../VCardInvalidCommentLineException.java | 2 +-
.../exception/VCardInvalidLineException.java | 3 +-
.../vcard/exception/VCardNestedException.java | 2 +-
.../exception/VCardNotSupportedException.java | 2 +-
.../exception/VCardVersionException.java | 3 +-
vcard/tests/Android.mk | 25 +++++++++++
vcard/tests/AndroidManifest.xml | 30 ++++++++++++++
.../tests}/res/raw/v21_backslash.vcf | 0
.../tests}/res/raw/v21_complicated.vcf | 0
.../res/raw/v21_invalid_comment_line.vcf | 0
.../tests}/res/raw/v21_japanese_1.vcf | 0
.../tests}/res/raw/v21_japanese_2.vcf | 0
.../tests}/res/raw/v21_multiple_entry.vcf | 0
.../tests}/res/raw/v21_org_before_title.vcf | 0
.../tests}/res/raw/v21_pref_handling.vcf | 0
.../tests}/res/raw/v21_simple_1.vcf | 0
.../tests}/res/raw/v21_simple_2.vcf | 0
.../tests}/res/raw/v21_simple_3.vcf | 0
.../tests}/res/raw/v21_title_before_org.vcf | 0
.../tests}/res/raw/v21_winmo_65.vcf | 0
.../tests}/res/raw/v30_comma_separated.vcf | 0
.../tests}/res/raw/v30_simple.vcf | 0
.../vcard/tests}/VCardExporterTests.java | 10 +++--
.../vcard/tests}/VCardImporterTests.java | 10 ++---
.../vcard/tests}/VCardJapanizationTests.java | 13 +++---
.../android/vcard/tests}/VCardTestsBase.java | 7 ++--
.../android/vcard/tests}/VCardUtilsTests.java | 5 +--
.../vcard/tests}/test_utils/ContactEntry.java | 2 +-
.../test_utils/ContentValuesBuilder.java | 2 +-
.../test_utils/ContentValuesVerifier.java | 19 +++++----
.../test_utils/ContentValuesVerifierElem.java | 21 +++++-----
.../tests}/test_utils/ExportTestProvider.java | 5 ++-
.../tests}/test_utils/ExportTestResolver.java | 5 ++-
.../tests}/test_utils/ImportTestProvider.java | 10 ++++-
.../tests}/test_utils/ImportTestResolver.java | 2 +-
.../vcard/tests}/test_utils/LineVerifier.java | 5 ++-
.../tests}/test_utils/LineVerifierElem.java | 5 ++-
.../vcard/tests}/test_utils/PropertyNode.java | 5 ++-
.../test_utils/PropertyNodesVerifier.java | 13 +++---
.../test_utils/PropertyNodesVerifierElem.java | 2 +-
.../tests}/test_utils/VCardVerifier.java | 21 +++++-----
.../vcard/tests}/test_utils/VNode.java | 2 +-
.../vcard/tests}/test_utils/VNodeBuilder.java | 13 +++---
67 files changed, 256 insertions(+), 158 deletions(-)
delete mode 100644 core/java/android/pim/vcard/exception/package.html
delete mode 100644 core/java/android/pim/vcard/package.html
create mode 100644 vcard/Android.mk
rename {core/java/android/pim => vcard/java/com/android}/vcard/JapaneseUtils.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardBuilder.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardComposer.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardConfig.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardConstants.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardEntry.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardEntryCommitter.java (98%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardEntryConstructor.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardEntryCounter.java (98%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardEntryHandler.java (97%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardInterpreter.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardInterpreterCollection.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardParser.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardParserImpl_V21.java (98%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardParserImpl_V30.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardParser_V21.java (98%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardParser_V30.java (97%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardSourceDetector.java (99%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/VCardUtils.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/exception/VCardAgentNotSupportedException.java (95%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/exception/VCardException.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/exception/VCardInvalidCommentLineException.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/exception/VCardInvalidLineException.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/exception/VCardNestedException.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/exception/VCardNotSupportedException.java (96%)
rename {core/java/android/pim => vcard/java/com/android}/vcard/exception/VCardVersionException.java (95%)
create mode 100644 vcard/tests/Android.mk
create mode 100644 vcard/tests/AndroidManifest.xml
rename {core/tests/coretests => vcard/tests}/res/raw/v21_backslash.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_complicated.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_invalid_comment_line.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_japanese_1.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_japanese_2.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_multiple_entry.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_org_before_title.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_pref_handling.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_simple_1.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_simple_2.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_simple_3.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_title_before_org.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v21_winmo_65.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v30_comma_separated.vcf (100%)
rename {core/tests/coretests => vcard/tests}/res/raw/v30_simple.vcf (100%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/VCardExporterTests.java (99%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/VCardImporterTests.java (99%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/VCardJapanizationTests.java (98%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/VCardTestsBase.java (96%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/VCardUtilsTests.java (98%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ContactEntry.java (96%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ContentValuesBuilder.java (98%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ContentValuesVerifier.java (89%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ContentValuesVerifierElem.java (86%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ExportTestProvider.java (98%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ExportTestResolver.java (93%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ImportTestProvider.java (96%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/ImportTestResolver.java (97%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/LineVerifier.java (95%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/LineVerifierElem.java (97%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/PropertyNode.java (98%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/PropertyNodesVerifier.java (92%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/PropertyNodesVerifierElem.java (99%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/VCardVerifier.java (96%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/VNode.java (95%)
rename {core/tests/coretests/src/android/pim/vcard => vcard/tests/src/com/android/vcard/tests}/test_utils/VNodeBuilder.java (96%)
diff --git a/core/java/android/pim/vcard/exception/package.html b/core/java/android/pim/vcard/exception/package.html
deleted file mode 100644
index 26b8a328b1321..0000000000000
--- a/core/java/android/pim/vcard/exception/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-{@hide}
-
-
\ No newline at end of file
diff --git a/core/java/android/pim/vcard/package.html b/core/java/android/pim/vcard/package.html
deleted file mode 100644
index 26b8a328b1321..0000000000000
--- a/core/java/android/pim/vcard/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-{@hide}
-
-
\ No newline at end of file
diff --git a/vcard/Android.mk b/vcard/Android.mk
new file mode 100644
index 0000000000000..2bc17aa8c928c
--- /dev/null
+++ b/vcard/Android.mk
@@ -0,0 +1,28 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := com.android.vcard
+LOCAL_SRC_FILES := $(call all-java-files-under, java)
+
+# Use google-common instead of android-common for using hidden code in telephony library.
+# Use ext for using Quoted-Printable codec.
+LOCAL_JAVA_LIBRARIES := google-common ext
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+# Build the test package.
+include $(call all-makefiles-under, $(LOCAL_PATH))
diff --git a/core/java/android/pim/vcard/JapaneseUtils.java b/vcard/java/com/android/vcard/JapaneseUtils.java
similarity index 99%
rename from core/java/android/pim/vcard/JapaneseUtils.java
rename to vcard/java/com/android/vcard/JapaneseUtils.java
index dcfe980bfcaf3..5b44944696002 100644
--- a/core/java/android/pim/vcard/JapaneseUtils.java
+++ b/vcard/java/com/android/vcard/JapaneseUtils.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import java.util.HashMap;
import java.util.Map;
diff --git a/core/java/android/pim/vcard/VCardBuilder.java b/vcard/java/com/android/vcard/VCardBuilder.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardBuilder.java
rename to vcard/java/com/android/vcard/VCardBuilder.java
index 789b5f8904628..6ef9adad94b37 100644
--- a/core/java/android/pim/vcard/VCardBuilder.java
+++ b/vcard/java/com/android/vcard/VCardBuilder.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import android.content.ContentValues;
import android.provider.ContactsContract.CommonDataKinds.Email;
@@ -30,11 +30,10 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
+import android.util.Base64;
import android.util.CharsetUtils;
import android.util.Log;
-import org.apache.commons.codec.binary.Base64;
-
import java.io.UnsupportedEncodingException;
import java.nio.charset.UnsupportedCharsetException;
import java.util.ArrayList;
@@ -1166,7 +1165,8 @@ public class VCardBuilder {
Log.d(LOG_TAG, "Unknown photo type. Ignored.");
continue;
}
- final String photoString = new String(Base64.encodeBase64(data));
+ // TODO: check this works fine.
+ final String photoString = new String(Base64.encode(data, Base64.NO_WRAP));
if (!TextUtils.isEmpty(photoString)) {
appendPhotoLine(photoString, photoType);
}
diff --git a/core/java/android/pim/vcard/VCardComposer.java b/vcard/java/com/android/vcard/VCardComposer.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardComposer.java
rename to vcard/java/com/android/vcard/VCardComposer.java
index 170d6fafdccd0..70389557582e7 100644
--- a/core/java/android/pim/vcard/VCardComposer.java
+++ b/vcard/java/com/android/vcard/VCardComposer.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -24,7 +24,6 @@ import android.content.Entity.NamedContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteException;
import android.net.Uri;
-import android.pim.vcard.exception.VCardException;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
@@ -45,6 +44,8 @@ import android.text.TextUtils;
import android.util.CharsetUtils;
import android.util.Log;
+import com.android.vcard.exception.VCardException;
+
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -526,6 +527,7 @@ public class VCardComposer {
EntityIterator entityIterator = null;
try {
final Uri uri = RawContactsEntity.CONTENT_URI.buildUpon()
+ // .appendQueryParameter("for_export_only", "1")
.appendQueryParameter(Data.FOR_EXPORT_ONLY, "1")
.build();
final String selection = Data.CONTACT_ID + "=?";
diff --git a/core/java/android/pim/vcard/VCardConfig.java b/vcard/java/com/android/vcard/VCardConfig.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardConfig.java
rename to vcard/java/com/android/vcard/VCardConfig.java
index 80709f30ae92a..fc95922d9e257 100644
--- a/core/java/android/pim/vcard/VCardConfig.java
+++ b/vcard/java/com/android/vcard/VCardConfig.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import android.telephony.PhoneNumberUtils;
import android.util.Log;
@@ -53,7 +53,6 @@ public class VCardConfig {
* and it has 1 to 1 mapping in all 8bit characters.
* If the assumption is not correct, this setting will cause some bug.
*
- * @hide made public just for unit test
*/
public static final String DEFAULT_INTERMEDIATE_CHARSET = "ISO-8859-1";
@@ -476,4 +475,4 @@ public class VCardConfig {
private VCardConfig() {
}
-}
+}
\ No newline at end of file
diff --git a/core/java/android/pim/vcard/VCardConstants.java b/vcard/java/com/android/vcard/VCardConstants.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardConstants.java
rename to vcard/java/com/android/vcard/VCardConstants.java
index e11b1fd2f95cc..862c9edcb5af3 100644
--- a/core/java/android/pim/vcard/VCardConstants.java
+++ b/vcard/java/com/android/vcard/VCardConstants.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
/**
* Constants used in both exporter and importer code.
diff --git a/core/java/android/pim/vcard/VCardEntry.java b/vcard/java/com/android/vcard/VCardEntry.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardEntry.java
rename to vcard/java/com/android/vcard/VCardEntry.java
index 5b9cf1728a1fd..624407a350dda 100644
--- a/core/java/android/pim/vcard/VCardEntry.java
+++ b/vcard/java/com/android/vcard/VCardEntry.java
@@ -13,20 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import android.accounts.Account;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
import android.content.ContentResolver;
import android.content.OperationApplicationException;
-import android.database.Cursor;
import android.net.Uri;
import android.os.RemoteException;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
-import android.provider.ContactsContract.Groups;
import android.provider.ContactsContract.RawContacts;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Event;
diff --git a/core/java/android/pim/vcard/VCardEntryCommitter.java b/vcard/java/com/android/vcard/VCardEntryCommitter.java
similarity index 98%
rename from core/java/android/pim/vcard/VCardEntryCommitter.java
rename to vcard/java/com/android/vcard/VCardEntryCommitter.java
index a8c8057a58b64..7bd314eb304e5 100644
--- a/core/java/android/pim/vcard/VCardEntryCommitter.java
+++ b/vcard/java/com/android/vcard/VCardEntryCommitter.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import android.content.ContentResolver;
import android.net.Uri;
diff --git a/core/java/android/pim/vcard/VCardEntryConstructor.java b/vcard/java/com/android/vcard/VCardEntryConstructor.java
similarity index 96%
rename from core/java/android/pim/vcard/VCardEntryConstructor.java
rename to vcard/java/com/android/vcard/VCardEntryConstructor.java
index a0abae8c641d8..2679e238adcbe 100644
--- a/core/java/android/pim/vcard/VCardEntryConstructor.java
+++ b/vcard/java/com/android/vcard/VCardEntryConstructor.java
@@ -13,15 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import android.accounts.Account;
import android.text.TextUtils;
+import android.util.Base64;
import android.util.CharsetUtils;
import android.util.Log;
-import org.apache.commons.codec.binary.Base64;
-
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
@@ -190,9 +189,14 @@ public class VCardEntryConstructor implements VCardInterpreter {
private String handleOneValue(String value,
String sourceCharset, String targetCharset, String encoding) {
+ if (value == null) {
+ Log.w(LOG_TAG, "Null is given.");
+ value = "";
+ }
+
if (encoding != null) {
if (encoding.equals("BASE64") || encoding.equals("B")) {
- mCurrentProperty.setPropertyBytes(Base64.decodeBase64(value.getBytes()));
+ mCurrentProperty.setPropertyBytes(Base64.decode(value.getBytes(), Base64.DEFAULT));
return value;
} else if (encoding.equals("QUOTED-PRINTABLE")) {
return VCardUtils.parseQuotedPrintable(
diff --git a/core/java/android/pim/vcard/VCardEntryCounter.java b/vcard/java/com/android/vcard/VCardEntryCounter.java
similarity index 98%
rename from core/java/android/pim/vcard/VCardEntryCounter.java
rename to vcard/java/com/android/vcard/VCardEntryCounter.java
index 7bab50dcdb591..7bfe9773fb473 100644
--- a/core/java/android/pim/vcard/VCardEntryCounter.java
+++ b/vcard/java/com/android/vcard/VCardEntryCounter.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import java.util.List;
diff --git a/core/java/android/pim/vcard/VCardEntryHandler.java b/vcard/java/com/android/vcard/VCardEntryHandler.java
similarity index 97%
rename from core/java/android/pim/vcard/VCardEntryHandler.java
rename to vcard/java/com/android/vcard/VCardEntryHandler.java
index 56bf69d5d3717..ef35a20a20f64 100644
--- a/core/java/android/pim/vcard/VCardEntryHandler.java
+++ b/vcard/java/com/android/vcard/VCardEntryHandler.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
/**
*
diff --git a/core/java/android/pim/vcard/VCardInterpreter.java b/vcard/java/com/android/vcard/VCardInterpreter.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardInterpreter.java
rename to vcard/java/com/android/vcard/VCardInterpreter.java
index 03704a22a962a..2d987644fe6fa 100644
--- a/core/java/android/pim/vcard/VCardInterpreter.java
+++ b/vcard/java/com/android/vcard/VCardInterpreter.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import java.util.List;
diff --git a/core/java/android/pim/vcard/VCardInterpreterCollection.java b/vcard/java/com/android/vcard/VCardInterpreterCollection.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardInterpreterCollection.java
rename to vcard/java/com/android/vcard/VCardInterpreterCollection.java
index 4952dc71c48ad..4a40d9312b217 100644
--- a/core/java/android/pim/vcard/VCardInterpreterCollection.java
+++ b/vcard/java/com/android/vcard/VCardInterpreterCollection.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import java.util.Collection;
import java.util.List;
diff --git a/core/java/android/pim/vcard/VCardParser.java b/vcard/java/com/android/vcard/VCardParser.java
similarity index 96%
rename from core/java/android/pim/vcard/VCardParser.java
rename to vcard/java/com/android/vcard/VCardParser.java
index 31b9369231f52..b7b8291dd7cf7 100644
--- a/core/java/android/pim/vcard/VCardParser.java
+++ b/vcard/java/com/android/vcard/VCardParser.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
-import android.pim.vcard.exception.VCardException;
+import com.android.vcard.exception.VCardException;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/java/android/pim/vcard/VCardParserImpl_V21.java b/vcard/java/com/android/vcard/VCardParserImpl_V21.java
similarity index 98%
rename from core/java/android/pim/vcard/VCardParserImpl_V21.java
rename to vcard/java/com/android/vcard/VCardParserImpl_V21.java
index 7d294cc456035..00ae6c91df2fd 100644
--- a/core/java/android/pim/vcard/VCardParserImpl_V21.java
+++ b/vcard/java/com/android/vcard/VCardParserImpl_V21.java
@@ -13,17 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
-import android.pim.vcard.exception.VCardAgentNotSupportedException;
-import android.pim.vcard.exception.VCardException;
-import android.pim.vcard.exception.VCardInvalidCommentLineException;
-import android.pim.vcard.exception.VCardInvalidLineException;
-import android.pim.vcard.exception.VCardNestedException;
-import android.pim.vcard.exception.VCardVersionException;
import android.text.TextUtils;
import android.util.Log;
+import com.android.vcard.exception.VCardAgentNotSupportedException;
+import com.android.vcard.exception.VCardException;
+import com.android.vcard.exception.VCardInvalidCommentLineException;
+import com.android.vcard.exception.VCardInvalidLineException;
+import com.android.vcard.exception.VCardNestedException;
+import com.android.vcard.exception.VCardVersionException;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/java/android/pim/vcard/VCardParserImpl_V30.java b/vcard/java/com/android/vcard/VCardParserImpl_V30.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardParserImpl_V30.java
rename to vcard/java/com/android/vcard/VCardParserImpl_V30.java
index a48a3b42ed5e6..61d0455983eb2 100644
--- a/core/java/android/pim/vcard/VCardParserImpl_V30.java
+++ b/vcard/java/com/android/vcard/VCardParserImpl_V30.java
@@ -13,14 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
+
+import android.util.Log;
+
+import com.android.vcard.exception.VCardException;
import java.io.IOException;
import java.util.Set;
-import android.pim.vcard.exception.VCardException;
-import android.util.Log;
-
/**
*
* Basic implementation achieving vCard 3.0 parsing.
diff --git a/core/java/android/pim/vcard/VCardParser_V21.java b/vcard/java/com/android/vcard/VCardParser_V21.java
similarity index 98%
rename from core/java/android/pim/vcard/VCardParser_V21.java
rename to vcard/java/com/android/vcard/VCardParser_V21.java
index b625695d0f913..2a5e313266d25 100644
--- a/core/java/android/pim/vcard/VCardParser_V21.java
+++ b/vcard/java/com/android/vcard/VCardParser_V21.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
-import android.pim.vcard.exception.VCardException;
+import com.android.vcard.exception.VCardException;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/java/android/pim/vcard/VCardParser_V30.java b/vcard/java/com/android/vcard/VCardParser_V30.java
similarity index 97%
rename from core/java/android/pim/vcard/VCardParser_V30.java
rename to vcard/java/com/android/vcard/VCardParser_V30.java
index 40792ab4bb7b1..179869b2163dd 100644
--- a/core/java/android/pim/vcard/VCardParser_V30.java
+++ b/vcard/java/com/android/vcard/VCardParser_V30.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
-import android.pim.vcard.exception.VCardException;
+import com.android.vcard.exception.VCardException;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/java/android/pim/vcard/VCardSourceDetector.java b/vcard/java/com/android/vcard/VCardSourceDetector.java
similarity index 99%
rename from core/java/android/pim/vcard/VCardSourceDetector.java
rename to vcard/java/com/android/vcard/VCardSourceDetector.java
index 291deca9289cc..e70d4961cfaf8 100644
--- a/core/java/android/pim/vcard/VCardSourceDetector.java
+++ b/vcard/java/com/android/vcard/VCardSourceDetector.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
import android.text.TextUtils;
diff --git a/core/java/android/pim/vcard/VCardUtils.java b/vcard/java/com/android/vcard/VCardUtils.java
similarity index 96%
rename from core/java/android/pim/vcard/VCardUtils.java
rename to vcard/java/com/android/vcard/VCardUtils.java
index 680ef6fa0f067..fb0c2e7b625ba 100644
--- a/core/java/android/pim/vcard/VCardUtils.java
+++ b/vcard/java/com/android/vcard/VCardUtils.java
@@ -13,7 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard;
+
+import org.apache.commons.codec.DecoderException;
+import org.apache.commons.codec.net.QuotedPrintableCodec;
import android.content.ContentProviderOperation;
import android.provider.ContactsContract.Data;
@@ -24,9 +27,6 @@ import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.util.Log;
-import org.apache.commons.codec.DecoderException;
-import org.apache.commons.codec.net.QuotedPrintableCodec;
-
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -39,7 +39,6 @@ import java.util.Set;
/**
* Utilities for VCard handling codes.
- * @hide
*/
public class VCardUtils {
private static final String LOG_TAG = "VCardUtils";
@@ -193,8 +192,7 @@ public class VCardUtils {
// For backward compatibility.
// Detail: Until Donut, there isn't TYPE_MOBILE for email while there is now.
// To support mobile type at that time, this custom label had been used.
- return (android.provider.Contacts.ContactMethodsColumns.MOBILE_EMAIL_TYPE_NAME.equals(label)
- || sMobilePhoneLabelSet.contains(label));
+ return ("_AUTO_CELL".equals(label) || sMobilePhoneLabelSet.contains(label));
}
public static boolean isValidInV21ButUnknownToContactsPhoteType(final String label) {
@@ -625,26 +623,33 @@ public class VCardUtils {
}
builder.append(line);
}
- byte[] bytes;
- try {
- bytes = builder.toString().getBytes(sourceCharset);
- } catch (UnsupportedEncodingException e1) {
- Log.e(LOG_TAG, "Failed to encode: charset=" + targetCharset);
- bytes = builder.toString().getBytes();
+
+ final String rawString = builder.toString();
+ if (TextUtils.isEmpty(rawString)) {
+ Log.w(LOG_TAG, "Given raw string is empty.");
}
+ byte[] rawBytes = null;
try {
- bytes = QuotedPrintableCodec.decodeQuotedPrintable(bytes);
+ rawBytes = rawString.getBytes(sourceCharset);
+ } catch (UnsupportedEncodingException e) {
+ Log.w(LOG_TAG, "Failed to decode: " + sourceCharset);
+ rawBytes = rawString.getBytes();
+ }
+
+ byte[] decodedBytes = null;
+ try {
+ decodedBytes = QuotedPrintableCodec.decodeQuotedPrintable(rawBytes);
} catch (DecoderException e) {
- Log.e(LOG_TAG, "Failed to decode quoted-printable: " + e);
- return "";
+ Log.e(LOG_TAG, "DecoderException is thrown.");
+ decodedBytes = rawBytes;
}
try {
- return new String(bytes, targetCharset);
+ return new String(decodedBytes, targetCharset);
} catch (UnsupportedEncodingException e) {
Log.e(LOG_TAG, "Failed to encode: charset=" + targetCharset);
- return new String(bytes);
+ return new String(decodedBytes);
}
}
diff --git a/core/java/android/pim/vcard/exception/VCardAgentNotSupportedException.java b/vcard/java/com/android/vcard/exception/VCardAgentNotSupportedException.java
similarity index 95%
rename from core/java/android/pim/vcard/exception/VCardAgentNotSupportedException.java
rename to vcard/java/com/android/vcard/exception/VCardAgentNotSupportedException.java
index e72c7df3da51b..c408716e5bc88 100644
--- a/core/java/android/pim/vcard/exception/VCardAgentNotSupportedException.java
+++ b/vcard/java/com/android/vcard/exception/VCardAgentNotSupportedException.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.exception;
+package com.android.vcard.exception;
public class VCardAgentNotSupportedException extends VCardNotSupportedException {
public VCardAgentNotSupportedException() {
diff --git a/core/java/android/pim/vcard/exception/VCardException.java b/vcard/java/com/android/vcard/exception/VCardException.java
similarity index 96%
rename from core/java/android/pim/vcard/exception/VCardException.java
rename to vcard/java/com/android/vcard/exception/VCardException.java
index e557219f235a4..3ad7fd38b6076 100644
--- a/core/java/android/pim/vcard/exception/VCardException.java
+++ b/vcard/java/com/android/vcard/exception/VCardException.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.exception;
+package com.android.vcard.exception;
public class VCardException extends java.lang.Exception {
/**
diff --git a/core/java/android/pim/vcard/exception/VCardInvalidCommentLineException.java b/vcard/java/com/android/vcard/exception/VCardInvalidCommentLineException.java
similarity index 96%
rename from core/java/android/pim/vcard/exception/VCardInvalidCommentLineException.java
rename to vcard/java/com/android/vcard/exception/VCardInvalidCommentLineException.java
index 67db62ce86b51..342769ef58ecc 100644
--- a/core/java/android/pim/vcard/exception/VCardInvalidCommentLineException.java
+++ b/vcard/java/com/android/vcard/exception/VCardInvalidCommentLineException.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.pim.vcard.exception;
+package com.android.vcard.exception;
/**
* Thrown when the vCard has some line starting with '#'. In the specification,
diff --git a/core/java/android/pim/vcard/exception/VCardInvalidLineException.java b/vcard/java/com/android/vcard/exception/VCardInvalidLineException.java
similarity index 96%
rename from core/java/android/pim/vcard/exception/VCardInvalidLineException.java
rename to vcard/java/com/android/vcard/exception/VCardInvalidLineException.java
index 330153ec2638d..5c2250fc36a33 100644
--- a/core/java/android/pim/vcard/exception/VCardInvalidLineException.java
+++ b/vcard/java/com/android/vcard/exception/VCardInvalidLineException.java
@@ -13,8 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-package android.pim.vcard.exception;
+package com.android.vcard.exception;
/**
* Thrown when the vCard has some line starting with '#'. In the specification,
diff --git a/core/java/android/pim/vcard/exception/VCardNestedException.java b/vcard/java/com/android/vcard/exception/VCardNestedException.java
similarity index 96%
rename from core/java/android/pim/vcard/exception/VCardNestedException.java
rename to vcard/java/com/android/vcard/exception/VCardNestedException.java
index 503c2fbcf536a..2b9b1acf53cd1 100644
--- a/core/java/android/pim/vcard/exception/VCardNestedException.java
+++ b/vcard/java/com/android/vcard/exception/VCardNestedException.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.pim.vcard.exception;
+package com.android.vcard.exception;
/**
* VCardException thrown when VCard is nested without VCardParser's being notified.
diff --git a/core/java/android/pim/vcard/exception/VCardNotSupportedException.java b/vcard/java/com/android/vcard/exception/VCardNotSupportedException.java
similarity index 96%
rename from core/java/android/pim/vcard/exception/VCardNotSupportedException.java
rename to vcard/java/com/android/vcard/exception/VCardNotSupportedException.java
index 616aa7763b0e1..61ff752c9f4ba 100644
--- a/core/java/android/pim/vcard/exception/VCardNotSupportedException.java
+++ b/vcard/java/com/android/vcard/exception/VCardNotSupportedException.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.exception;
+package com.android.vcard.exception;
/**
* The exception which tells that the input VCard is probably valid from the view of
diff --git a/core/java/android/pim/vcard/exception/VCardVersionException.java b/vcard/java/com/android/vcard/exception/VCardVersionException.java
similarity index 95%
rename from core/java/android/pim/vcard/exception/VCardVersionException.java
rename to vcard/java/com/android/vcard/exception/VCardVersionException.java
index 9fe8b7f92af92..047c58053c044 100644
--- a/core/java/android/pim/vcard/exception/VCardVersionException.java
+++ b/vcard/java/com/android/vcard/exception/VCardVersionException.java
@@ -13,8 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-package android.pim.vcard.exception;
+package com.android.vcard.exception;
/**
* VCardException used only when the version of the vCard is different.
diff --git a/vcard/tests/Android.mk b/vcard/tests/Android.mk
new file mode 100644
index 0000000000000..853ee14514375
--- /dev/null
+++ b/vcard/tests/Android.mk
@@ -0,0 +1,25 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_CERTIFICATE := platform
+LOCAL_MODULE_TAGS := tests
+LOCAL_PACKAGE_NAME := AndroidVCardTests
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_JAVA_LIBRARIES := android.test.runner google-common
+LOCAL_STATIC_JAVA_LIBRARIES := com.android.vcard
+
+include $(BUILD_PACKAGE)
diff --git a/vcard/tests/AndroidManifest.xml b/vcard/tests/AndroidManifest.xml
new file mode 100644
index 0000000000000..fcbf767213251
--- /dev/null
+++ b/vcard/tests/AndroidManifest.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/tests/coretests/res/raw/v21_backslash.vcf b/vcard/tests/res/raw/v21_backslash.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_backslash.vcf
rename to vcard/tests/res/raw/v21_backslash.vcf
diff --git a/core/tests/coretests/res/raw/v21_complicated.vcf b/vcard/tests/res/raw/v21_complicated.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_complicated.vcf
rename to vcard/tests/res/raw/v21_complicated.vcf
diff --git a/core/tests/coretests/res/raw/v21_invalid_comment_line.vcf b/vcard/tests/res/raw/v21_invalid_comment_line.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_invalid_comment_line.vcf
rename to vcard/tests/res/raw/v21_invalid_comment_line.vcf
diff --git a/core/tests/coretests/res/raw/v21_japanese_1.vcf b/vcard/tests/res/raw/v21_japanese_1.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_japanese_1.vcf
rename to vcard/tests/res/raw/v21_japanese_1.vcf
diff --git a/core/tests/coretests/res/raw/v21_japanese_2.vcf b/vcard/tests/res/raw/v21_japanese_2.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_japanese_2.vcf
rename to vcard/tests/res/raw/v21_japanese_2.vcf
diff --git a/core/tests/coretests/res/raw/v21_multiple_entry.vcf b/vcard/tests/res/raw/v21_multiple_entry.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_multiple_entry.vcf
rename to vcard/tests/res/raw/v21_multiple_entry.vcf
diff --git a/core/tests/coretests/res/raw/v21_org_before_title.vcf b/vcard/tests/res/raw/v21_org_before_title.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_org_before_title.vcf
rename to vcard/tests/res/raw/v21_org_before_title.vcf
diff --git a/core/tests/coretests/res/raw/v21_pref_handling.vcf b/vcard/tests/res/raw/v21_pref_handling.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_pref_handling.vcf
rename to vcard/tests/res/raw/v21_pref_handling.vcf
diff --git a/core/tests/coretests/res/raw/v21_simple_1.vcf b/vcard/tests/res/raw/v21_simple_1.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_simple_1.vcf
rename to vcard/tests/res/raw/v21_simple_1.vcf
diff --git a/core/tests/coretests/res/raw/v21_simple_2.vcf b/vcard/tests/res/raw/v21_simple_2.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_simple_2.vcf
rename to vcard/tests/res/raw/v21_simple_2.vcf
diff --git a/core/tests/coretests/res/raw/v21_simple_3.vcf b/vcard/tests/res/raw/v21_simple_3.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_simple_3.vcf
rename to vcard/tests/res/raw/v21_simple_3.vcf
diff --git a/core/tests/coretests/res/raw/v21_title_before_org.vcf b/vcard/tests/res/raw/v21_title_before_org.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_title_before_org.vcf
rename to vcard/tests/res/raw/v21_title_before_org.vcf
diff --git a/core/tests/coretests/res/raw/v21_winmo_65.vcf b/vcard/tests/res/raw/v21_winmo_65.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v21_winmo_65.vcf
rename to vcard/tests/res/raw/v21_winmo_65.vcf
diff --git a/core/tests/coretests/res/raw/v30_comma_separated.vcf b/vcard/tests/res/raw/v30_comma_separated.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v30_comma_separated.vcf
rename to vcard/tests/res/raw/v30_comma_separated.vcf
diff --git a/core/tests/coretests/res/raw/v30_simple.vcf b/vcard/tests/res/raw/v30_simple.vcf
similarity index 100%
rename from core/tests/coretests/res/raw/v30_simple.vcf
rename to vcard/tests/res/raw/v30_simple.vcf
diff --git a/core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java b/vcard/tests/src/com/android/vcard/tests/VCardExporterTests.java
similarity index 99%
rename from core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java
rename to vcard/tests/src/com/android/vcard/tests/VCardExporterTests.java
index 0820a683af1d5..b6419c36f9e6a 100644
--- a/core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java
+++ b/vcard/tests/src/com/android/vcard/tests/VCardExporterTests.java
@@ -14,12 +14,9 @@
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard.tests;
import android.content.ContentValues;
-import android.pim.vcard.test_utils.ContactEntry;
-import android.pim.vcard.test_utils.PropertyNodesVerifierElem;
-import android.pim.vcard.test_utils.PropertyNodesVerifierElem.TypeSet;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Event;
import android.provider.ContactsContract.CommonDataKinds.Im;
@@ -33,6 +30,11 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.tests.test_utils.ContactEntry;
+import com.android.vcard.tests.test_utils.PropertyNodesVerifierElem;
+import com.android.vcard.tests.test_utils.PropertyNodesVerifierElem.TypeSet;
+
import java.util.Arrays;
/**
diff --git a/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java b/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
similarity index 99%
rename from core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
rename to vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
index ea2ac6ac03919..045c0d94ed03f 100644
--- a/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
+++ b/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
@@ -13,12 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard;
+package com.android.vcard.tests;
import android.content.ContentValues;
-import android.pim.vcard.test_utils.ContentValuesVerifier;
-import android.pim.vcard.test_utils.ContentValuesVerifierElem;
-import android.pim.vcard.test_utils.PropertyNodesVerifierElem.TypeSet;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Event;
@@ -30,7 +27,10 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
-import com.android.frameworks.coretests.R;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.tests.test_utils.ContentValuesVerifier;
+import com.android.vcard.tests.test_utils.ContentValuesVerifierElem;
+import com.android.vcard.tests.test_utils.PropertyNodesVerifierElem.TypeSet;
import java.util.Arrays;
diff --git a/core/tests/coretests/src/android/pim/vcard/VCardJapanizationTests.java b/vcard/tests/src/com/android/vcard/tests/VCardJapanizationTests.java
similarity index 98%
rename from core/tests/coretests/src/android/pim/vcard/VCardJapanizationTests.java
rename to vcard/tests/src/com/android/vcard/tests/VCardJapanizationTests.java
index 17ee322cdd33c..0d0b9f10ae84d 100644
--- a/core/tests/coretests/src/android/pim/vcard/VCardJapanizationTests.java
+++ b/vcard/tests/src/com/android/vcard/tests/VCardJapanizationTests.java
@@ -13,20 +13,21 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-package android.pim.vcard;
+package com.android.vcard.tests;
import android.content.ContentValues;
-import android.pim.vcard.test_utils.ContactEntry;
-import android.pim.vcard.test_utils.ContentValuesBuilder;
-import android.pim.vcard.test_utils.PropertyNodesVerifierElem;
-import android.pim.vcard.test_utils.PropertyNodesVerifierElem.TypeSet;
import android.provider.ContactsContract.CommonDataKinds.Nickname;
import android.provider.ContactsContract.CommonDataKinds.Note;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.tests.test_utils.ContactEntry;
+import com.android.vcard.tests.test_utils.ContentValuesBuilder;
+import com.android.vcard.tests.test_utils.PropertyNodesVerifierElem;
+import com.android.vcard.tests.test_utils.PropertyNodesVerifierElem.TypeSet;
+
import java.util.Arrays;
public class VCardJapanizationTests extends VCardTestsBase {
diff --git a/core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java b/vcard/tests/src/com/android/vcard/tests/VCardTestsBase.java
similarity index 96%
rename from core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java
rename to vcard/tests/src/com/android/vcard/tests/VCardTestsBase.java
index 383a9af912d67..8998b3caf1afb 100644
--- a/core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java
+++ b/vcard/tests/src/com/android/vcard/tests/VCardTestsBase.java
@@ -13,13 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-package android.pim.vcard;
+package com.android.vcard.tests;
import android.content.ContentValues;
-import android.pim.vcard.test_utils.VCardVerifier;
import android.test.AndroidTestCase;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.tests.test_utils.VCardVerifier;
+
/**
* BaseClass for vCard unit tests with utility classes.
* Please do not add each unit test here.
diff --git a/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java b/vcard/tests/src/com/android/vcard/tests/VCardUtilsTests.java
similarity index 98%
rename from core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
rename to vcard/tests/src/com/android/vcard/tests/VCardUtilsTests.java
index 59299f9dff35e..732009a36f635 100644
--- a/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
+++ b/vcard/tests/src/com/android/vcard/tests/VCardUtilsTests.java
@@ -13,10 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package com.android.vcard.tests;
-package android.pim.vcard;
-
-import android.pim.vcard.VCardUtils;
+import com.android.vcard.VCardUtils;
import junit.framework.TestCase;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ContactEntry.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ContactEntry.java
similarity index 96%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ContactEntry.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ContactEntry.java
index 843750e789b3b..dff1f051067c5 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ContactEntry.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ContactEntry.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentValues;
import android.provider.ContactsContract.Data;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesBuilder.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesBuilder.java
similarity index 98%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesBuilder.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesBuilder.java
index 5c24186a60142..fb53b8f9a561e 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesBuilder.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesBuilder.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentValues;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesVerifier.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesVerifier.java
similarity index 89%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesVerifier.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesVerifier.java
index f2516edcf87f1..7d6db53f31e63 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesVerifier.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesVerifier.java
@@ -13,18 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
-import android.pim.vcard.VCardConfig;
-import android.pim.vcard.VCardEntry;
-import android.pim.vcard.VCardEntryConstructor;
-import android.pim.vcard.VCardEntryHandler;
-import android.pim.vcard.VCardParser;
-import android.pim.vcard.VCardParser_V21;
-import android.pim.vcard.VCardParser_V30;
-import android.pim.vcard.exception.VCardException;
import android.test.AndroidTestCase;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.VCardEntry;
+import com.android.vcard.VCardEntryConstructor;
+import com.android.vcard.VCardEntryHandler;
+import com.android.vcard.VCardParser;
+import com.android.vcard.VCardParser_V21;
+import com.android.vcard.VCardParser_V30;
+import com.android.vcard.exception.VCardException;
+
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesVerifierElem.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesVerifierElem.java
similarity index 86%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesVerifierElem.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesVerifierElem.java
index 66d69b330d4cb..ecf4a2b69432d 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ContentValuesVerifierElem.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ContentValuesVerifierElem.java
@@ -13,21 +13,22 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentValues;
-import android.pim.vcard.VCardConfig;
-import android.pim.vcard.VCardEntry;
-import android.pim.vcard.VCardEntryCommitter;
-import android.pim.vcard.VCardEntryConstructor;
-import android.pim.vcard.VCardEntryHandler;
-import android.pim.vcard.VCardParser;
-import android.pim.vcard.VCardParser_V21;
-import android.pim.vcard.VCardParser_V30;
-import android.pim.vcard.exception.VCardException;
import android.provider.ContactsContract.Data;
import android.test.AndroidTestCase;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.VCardEntry;
+import com.android.vcard.VCardEntryCommitter;
+import com.android.vcard.VCardEntryConstructor;
+import com.android.vcard.VCardEntryHandler;
+import com.android.vcard.VCardParser;
+import com.android.vcard.VCardParser_V21;
+import com.android.vcard.VCardParser_V30;
+import com.android.vcard.exception.VCardException;
+
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ExportTestProvider.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ExportTestProvider.java
similarity index 98%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ExportTestProvider.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ExportTestProvider.java
index 0fbd9bb1d8eee..caedf9dcafcd7 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ExportTestProvider.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ExportTestProvider.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -21,13 +21,14 @@ import android.content.Entity;
import android.content.EntityIterator;
import android.database.Cursor;
import android.net.Uri;
-import android.pim.vcard.VCardComposer;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.test.mock.MockContentProvider;
import android.test.mock.MockCursor;
+import com.android.vcard.VCardComposer;
+
import junit.framework.TestCase;
import java.util.ArrayList;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ExportTestResolver.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ExportTestResolver.java
similarity index 93%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ExportTestResolver.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ExportTestResolver.java
index 97e1e38e36a57..3cd014ce40ad1 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ExportTestResolver.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ExportTestResolver.java
@@ -13,12 +13,13 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
-import android.pim.vcard.VCardComposer;
import android.provider.ContactsContract.RawContacts;
import android.test.mock.MockContentResolver;
+import com.android.vcard.VCardComposer;
+
import junit.framework.TestCase;
/* package */ class ExportTestResolver extends MockContentResolver {
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ImportTestProvider.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ImportTestProvider.java
similarity index 96%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ImportTestProvider.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ImportTestProvider.java
index ffbf95d029ba5..3d7cb60a0f527 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ImportTestProvider.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ImportTestProvider.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
@@ -36,6 +36,7 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
import android.test.mock.MockContentProvider;
import android.text.TextUtils;
+import android.util.Log;
import junit.framework.TestCase;
@@ -257,10 +258,15 @@ import java.util.Map.Entry;
if (value instanceof byte[]) {
Object actualValue = actual.get(key);
if (!Arrays.equals((byte[])value, (byte[])actualValue)) {
+ byte[] e = (byte[])value;
+ byte[] a = (byte[])actualValue;
+ Log.d("@@@", "expected (len: " + e.length + "): " + Arrays.toString(e));
+ Log.d("@@@", "actual (len: " + a.length + "): " + Arrays.toString(a));
return false;
}
} else if (!value.equals(actual.get(key))) {
- return false;
+ Log.d("@@@", "different.");
+ return false;
}
}
return true;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/ImportTestResolver.java b/vcard/tests/src/com/android/vcard/tests/test_utils/ImportTestResolver.java
similarity index 97%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/ImportTestResolver.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/ImportTestResolver.java
index 29738c6a67af5..645e9dbeacca7 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/ImportTestResolver.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/ImportTestResolver.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/LineVerifier.java b/vcard/tests/src/com/android/vcard/tests/test_utils/LineVerifier.java
similarity index 95%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/LineVerifier.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/LineVerifier.java
index 3edec67dafdf1..d8cfe5b488ba0 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/LineVerifier.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/LineVerifier.java
@@ -13,10 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
+
+import com.android.vcard.VCardComposer;
import android.content.Context;
-import android.pim.vcard.VCardComposer;
import junit.framework.TestCase;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/LineVerifierElem.java b/vcard/tests/src/com/android/vcard/tests/test_utils/LineVerifierElem.java
similarity index 97%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/LineVerifierElem.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/LineVerifierElem.java
index 4f7a9cfb404a1..3ec6ba39b54bb 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/LineVerifierElem.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/LineVerifierElem.java
@@ -13,11 +13,12 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
-import android.pim.vcard.VCardConfig;
import android.text.TextUtils;
+import com.android.vcard.VCardConfig;
+
import junit.framework.TestCase;
import java.util.ArrayList;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNode.java b/vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNode.java
similarity index 98%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNode.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNode.java
index de7ad8eaa64ed..14c8d6cb27da5 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNode.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNode.java
@@ -13,10 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentValues;
-import android.pim.vcard.VCardEntry;
+
+import com.android.vcard.VCardEntry;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNodesVerifier.java b/vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNodesVerifier.java
similarity index 92%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNodesVerifier.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNodesVerifier.java
index 5c8215f6059ad..de33a36a472c4 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNodesVerifier.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNodesVerifier.java
@@ -13,15 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
-import android.pim.vcard.VCardConfig;
-import android.pim.vcard.VCardParser;
-import android.pim.vcard.VCardParser_V21;
-import android.pim.vcard.VCardParser_V30;
-import android.pim.vcard.exception.VCardException;
import android.test.AndroidTestCase;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.VCardParser;
+import com.android.vcard.VCardParser_V21;
+import com.android.vcard.VCardParser_V30;
+import com.android.vcard.exception.VCardException;
+
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNodesVerifierElem.java b/vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNodesVerifierElem.java
similarity index 99%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNodesVerifierElem.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNodesVerifierElem.java
index 8c6c734270f5b..6eb84983eaedd 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/PropertyNodesVerifierElem.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/PropertyNodesVerifierElem.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentValues;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/VCardVerifier.java b/vcard/tests/src/com/android/vcard/tests/test_utils/VCardVerifier.java
similarity index 96%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/VCardVerifier.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/VCardVerifier.java
index 5fb29426895c7..87d82d2020e9b 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/VCardVerifier.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/VCardVerifier.java
@@ -13,26 +13,27 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentResolver;
import android.content.Context;
import android.content.EntityIterator;
import android.net.Uri;
-import android.pim.vcard.VCardComposer;
-import android.pim.vcard.VCardConfig;
-import android.pim.vcard.VCardEntryConstructor;
-import android.pim.vcard.VCardInterpreter;
-import android.pim.vcard.VCardInterpreterCollection;
-import android.pim.vcard.VCardParser;
-import android.pim.vcard.VCardParser_V21;
-import android.pim.vcard.VCardParser_V30;
-import android.pim.vcard.exception.VCardException;
import android.test.AndroidTestCase;
import android.test.mock.MockContext;
import android.text.TextUtils;
import android.util.Log;
+import com.android.vcard.VCardComposer;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.VCardEntryConstructor;
+import com.android.vcard.VCardInterpreter;
+import com.android.vcard.VCardInterpreterCollection;
+import com.android.vcard.VCardParser;
+import com.android.vcard.VCardParser_V21;
+import com.android.vcard.VCardParser_V30;
+import com.android.vcard.exception.VCardException;
+
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/VNode.java b/vcard/tests/src/com/android/vcard/tests/test_utils/VNode.java
similarity index 95%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/VNode.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/VNode.java
index b890e2c2be606..2ca762b0abfb8 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/VNode.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/VNode.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import java.util.ArrayList;
diff --git a/core/tests/coretests/src/android/pim/vcard/test_utils/VNodeBuilder.java b/vcard/tests/src/com/android/vcard/tests/test_utils/VNodeBuilder.java
similarity index 96%
rename from core/tests/coretests/src/android/pim/vcard/test_utils/VNodeBuilder.java
rename to vcard/tests/src/com/android/vcard/tests/test_utils/VNodeBuilder.java
index 25fb6acedd2b0..9b4fe8358a0c0 100644
--- a/core/tests/coretests/src/android/pim/vcard/test_utils/VNodeBuilder.java
+++ b/vcard/tests/src/com/android/vcard/tests/test_utils/VNodeBuilder.java
@@ -13,16 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.pim.vcard.test_utils;
+package com.android.vcard.tests.test_utils;
import android.content.ContentValues;
-import android.pim.vcard.VCardConfig;
-import android.pim.vcard.VCardInterpreter;
-import android.pim.vcard.VCardUtils;
+import android.util.Base64;
import android.util.CharsetUtils;
import android.util.Log;
-import org.apache.commons.codec.binary.Base64;
+import com.android.vcard.VCardConfig;
+import com.android.vcard.VCardInterpreter;
+import com.android.vcard.VCardUtils;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
@@ -185,8 +185,7 @@ import java.util.List;
encoding = encoding.toUpperCase();
if (encoding.equals("BASE64") || encoding.equals("B")) {
// Assume BASE64 is used only when the number of values is 1.
- mCurrentPropNode.propValue_bytes =
- Base64.decodeBase64(value.getBytes());
+ mCurrentPropNode.propValue_bytes = Base64.decode(value.getBytes(), Base64.NO_WRAP);
return value;
} else if (encoding.equals("QUOTED-PRINTABLE")) {
return VCardUtils.parseQuotedPrintable(