Commit Graph

92 Commits

Author SHA1 Message Date
Daniel Lehmann
b1b1371150 Expose the Uri of the newly created contact
Bug: 2448065

Change-Id: Ie1de3c02981ae471b7772cac289a07f0fc870f31
2010-03-08 15:14:19 -08:00
Daisuke Miyakawa
e8b9ce2293 Merge "Use "My Contacts"" 2010-03-03 18:55:41 -08:00
Daisuke Miyakawa
72d3397b50 Use "My Contacts"
Bug: 2487348
2010-03-04 11:54:45 +09:00
Daisuke Miyakawa
01f4385d86 Handle the string "default" and ignore it appropriately. 2010-03-04 11:01:25 +09:00
Ken Shirriff
a53bbe4033 Remove DateException and obsolete DateUtils functions.
These functions are deprecated and no longer used.
2010-03-01 14:21:13 -08:00
Ken Shirriff
9d06c5876d Unbundling: pull the recurrence string formatting out of EventRecurrence.
A separate change moves it to the calendar app.
2010-02-26 16:45:28 -08:00
Daisuke Miyakawa
0dcb69292e Purge CallLog. 2010-02-24 14:17:15 +09:00
Fabrice Di Meglio
66c5bd9065 Fix bug #2449594 (device should fold RRULEs, etc., that are longer than 75 chars)
also fix a NPE in populateComponent() when Calendar.Events.ALL_DAY property was not defined

Change-Id: Ia5f15755b5af437ee1e661122193f318868ddf6d
2010-02-23 16:15:37 -08:00
Fabrice Di Meglio
24b5bdd29e Fix bug #2331761 (Instances of a recurring event are missing)
by detecting and ignoring malformed recurrences

Change-Id: I4b3aa5db27d8da6616b52fdc7b522d4d92fdc30c
2010-02-18 10:27:37 -08:00
Dmitri Plotnikov
989edfde74 Fixing the use of entities in VCardExporter.
Bug: 2377678
Change-Id: I05768fd2ce28406b1fc32005343fa1eeaaecdd24
2010-02-16 14:40:46 -08:00
Daisuke Miyakawa
103d53645c Make vCard importer use Organization name when there's no other information available.
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
2010-02-16 12:33:01 +09:00
Daisuke Miyakawa
51e43a3481 Add error handling codes into vCard composer.
Bug: 2377678
2010-02-15 09:34:32 +09:00
Daisuke Miyakawa
900731de0c Honor '+' in phone export in vCard.
Currently no test because of temporal reason. I'll do in the near future...

Bug: 2417138
2010-02-03 12:42:26 -08:00
Daisuke Miyakawa
50c6668a27 Make vCard importer support lower case params.
Bug: 2339066
2010-01-18 08:30:39 +09:00
Daisuke Miyakawa
9030dd125a Handle null correctly.
Bug: 2353544
2010-01-13 08:31:27 +09:00
Daisuke Miyakawa
1301341f13 Fix test breakage in vCard exporter.
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.
2010-01-05 13:44:51 +09:00
Fred Quintana
2ec6c56991 am 328c0e79: - removed the concept of Entity from the ContentProvider APIs - removed the parcelling ability from Entity and EntityIterator and made them public - added an EntityIterator abstract implementation that allow easy wrapping of a Cursor - changed the VCard c
Merge commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f' into eclair-mr2-plus-aosp

* commit '328c0e7986aa6bb7752ec6de3da9c999920bb55f':
  - removed the concept of Entity from the ContentProvider APIs
2009-12-10 10:37:52 -08:00
Daisuke Miyakawa
973afa96bf Add isPrintableAscii() and isPrintableAsciiOnly() to TextUtils.java as hidden methods, and make vCard code use them.
In the future, ContactsProvider will use those methods.
See also the change 34604

Internal issue number: 2275764, 2195990
2009-12-03 15:45:19 +09:00
Daisuke Miyakawa
a750fdd765 Fix a problem in which Android custom fields are not emitted correctly in non-Ascii languages.
Internal issue number: 2195990
2009-11-20 16:13:07 +09:00
Daisuke Miyakawa
639b0f032b Make vCard exporter append neighborhood to locality field instead of extended address,
per China convention.

Internal issue number: 2195990
2009-11-20 07:06:40 +09:00
Daisuke Miyakawa
a6d81e3ee4 Make vCard code refrain from using NEIGHBORHOOD field when importing.
Internal issue number: 2195990
2009-11-19 11:21:39 +09:00
Daisuke Miyakawa
c4b51712d8 Modify vCard exporter code so that it does not emit non-Ascii type.
Also add unit tests.

Internal issue number: 2195990
2009-11-19 09:09:27 +09:00
Daisuke Miyakawa
49c0decf46 Code clean up.
Internal issue number: 2195990
2009-11-18 17:18:53 +09:00
Daisuke Miyakawa
839c036444 Add unit tests.
Internal issue number: 2195990
2009-11-18 10:35:39 +09:00
Daisuke Miyakawa
d2145b97fb Clean up codes and remove/modify stale codes/comments.
Internal issue number: 2195990
2009-11-17 17:12:54 +09:00
Daisuke Miyakawa
1b9e2bec63 Split vCard composer into two parts: VCardComposer and VCardBuilder.
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
2009-11-17 14:30:17 +09:00
Daisuke Miyakawa
3d745c2b92 Make vCard composer use Base64 class for encoding String into bytes instead of using its own implementation.
Internal issue number: 2195990
2009-11-17 06:16:22 +09:00
Daisuke Miyakawa
5a1f2d2de0 Rename several files so that readers would not be confused.
Add unit tests around Phone-number handling and fix some bugs.

Internal issue number: 2195990
2009-11-16 16:31:32 +09:00
Jaikumar Ganesh
f05ec9237e Update VCardComposer getOwnerPhoneNumberVcard() to support empty vcard for 0.vcf
Add check in getOwnerPhoneNumberVcard(). If the incoming phonenumber is empty,
do not add "TEL" to vcard data.

Manual merge from eclair branch
2009-11-13 13:08:52 -08:00
Daisuke Miyakawa
592988d307 Add unit tests for Japanization and fix several bugs.
Internal issue number: 2195990
2009-11-13 08:33:11 +09:00
Daisuke Miyakawa
0cda591125 Make vCard composer use ContentValues object with non-empty name unless the object is not marked as IS_SUPER_PRIMARY.
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
2009-11-11 10:03:10 +09:00
Daisuke Miyakawa
f2ad61c83d Make vCard exporter check invalid phone numbers and re-format them if needed.
Also add a unit test for the case.

Internal issue number: 2246410
2009-11-10 09:29:04 +09:00
Daisuke Miyakawa
0e983864fc Support vCard format emitted by Windows Mobile 6.5, which contains invalid "VALUE" params and
"AGENT" line.

Internal Issue number: 2247192
2009-11-09 15:34:55 +09:00
Daisuke Miyakawa
344416e834 Make vCard parser invalid lines in vCard file which look like some comment.
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
2009-11-07 12:08:19 +09:00
Daisuke Miyakawa
4fe2c57c3c Add tests for Japanization part of vCard.
Fix several bugs around name construction.

Internal issue number: 2195990
2009-11-05 13:47:48 +09:00
Daisuke Miyakawa
26ee0ae9de Make vCard importer handle "PAGER" phone number correctly.
Add tests for it.

Internal issue number: 2239492
2009-11-05 09:44:42 +09:00
Daisuke Miyakawa
f035b47774 Make test compontent support multiple vCard input.
Internal issue number: 2195990
2009-11-04 21:51:54 +09:00
Daisuke Miyakawa
6cb76ac37f Rename the term "attribute"/"attr" to "parameter"/param".
We had been using "parameter"/"param" by mistake, while both vCard
formats uses theterm "attribute"/"attr". This is confusing.

Internal issue number: 2233884
2009-11-03 17:30:19 +09:00
Daisuke Miyakawa
3f16be2061 Enable vCard tests connect both importer/exporter tests.
Fix a bug in ContactStruct.

Internal issue number: 2195990
2009-11-02 15:25:23 +09:00
Daisuke Miyakawa
f5633bc7e2 Fix test breakage in testNickNameV21().
Internal issue number: 2079082
2009-10-29 12:24:26 +09:00
Daisuke Miyakawa
d95a02c2a6 Fix test breakage in Zaku. Modification to PhoneNumberUtils included.
Also add method String formatNumber(String source, int defaultFormattingType) with @hide tag.

Internal Issue number: 2217362
2009-10-29 11:01:07 +09:00
Daisuke Miyakawa
837cba33c5 Add partial support of Android-specific properties.
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
2009-10-29 09:16:31 +09:00
Daisuke Miyakawa
d263a064f7 Add a test for vCard composer.
Also modify the behavior of vCard composer so that it honer FN than N toward
DISPLAY_NAME.

Internal issuen number: 2195990
2009-10-27 08:10:35 +09:00
Daisuke Miyakawa
99a0a2cd73 Add tests and fix vCard code.
Now, basic tests are almost ready.

TODO:
- importer test toward multiple vCard input (though it was tested with real usage)
- exporter tests for multiple composition
- tests with non-Ascii
- tests with special types like TYPE_DOCOMO

ISSUE:
In order to fully check the validity of exporter, we may have to develop
some vCard importer which rejects vCard which is valid but a kind of dubious.

Internal Issue Number: 2160039
2009-10-14 16:07:40 -07:00
Daisuke Miyakawa
7c6770c26b Add the flag "FLAG_APPEND_TYPE_PARAM" to VCardConfig, which
enables vCard composer to append "TYPE=" to type param/attribute
everytime possible, which should fix the issue 2180800.

issue number: 2180800
2009-10-12 15:14:09 -07:00
Daisuke Miyakawa
ba2b21bee8 Implement unit tests for vCard exporter, which depends on the sucess in vCard importer.
In order to share the logic between tests for importer and those for exporter,
PropertyNodesVerifier is now a separated class and drastically modified.
Now the class accept "unordered" expected PropertyNode objects, which allows vCard
composer to not care the exact order of each elements.

MockCursor is added, which may be added into the public API in the future, but in
the test directory for now.
Another MockContentProvider is (temporarily) developed so that it can be accepted by
MockContentResolver#addProvider(), which does not allow IContentProvider and its
descendants but only exact ContentProvider, while the original MockContentProvider in
android.test.mock.MockContentProvider implements IContentProvider.

The test development is still on-going, but this test suffices minimal requirement of
vCard tests.

Internal issue number: 2160039
2009-10-12 13:42:42 -07:00
Daisuke Miyakawa
021de73623 Clean-up vCard code.
Note that refactor is still on-going. Some changes done now may be
reverted in the future.

- Move reusable constants from VCardComposer to Constants.
- Make ContactStruct appropriately refers to Constants.
- Move PBAP-related code at the bottom of vCard composer
- Remove some redundant code.

Internal issue number: 2160039
2009-10-09 13:28:05 -07:00
Daisuke Miyakawa
c93b88cf5f Remove redundant comment. As of now, we cannot guarantee anything toward external developers.
Internal issue number: 2160039
2009-10-08 20:06:16 -07:00
Daisuke Miyakawa
5a016488da Merge commit 'refs/changes/08/29008/8' of ssh://dmiyakawa@android-git.corp.google.com:29418/platform/frameworks/base into cleanup_import
Conflicts:

	core/java/android/pim/vcard/ContactStruct.java
2009-10-08 19:57:36 -07:00
Daisuke Miyakawa
5c3e687965 Develop ContentResolver-based unit tests for vCard importer and fix vCard code
along with the tests

Make test code not only check the validity of VCardParser but also check
the validity of the data insertion part of ContactStruct class, using
MockContentResolver/MockContentProvider. With these tests, we are now really sure
vCard side appropriately sends vCard data into the resolver.

Fix ContactStruct so that it properly handles ORG property and TITLE property,
though it still does not see Group information. There's no vCard found which
uses Group and ORG and TITLE in convolted orders...

e.g. Current implementation misinterprets the following case, but we're not sure
whether any exporter emits data in this kind of complicated form...
group2.ORG:ComparyA
group1.ORG:CompanyB
group1.TITLE:TitleForA
group2.TITLE:TitleForB

Expected: CompanyA + TitleForA, CompanyB + TitleForB
Actual: CompanyA + TitleForB, CompanyB + TitleForA

Also change the parser part a little, so that some component can be reused via
the other part of vCard code.

Added several additional files for the tests, which ensures that
- ORG/TITLE properties are handled as we expect.
- PREF is appropriately handled and passed to the resolver as "IS_PRIMARY" flag.
-- We discarded the code which ensures that "IS_PRIMARY" is added to only one
   field in each type, after the local discussion (the duplication or no primary
   state should be handled by the resolver).

Internal Issue number: 2160039
2009-10-08 19:33:33 -07:00