Sometimes using PhoneNumberUtils takes unexpected side effects.
For example, PAUSE mark (#) is removed and operation on the phone number does
not work well in some devices.
I also concern removing the PhoneNumberUtils logic since some other
mobile phones cannot understand # or alphabets and starts emitting errors
after the modification.
I'll add a flag instead of just removing the code and let users choose it.
Bug: 2329952
Change-Id: I4ffdd01ebb8ac320b8b67a5848a747af13c6ad1a
- 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
We had been using "parameter"/"param" by mistake, while both vCard
formats uses theterm "attribute"/"attr". This is confusing.
Internal issue number: 2233884
In the near future, all the values which cannot be converted to
vCard property is expressed as "X-ANDROID-CUSTOM" property + MIME_TYPE.
Example (Nick name):
X-ANDROID-CUSTOM:vnd.android.cursor.item/nickname;Nicky;;;;;;;;;;;;;
All the data are stored ordered by its column name ("data1" - "data15").
Currently the code assumes the max num is 15.
Internal Issue number: 2079082