- make the usage of VCardSourceDetector.
- simplyfy flag usage.
- remove unnecessary argument "canceled"
Change-Id: I6dd9723df7230be7478f6817c0ac2e6cbedc6ca7
Move the current implementation or 2.1 and 3.0 to VCardParserImpl_V21 and VCardParserImpl_V30.
- From the view of users, it is strange to make vCard 3.0 inherit vCard 2.1.
- Those two specifications still have similar implementation detail, so make implementation of vCard 3.0 inherits vCard 2.1 makes sense from technical view point.
Now VCardParser_V21 and VCardParser_V30 are independent class.
Remove strict mode in vCard 3.0, since strict parsing is not necessary from the view of actual use, and needs to extra effort to support it.
Bug: 2576738
Change-Id: I1d5cb6cffffb53337faa2dd7c519e7254e12da86
There are some other bug where charset for import/export is used during vCard handling.
Bug: 2572064
Change-Id: I0aef8a6eba0a7e9263e47368a43dbba05efa91b0
- make EntityIterator extend Iterator and thus not throw a
RemoteException, instead converting it into a RuntimeException.
- rename ActiveSyncInfo to SyncInfo
- change getActiveSync to getCurrentSync
- remove the accessors in SyncInfo and instead make the final
fields publicly accessible
- made AbstractThreadedSyncAdapter.cancelSync not take a thread
Change-Id: I99fde5585bc5f1e95f4873ffbba189074a8d6372
http://b/issue?id=2553539http://b/issue?id=2553541http://b/issue?id=2553550
Some Contacts users are accustomed to use Organization as a name of the contact when the target contact is for some oraginazion like company, etc., so this change makes sense.
Bug: 2310146
Due to the change Iae8dbac1, all tests for vCard exporeter has failed.
This change fixes the breakage by using a kind of dirty Dependency Injection.
Current test framework for vCard exporter strongly depends on the assumption that
ContentValues objects are able to be directly passed to objects which use
ContentResolver, while the change above disabled the feature by removing
queryEntities().
This change makes VCardComposer forcibly uses queryEntities() via Reflection.
I agree that this change is not so clean, but works fine for now.
Merge commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f' into eclair-mr2-plus-aosp
* commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f':
- removed the concept of Entity from the ContentProvider APIs
As for VCardBuilder, there was a class with the same name, but this implementation is fundamentally different.
This time, VCardBuilder is like StringBuilder. It enables developers to create their own vCard by themselves.
Make Constants public and rename it to VCardConstants.
Internal issue number: 2242528, 2195990
Previous change selected the first ContactValues object even when its name fields are all empty.
This time, vCard composer checks the name fields and skip the object withouth valid name.
One exception is the object with IS_SUPER_PRIMARY flag. If IS_SUPER_PRIMARY flag is set, the object will be
selected even when the object does not have valid name.
Add a unit test for this fix.
Internal issue number: 2252304
e.g. "# Comment?"
In both vCard 2.1 and vCard 3.0, this syntax is never allowed, but some actual exporter seems to emit this kind of comment sometimes.
Both vCard 2.1 and vCard 3.0 allows some property to use multiple lines, so this change may cause another problem.
For example, if the "NOTE" property uses Quoted-Printable type, has several lines, and one of the lines starts with '#', we cannot know whether the line is "comment" or not.
Fortunately, in this change, the line is parsed as part of "NOTE" property, so I think there's no problem "right now", which does not mean that it is completely fine with vCard files Android will encounter in the future.
Internal issue number: 2245363