History log of /frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9e87c7606b0593b6789cdd177d80e31b991c864c 21-Aug-2012 Chiao Cheng <chiaocheng@google.com> Allowing multiline addresses to support microsoft vCard.

Multiline addresses are not allowed in vCard 2.1 but it has been encountered
in microsoft mobile vCard. This adds support for this by checking the next
line. If the next line contains a colon, we assume it's a new property.
Otherwise, we assume it's a continuation.

Bug: 5188556
Change-Id: I4607eda901a1d535c759b5026f6702eb47290cb8
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
2c9cf383b1c956c7185e97c2417ebd85b48fc0ac 15-Aug-2012 Chiao Cheng <chiaocheng@google.com> Making vcard photo parsing more robust to decode errors.

Base64.decode throws IllegalArgumentException which is not handled
and results in crash reports for users. Switching to VCardException
which should have better UI handling.

Change-Id: I3fa12b8a703c3eed181caade0bfda2271435b377
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
a4e576ce8ebf869c505f0fe0ea82faefae9940f8 15-Aug-2012 Chiao Cheng <chiaocheng@google.com> Fix for malformed photo entry.

Blackberry vcard photo entry is not terminated with standard vcard 2.1
terminator. The vcard code is suppose to handle this irregularity already
but there was a bug where it would not work unless the next entry contained
a ':' right after the property name (i.e. "END:VCARD"). Cases with next
entries such as "TEL;TYPE=CELL:" was missed. Note the ":" is not right after
TEL.

Bug: 6979337
Change-Id: Ifa3dbb377b9da97ef7570c0f8eca8a1cb5e727a9
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
449d710428682b3f44ba20ce290564cd9352ca0a 28-Nov-2011 Daisuke Miyakawa <dmiyakawa@google.com> Handle "VOICE" type as OTHER on Android

vCard's "VOICE" type is the default type used in the format, while
OTHER is the default type on Android. Our exporter treats Android's
OTHER type as vCard's "VOICE", while our importer accepts
the default type "VOICE" as Android's CUSTOM type with "VOICE" label,
which confuses users: when they transfer phone numbers with OTHER type
those numbers become "VOICE" on receiver sides.

Bug: 5600504
Change-Id: Id30d2ca9b67b81798565224b881a734e8ee76516
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
95e66b00988bc16ecc17df31e47c873b2554b8cc 17-Aug-2011 inshik <inshik.shin@samsung.com> Bluetooth : Modify build & parse vcard

If the contacts have "p"or "w" instead of "," or ";" when some carkits
are receiving them from andro id OS, some catkits cannot parse the
contacts.

Bug: 5178723
Change-Id: I536ca57aff561fb0637448bcddfd53a6ba8b28ef
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
1de396f6df89363169d3a2e61a61fa98d12c1ef8 23-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Refactor code

1) introduce VCardProperty and make use of it everywhere

Previously we had had two structures for it:
VCardParserImpl_V21.PropertyData and VCardEntry#Property.
The former was for holding raw data for property, while
the latter was for holding resultant (encoded) values.
Apparently we can share same structure.

To do so, we need to let VCardInterpreter pass the
structure to interpreter side, instead of splitting them
into smaller pieces by using several propertyXXX() calls.
Thus this change introduces onPropertyCreated(VCardProperty)
in lieu of propertyXXX().

Now vCard parser side is responsible for encoding
Quoted-Printable, BASE64, and several charsets.
Users are still able to do them manually by using
VCardEntry#getRawValue().

2) add better handling for data inside VCardEntry

Now VCardEntry has so many fields that it is harder to
iterate those data, while the iteration itself is common
use case for it. At least three functionalities are
now using iteration: toString(), isEmpty(), and
constructInsertOperations().

This change introduces inner iterator functionality.
VCardEntry.EntryElementIterator allows users to implement
their own iteration logic.
VCardEntry#iterateAllData(VCardEntry.EntryElementIterator)
iterates all data inside VCardEntry and pass them into
the inner iterator.

3) make VCardParser abstract class

VCardParser should provide some utility functionality like
VCardParser#getInstance(), while currently users have to
choose one of inherited classes like VCardParser_V21, which
is hindering encapsulation.

Currently no external library implements VCardParser,
so this change isn't so harmful.

Bug: 4167593
Bug: 4066223
Change-Id: Ic6bb453cf733cf1de356789b36dd90521dceff56
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
48dd8e86a81d2ab40eb762975c8211c225002bf0 22-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Tolerate nested vCard.

vCard 2.1 requires to handle nest (or grouping) while our
parser has not supported it well.

One support we have had is ignoring top element when
FLAG_TORELATE_NEST is specified, which isn't appropriate.

e.g.
BEGIN:VCARD
X-VENDER-SPECIFIC-META-INFO:XXXX
...
BEGIN:VCARD
(Actual content)
END:VCARD
END:VCARD

This change lets the vCard lib import nested vCard.

One problem around handling the case above is that, after
having this change, we'll get two vCard elements instead of
one, as the top element isn't ignored on parser level any more,
while we don't want the top-level data. To solve the problem,
this change also makes vCard importer ignore such empty data.

This changes just flattens nested vCard. Caller needs to take
care of grouping/nest case using VCardEntry#getChildren()
if it wants to support grouping feature.

- introduce "children" into VCardEntry, which enables users to
handle nested vCard on their side.
- make vCard parsers accept nest cases.
- make vCard interpreters handle nest cases.
- make VCardEntry ignore empty data during constructing insert
opertions.
- make tests accept nest cases.
- add additional test cases for verifying more details.
- add debug string capability.
- remove codes for performance measurement.

Bug: 4066223
Change-Id: Id8af659c2cc0bb0db59c8de239d9d95e9d440089
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
677ef21613a9d35053ec098444832ce4125a847e 08-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Reorganize codes, especially around vCard composition.

- suppress misc warnings
- stop using VCardException in vCard composer which has been
used only in test context
- add VCardComposer#createOneEntryNew(). I'm planning to replace
this with old VCardComposer#createOneEntry()
I don't understand why we have callback mechanism for this kind of
simple stuff. I could have been better on this.
- add some documentation
- mark initWithRawContacsEntityUri() (introduced recently) as
deprecated. That was not a good idea =(

Bug: 4066223
Change-Id: Ib533a435cac3b4e4fa31527d02b0657fc4bd0377
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
c955c8b0da0c9fcbad0ddcae76641358c27e72cd 10-Jan-2011 Daisuke Miyakawa <dmiyakawa@google.com> Handle a case BASE64 doesn't contain two CRLFs

Although BASE64 must contain two CRLFs at its end, sometimes
we encounter the case where it doesn't. This change handles
it if possible.

Bug: 3330767
Change-Id: Ibe2be216a25fe1047034be1fdb17bb5d35ed1b5f
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
00b4b98ea94df7fa3f88ee9a623d60db0d4fc451 18-Nov-2010 Daisuke Miyakawa <dmiyakawa@google.com> Handle custom labels correctly.

Previous implementation uses upper-case strings instead of original
expressions in vCard, so "X-Custom" becomes the custom type "CUSTOM"

Add test case for this fix.

Bug: 3207011
Change-Id: I287fd595a80453e18b2bb57600ea8d0bd8b78ffd
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
37634a0179f74431317f50d2ce493e3fad36f5a9 21-Sep-2010 Daisuke Miyakawa <dmiyakawa@google.com> Modify vCard importer/exporter around sip handling

Bug: 2985401
Change-Id: I8216dd80bcb09669be807dd92452e69fe2a11a65
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
0fc278de46840f89c01aa984de7565c1f97e3103 08-Sep-2010 Daisuke Miyakawa <dmiyakawa@google.com> Make vCard importer for 2.1 remove "sip:" at the top of address.

Change-Id: Ifba934d2c0458f20ed23b315ffa17f5838fd284a
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
5db8b7baeffb35191032789cb0b0d643b78f0120 08-Sep-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add import/export support for SIP with vCard 2.1.

There's no regitimate field, so X-SIP is used. Maybe there are
other properties available for SIP.

Bug: 2969777
Change-Id: Ib085d39488e38d4090b6eb8003a00842831c3a53
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
88d0f1ef715f2e1209eba5d175b1b71c556fa8b0 05-Sep-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add SIP support for vCard 3.0.

Change-Id: I48b7057dc802c37936e31fbe95798af6b2c06a5b
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
06ae82316d0b5f7222a7a1d15b7d03df88fdea15 24-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Fix vCard importer so that it imports IM correctly.

Bug: 2944990
Change-Id: I9aba68f03569b9288c4286b73bf3e4e4b84e6d1a
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
36ba003879c5583609af3afcec8df22f51d94cd3 23-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add tests for vCard 4.0.

Change-Id: I29b26d9bc661238404de2e9d9bdfebf9035e05ed
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
237dd947f2e22d34f490bf35ef4b850d05cfffa9 21-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Misc fix for vCard testing.

- Add VCardTestRunner
- Make AndroidManifest aware of newly added VCardTestRunner
- Move VCardTestBase to test_utils as it is part of testing utility
- Add VCardTestUtilsTests, confirming test utility correctly fails when
the test should fail.

Change-Id: I593912ce9e664e9346d6f567ccf75f8afc47f9a5
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
4560bdde6dd75cca49fc55b58aafb5d416b88ca3 20-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Make vCard 4.0 parser support SORT-AS parameter.

Add unit test for it.

Fix bugs in foundation classes..

Change-Id: I8b5ca1fd49ef3e729ec85429fb8110efde5091f1
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
a76f41e328f31c2e9e9006160d8f65fe651eeb6a 21-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Fix foundation classes for vCard importer/exporter.

A lot of tests are not actually tested =(

Change-Id: Iea873573e8aced9660be9bf8d7900d85c9c68380
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
58ca5f9943bb5c8aeeab3150ac96f1143dfd86ba 18-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add a few tests confirming the behavior of vCard library.

Fix test code as it doesn't convert multi-byte params to
UTF-8 properly.

Modified the content of v30_commpa_separated.vcf, as
the original intent of the file is not realistic
(I've never seen this kind of complicated form).
Also, without successfully parsing it, we torelate it.

Added comma-separated-types cases instead , as this might be
a bit more serious (a whole parse may fail due to
this form of types).

Change-Id: I1403e1c1d81d4325b25ad12ff143a76f0b9ab3a7
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
2bf85a1a15a3175119ab8415fc590fd5fe3d0752 18-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Make vCard importer/exporter aware of multi-byte parameters.

Based on the change Ic877940242d87ef918bf8d4dac601d37b296259b
Bug: 2922186

Change-Id: Id4cd674a0565670023b7bb1010b21d8349dd4daa
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
d5a8fc2a35c69fc34df35fd545ccf83d548ba50c 13-Jul-2010 Daisuke Miyakawa <dmiyakawa@google.com> Rename a test file for comma-separated values in VALUE fields.

Also add TODO for supporting the values.

Bug: 2835996
Change-Id: I02c9d8735cee943e307fbbe75f0635bad636c396
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
42f5f84d9d501893bc14702276f0300ca8230bb5 12-Jul-2010 Daisuke Miyakawa <dmiyakawa@google.com> Fix test breakage: Make test aware of anniversary in winmo case.

Previous implementation does not recognize anniversary but it does now.
Also fixes small bug around anniversary handling.

Bug: 2794181
Change-Id: I7f6185a35d77f6ed94fd38d0eea3f8c7de134dfe
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
f6d9e0eeae38a72481ce2e19d0872d3f8f81189f 09-Jun-2010 Daisuke Miyakawa <dmiyakawa@google.com> Make vCard 2.1 importer accept vCard with non-QP multiple lines.
Add unit test for it.

Bug: 2750981
Change-Id: Ie4c9437e505dccbbcc1f6812f627c62e804bc368
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java
4199c54c527330ac01699b176e7bca186a3aa3a4 04-Jun-2010 Daisuke Miyakawa <dmiyakawa@google.com> Move vCard code in platform/framework/base to platform/framework/opt/vcard.

See also 33m4347ad6 in platform/framework/base.

Bug: 2735156
Change-Id: I64b1bd42515a32b354396a030ec77d1ea3c5a08c
/frameworks/opt/vcard/tests/src/com/android/vcard/tests/VCardImporterTests.java