History log of /frameworks/opt/vcard/java/com/android/vcard/VCardUtils.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d98c0fe9ab6a89129c31c510ccd629a2dca148af 18-Oct-2012 Chiao Cheng <chiaocheng@google.com> Allow importer to handle missing encoding attribute for FN.

- Removed separators from FN properties.
- Adding fix on importer side since we cannot fix exporters that already exist.

Bug: 7292017
Change-Id: I61c691c24828e63aac1920384e16461da7a03881
/frameworks/opt/vcard/java/com/android/vcard/VCardUtils.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/java/com/android/vcard/VCardUtils.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/java/com/android/vcard/VCardUtils.java
02117b3d19787ff65486b9f9db8abd338ae4c9f9 11-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use same TAG in vCard

Tiny cleanups are included

Bug: 4066223
Change-Id: I0b121e93ea5c624325d44b8aa6bab42d9a9a24fb
/frameworks/opt/vcard/java/com/android/vcard/VCardUtils.java
9919ad2126c06dbf2eb54a11e6158f87f316bc22 10-Feb-2011 Daisuke Miyakawa <dmiyakawa@google.com> Stop using private APIs as much as possible.

- remove CharsetUtils stuffs
- remove private APIs in PhoneNumberUtils/TextUtils.

We keep the hidden flag "Data.FOR_EXPORT_ONLY", so this code still
needs access to private API. We don't remove it right now since we
may still need it while we confirmed that the other stuffs are "ok"
to be removed. Some more investigation will be needed in the future
to remove the flag.

Bug: 3143497
Change-Id: I074a7798d2208c3e14a524bd5f307a91ac50f735
/frameworks/opt/vcard/java/com/android/vcard/VCardUtils.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/java/com/android/vcard/VCardUtils.java
2c4b5f3a9df3eff8ed8a7b3d2dc7739277e07d41 28-Oct-2010 Daisuke Miyakawa <dmiyakawa@google.com> Remove dependency toward org.apache.commons.codec.net.

Bug: 3143497
Change-Id: Ibef852372875e5762576899bbcc61c37c8fd9331
/frameworks/opt/vcard/java/com/android/vcard/VCardUtils.java
3d77102a83d0e412046ca0ff9dfdef1a44050ca3 23-Aug-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add tests for vCard 4.0 and fix some of existing logics.

Bug: 2794181
Change-Id: I1cd8550f0ff096a2acb12fcc41dc7235251b09ea
/frameworks/opt/vcard/java/com/android/vcard/VCardUtils.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/java/com/android/vcard/VCardUtils.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/java/com/android/vcard/VCardUtils.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/java/com/android/vcard/VCardUtils.java
be378d5b188f51cf717e5309e3c39180e85833a8 02-Jul-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add a first implementation for vCard 4.0.

TODO: need unit tests.

Bug: 2794181
Change-Id: I6be681f79479e9d6d436895e1b5539af54539f9c
/frameworks/opt/vcard/java/com/android/vcard/VCardUtils.java
58610106ce61adad9b1caa1fe9f7925c3e938bab 08-Jun-2010 Daisuke Miyakawa <dmiyakawa@google.com> Supress unnecessary warning.

Make VCardSourceDetector#PARSE_TYPE_UNKNOWN public for letting it
available for default estimated type.

Change-Id: I77a464ea22c2565f1d077b94db9f29233031297e
/frameworks/opt/vcard/java/com/android/vcard/VCardUtils.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/java/com/android/vcard/VCardUtils.java