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
Forgot to do this with previous check in. Now that calculateLength() has
been fixed to match the actual encoding (ie, doesn't support single-segment
EMS), test case needs to be updated.
Fixes b/2244483
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
interface (android.os.DropBox); move the Binder interface
behind the scenes. Make DropBoxEntry into DropBox.Entry.
Make it possible to get a dropbox from an (Application)Context
with the usual getSystemService(DROPBOX_SERVICE) type thing.
Update the tests accordingly.
- Added new functions to PerformanceCollector and PerformanceResultsWriter
- Modified unit tests to test new functionality and fix flakiness reported in
2218327 and 2118268
- Added PerformanceCollectorTest to small suite
With this class, external developers will be able to reduce their
redundant work related to testing around ContentProvider/ContentResolver.
Internal Issue number: 2181010
* changes:
It turns out to be useful to allow enumeration on a per-tag basis, and it's easy to support based on the data structures we have, so add a tag parameter to getNextEvent().
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
queue of data chunks (sort of a blob-oriented logcat).
In the future, this will be coupled with a revised checkin service that
would actually upload this data.
Now, the following command is available.
adb shell am instrument -w -e class com.android.unit_tests.vcard.VCardTests com.android.unit_tests/android.test.InstrumentationTestRunner
Internal Issuer number: 2160039
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
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
NeighboringCellInfo works in GSM and UMTS network.
In GSM network, the locaiton value is the combination of LAC and CID.
In UMTS network, the locaiton value is PSC code.
NeighboringCellInfo should access and store those two values seperately.
It involves the change of Public API.
1. Add new API getRadioType(), getLac(), and getPsc() to get location info in GSM and UMTS.
2. Deprecate setCid() and NeighboringCellInfo(int cid) because cid is set by interpreting network type.
The density test expects all resources of all densities to be included, but specifying a density for a particular device build kills that. We therefore add all the required densities explicitly to the Makefile to compensate.