• Home
  • History
  • Annotate
  • only in /frameworks/opt/vcard/tests/src/com/android/vcard/tests/testutils/
History log of /frameworks/opt/vcard/tests/src/com/android/vcard/tests/testutils/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
CardVerifier.java
9ec6c05a1dbb17862a44f96e91975dfc01cebf6e 01-Apr-2011 Daisuke Miyakawa <dmiyakawa@google.com> Remove VCardInterpreterCollection

Bug: 4066223
Change-Id: I712d35582bf054e70ad2406256a57a4ee1381905
CardVerifier.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
mportTestProvider.java
mportTestResolver.java
ropertyNodesVerifier.java
Node.java
NodeBuilder.java
56174dfd0654acbe828e4db38537ec5a3a04d466 17-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> remove legacy code.

- remove createOneEntryLegacy()
- remove OneEntryHandler

Should be after
- I3c5a58fef5a404b992a3c17578eeb63518294231
- Ie1eb516a8163febd4438e19df5bc0892726942cb
- Ie21c8966b0bb5b73b3afd18bfe7c142b523413c4

Bug: 4066223
Change-Id: Id623814e8f5961aaf9cf9b4dcc92f75ace401148
xportTestProvider.java
CardVerifier.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
ontentValuesVerifierElem.java
mportTestProvider.java
ropertyNodesVerifier.java
CardVerifier.java
Node.java
NodeBuilder.java
8ed6de732dfb8bf8257152e5c5faf7e0ee760464 10-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> replace newer composeOneEntry method with older one.

Apparently forcing users to use OneEntryHandler
every time doesn't make sense. onInit()/onTerminate()
capability can be implemented as users' preferance and
shouldn't be mandatory. Just returning real vCard
Strings would be more preferable.

This breaks current API. We need additional
modifications to three packages.
- Ibaafdf4e0e1e01713b721d216102ae711db7ba74
- Icca2019b10fc84e437efbc2606cd5703b3ea0a5f
- I2667a91d90b1ce985a354a5a37de75bb8156cff8

Bug: 4066223
Change-Id: I91b65f881e1712ecf82c2e119a92bc70c43c623c
CardVerifier.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
ontactEntry.java
ontentValuesBuilder.java
ontentValuesVerifier.java
ontentValuesVerifierElem.java
xportTestProvider.java
xportTestResolver.java
mportTestProvider.java
mportTestResolver.java
ineVerifier.java
ineVerifierElem.java
ropertyNode.java
ropertyNodesVerifier.java
ropertyNodesVerifierElem.java
CardTestsBase.java
CardVerifier.java
Node.java
NodeBuilder.java