History log of /frameworks/opt/vcard/java/com/android/vcard/VCardParser_V30.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
56650608f09fc75f260c03e00456ef3d1e60c929 01-Apr-2011 Daisuke Miyakawa <dmiyakawa@google.com> Add parseOne() capability.

Bug: 4066223
Change-Id: I1699dd073a3b9647a5654d3fea4a2963430599da
/frameworks/opt/vcard/java/com/android/vcard/VCardParser_V30.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/VCardParser_V30.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/java/com/android/vcard/VCardParser_V30.java
422643669a44d08ca8b22a73286fae988a288b0e 08-Sep-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add SIP export support for vCard 3.0 and 4.0.

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