History log of /packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
687bef960a8309410ee1ba0da06a012914bef88e 08-Nov-2016 Ta-wei Yen <twyen@google.com> Prevent LAST_MODIFIED from changing after deletion

Previously LAST_MODIFIED is updated every time any modification is done
to a row, even if it is marked as deleted. A deleted row should not
be changed other then undeleting it, but it is hard to enforce this
on existing clients. Instead, LAST_MODIFIED will freeze at the moment
it was deleted.

In this CL, before the values are updated a separate query will update
LAST_MODIFIED for all rows that will be affected, unless it is already
marked as deleted. If a update will unmark the rows as deleted, a rows
will have its' LAST_MODIFIED updated.

Fixes: 31975372
Test: runtest contactsprov
Note: In the current master most of the contacts provider tests are
broken due to UserManager changed to use getApplicationContext()
on its' constructor, which is not mocked by the test context.
This CL is tested with the change reverted.

Change-Id: I7ce1e98fa14932c50e84bb9ef6b2549e93faddc4
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
b716ac69042174eb9b5a00d132a27e32b5693caa 17-Feb-2016 Tony Mak <tonymak@google.com> [CP2] Add new API PhoneLookup.CONTACT_ID

It is a mistake that we put contact id in PhoneLookup._ID.
But for SIP query, the contact id is put in Data.CONTACT_ID instead.
For backward-compability issue, we can't revert the change, but to
save developer from having logic like below, PhoneLookup.CONTACT_ID is
introduced.

if (sip) {
get contact id in Data.CONTACT_ID column
} else {
get contact id in PhoneLookup._ID column
}

So for sip query, we put contact id in PhoneLookup.CONTACT_ID.
For other phone lookup query, we put contact id in both PhoneLookup.ID
and PhoneLookup.CONTACT_ID.

BUG:27149017

Change-Id: I4155da29bbacdda0d43164b0ce11c7224a4eee67
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
dc653a5c1bed274512ce41e4a6129a65d2b0eeac 22-Dec-2015 Makoto Onuki <omakoto@google.com> Move CallLog and VoiceMailStatus to their own DB.

- Move the "calls" and "voicemail_status" tables to the new
"calllog.db" database.

- Migrate all data into it.

- Remove the old tables in contacts2.db

- VoicemailContract.Status.SOURCE_PACKAGE is no longer UNIQUE

Bug 26247586

Change-Id: I003d49b8fb150c21a34830bc62e8c816ce2cd8cd
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
6a7519df9e4462bfc02f28f0b066280307541905 21-Dec-2015 Ta-wei Yen <twyen@google.com> Fix CallLogProviderTest

Test cases has not been updated for a while.

+ Check userHandle == USER_SYSTEM and isManagedProfile() instead of
isSameProfileGroup() in syncEntriesFromPrimaryUser().
+ Check LAST_MODIFIED for CRUD operation on Calls table.
+ Calls.ADD_FOR_ALL_USERS = 1 defaulted to getTestCallLogValues()

Change-Id: I19a10e5a26951dae69a1481f142d6c398b56e09a
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
3a25814cf8ad7cf7b10534a2c49e479c95b7c0fa 04-Jun-2015 Brian Attwell <brianattwell@google.com> am bb8ecc78: am bb1f204c: am e9b0be19: Update CP2 unit tests for changed permissions

* commit 'bb8ecc785739c83127df41bb7ccf0b655dbcf9fa':
Update CP2 unit tests for changed permissions
e9b0be19881605e5d23404c95d2da357ab0879b9 29-May-2015 Brian Attwell <brianattwell@google.com> Update CP2 unit tests for changed permissions

Bug: 21090207
Change-Id: I496a3c70c69ee1507c626ab2fcee9edf4bdb5ceb
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
bec05b5fdeb47889ac2a0095d7ff8d0b7ac69baf 16-May-2015 Makoto Onuki <omakoto@google.com> am efe257b4: am c19d5519: Fix unit tests

* commit 'efe257b497428fdb30ff4aa418909eb5b22ac457':
Fix unit tests
c19d5519535bc05225eac5f7dfb830fda48497de 15-May-2015 Makoto Onuki <omakoto@google.com> Fix unit tests

- PhotoPriorityResolverTest
Now the mock sync adapter needs an intent filter

- LegacyContactsProviderTest
The authority check in ContentProvider got tightened, which broke our test because
we didn't set up the multiple authorities correctly.

Change-Id: Iab1eed24434bd159a99f0b794a7756554dc02281
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
08fb8384ccb36de3d3d046e287fe5c43c1f85faf 07-May-2015 Zheng Fu <zhengfu@google.com> Notify contact metadata changes to contact metadata authority.

Need to notify metadata changes in the following senario:
1. raw contacts insert/update with column pinned,starred or send_to_voicemail
2. data usage stats update
3. aggregation exception update/insert
4. data delete, or insert/update with is_primary or is_super_primary column

Bug:20893997
Change-Id: I7ca6ae4c1a96baa9bb887ec11869d4194398ae64
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
2c76de2c89979f19f9adab604e0375019efe5683 02-May-2015 Zheng Fu <zhengfu@google.com> Implement delete method for ContactMetadataProvider.

Bug:20537162
Change-Id: Ie2d18855b71112d1b56795fc79acb73852914e4d
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
384b448938b82c8ebf1628673d0aaee6972a5b69 30-Apr-2015 Zheng Fu <zhengfu@google.com> Add new ContactMatadataProvider.

Bug:20537162
Change-Id: I499efb7c6238957a65c518a1c938533d2fb8ac54
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
098215569d35a130c883933ec76773e85356387e 21-Oct-2014 Zheng Fu <zhengfu@google.com> Modify the contact split logic to avoid over-split issue.

Details

If the best matching contact doesn't contain any raw contacts from the same
account as the given raw contact, join them together if no identity mismatch
between them on the same namespace, otherwise, keep them separate.

If the best matching contact contains raw contacts from the same account as
the given raw contact, join them together if they share at least one email
address, phone number, or identity; otherwise, re-aggregate raw contact and all
the raw contacts of best matching contact.

When re-aggregation is needed, re-aggregate all the raw contacts (given raw
contacts plus all the raw contacts of the best matching contact) based on the
pair-wise connectivity. Two raw contacts are considered connected if they share
at least one email address, phone number or identity.

Bug:18304324
Change-Id: Ic5a27a23c2f64f534f7a7eaf5f3fb474e877c207
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
84e66f5469168132e0ef8efc5e6f08f21608b383 05-Sep-2014 Zheng Fu <zhengfu@google.com> DO NOT MERGE Remove default settings during contacts aggregation.

Set is_super_primary to 0 for all the shared mime-types's data
between aggregated contacts.

Bug:5080996
Change-Id: Ie65259c11d719b343f234e5fccf883491e7992a7
(cherry picked from commit 96ddeddc52c85710a10cd8266c054ff1b1c5a52b)
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
9701936fadaf55ef773dd07015b35f99fd5f8a91 07-Aug-2014 Makoto Onuki <omakoto@google.com> Add unit tests for enterprise caller-id

Also fix a few issues:
- Fix projection map for phone_lookup/enterprise and add PHOTO_FILE_ID
- Null out custom ringtones from the corp CP2. Returning rintones in the corp
profile really doesn't make sense.
- Fix a log in queryPhoneLookupEnterprise().

Change-Id: If0617225228c526d4b7d87e9c95f6fbe090242a0
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
2ad39edbd856f3ea1177788aff7e653e593781eb 19-Jul-2014 Yorke Lee <yorkelee@google.com> Rename voicemail permissions

Rename READ_ALL_VOICEMAIL to READ_VOICEMAIL, and MANAGE_VOICEMAIL
to WRITE_VOICEMAIL
Bug: 16400686

Change-Id: I45d841b886c2bbe230c2f13fddbce41a729b6c61
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
ab2ec1d4316770e2ce8dc47dd1ae71430cd70e36 25-Jun-2014 Yorke Lee <yorkelee@google.com> Add manage voicemail permission (2/4)

Update CallLogProvider and VoicemailProvider to provide read/write access to
voicemails based on their respective permissions.

Also update tests to reflect the new world.

Bug: 6948882

Change-Id: I26e960eae24dc1b8bd4a372420d4c42f242c88d3
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
6fc2ed06c50b135caf4be3a212f2f82d48892c3f 18-Jun-2013 Chiao Cheng <chiaocheng@google.com> Remove ContactsContract.snippetize() from unit tests.

Fix unit test to check for full return values.

Bug: 7896653
Change-Id: Idab766bc3e2be129e85bd25bac6bf73aeeb80be2
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
8ed367fdc0b086d54c489f68d555e2f0a4035f63 12-Mar-2013 Chiao Cheng <chiaocheng@google.com> Adding contacts delta api.

Updates and inserts can be detected through the use of a new timestamp
field in the contacts table.

Deletes can be detected by querying the new deleted_contacts table.

Bug: 8182147
Change-Id: I5c1e596f4e1aa58528afc29396f79cb4051e229c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
216c434537d05a691add4e22ba3a9d958c976c1e 29-Mar-2013 Yorke Lee <yorkelee@google.com> Provider side changes for exposing data usage stats

Use a uri query parameter to filter for a specific type of data usage,
otherwise the sum of all the data usage stats for that particular
data is returned.

Bug 8124079

Change-Id: Iee4c3accb46c9402f0a1659c9b8943c5a219a169
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
c6e28121e4c522c31c96e0ea97b66012cc571160 01-Mar-2013 Chiao Cheng <chiaocheng@google.com> Reverting is_primary sort order back to previous priority.

Bug: 8129961
Change-Id: If6dd3b5ebec19ef7c9fea493d90f0e8d88435f01
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
38210445730ee04c351c7cc1b3800cfe23e34325 27-Jun-2012 Makoto Onuki <omakoto@google.com> Reorganize import in contacts provider

Change-Id: If3afb134ea36bd93859efcd114885526e1592b91
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
80628945e7e41bb9363c2fbbd2938890b9217792 30-Apr-2012 Makoto Onuki <omakoto@google.com> Don't show the invisible in frequent

Bug 6000492

Change-Id: I5959cad0e3c04476a1b133508c60cdb8037b16f7
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
9d9994ea8f6b02d2c1afb48a9d776c4c26d6c989 23-Apr-2012 Makoto Onuki <omakoto@google.com> Merge "New aggregation logic"
0992b9d4969ed0eee6e879db94292b635229e2b7 11-Apr-2012 Makoto Onuki <omakoto@google.com> New aggregation logic

Now a raw contact can be merged into a contact containing raw contacts from
the same account if there's at least one raw contact in those raw contacts
that shares at least one email address, phone number, or identity.

Now the aggregation logic version is 3.

Also:
- Make sure changes to the identity triggers aggregation.

- Stop re-using some HashMaps/HashSets, as they don't shirink the internal
table when clear()ed. During the aggregation update we may put a bunch of
stuff into those, and we want to make sure that we don't keep unnecessarily
bit internal tables after the upgrade. This should be okay with the modern
dalvik GC.

Change-Id: I855085d334679363cf9bffb918ca2ceb0cfe77f5
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
87426833d4c2c626e032f5d0b84a08b58024daf6 17-Apr-2012 Makoto Onuki <omakoto@google.com> Fix the last failing photo test

Also add some nice features to the asserts for complex data.
- assertImageRawData() now writes the expected and actual images to the
cache dir when failing.

- assertStoredValues() and its siblings now dump the cursor to logcat
when failing.

Bug 6280711

Change-Id: I77aff61b0494580d0b2ba24b35eb045a18cd48c8
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
dfab50ecd585e55769dea451cb3a47ff69b8b86d 14-Apr-2012 Makoto Onuki <omakoto@google.com> Fix and simplify data usage feedback

Now it correctly updates both raw_contacts and contacts too, with fewer
sqls and less memory.

Bug 6326418

Change-Id: I89f0f92bae5bad5505b218eca2a29ae56b51fe7f
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
a780048d2caafbd922444b0c08adb81790db4635 13-Apr-2012 Makoto Onuki <omakoto@google.com> New API to clear usage stats

resolver.delete(DataUsageFeedback.FEEDBACK_URI, null, null);

Bug 5475575

Change-Id: I20adaea0350e95a8f8526507ddc1b2bdc8e8fe13
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
81567f4a0f7c9c338506bd82f4d33e83c2ccf159 23-Mar-2012 Makoto Onuki <omakoto@google.com> Add new package aggregation.util

Move aggregator related classes into it.

Change-Id: I712fe07ad2bab1e532e3822e3e2797a199329865
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
fba89ea92f519d77ec1d762724ed11bf4ebb7d20 24-Jan-2012 Makoto Onuki <omakoto@google.com> Fix for broken phone number snippet

Don't add snippet markers when snippetizing is deferrerd.

Bug 5904515

Change-Id: I7199e1d68659e06e2b183383b7ba4d8a089aec87
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
ac61fb8b20b05bb7a9af7c6d68bf8cdbdf675102 15-Dec-2011 Makoto Onuki <omakoto@google.com> Fix phone_lookup related tests

Bug 5763216

Change-Id: Iecdf45cf98cfb7bf0ed162f6e386574e4445f6fa
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
e432023d408c461295e53c0593fabb2b4c17aeb3 23-Oct-2011 Daisuke Miyakawa <dmiyakawa@google.com> Add Callable URI support

This must be after I4729c87ecd11296599ed0313e8ad1f5aeabbd32b, which
introduces URIs this change depends on.

- CONTENT_URI will return a list containing both phone numbers and
sip addresses.
- CONTENT_FILTER_URI will return a list containing both, filtered
by a parameter. The URI will return addresses starting from
"sip:" too just for convenience. If a user type "johndoe",
sip addresses like "sip:johndoe@example.com" will also be returned.

Bug: 5039627
Change-Id: Ifbbfe9df3b9a560666d35ca78aeb07d513963195
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
23ba865a6d204ba4aa29d2fad9989e9c44351e81 27-Oct-2011 Makoto Onuki <omakoto@google.com> Speed up query for group tab

- The old query had overhead propotional to the number of groups.
- The Groups.SUMMARY_WITH_PHONES column is still slow, but we don't use it.
- We can use the same technique for Groups.SUMMARY_GROUP_COUNT_PER_ACCOUNT.

The only downside is that, we're changing the FROM clause dynamically according
to the requested column, which is something that we don't usually do.
Overusing this technique could make code less maintainable...

Bug 5092615

Change-Id: I79b01ae2a232bcd8e3b7186288050fed14a36a72
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
906cae61cada57539a87d25ca4fbe099836cf896 17-Oct-2011 Daniel Lehmann <lehmannd@google.com> Merge "Remove Live-Folders"
4004a43c7fbe48ba72de46cc88eb5567df184258 17-Oct-2011 Daniel Lehmann <lehmannd@google.com> Remove Live-Folders

Bug:5254892
Change-Id: I41cf5df369b887361e545d9e0acccef308824875
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
d1746e09bc7739f3d1449cececc66d5045ada498 15-Oct-2011 Daniel Lehmann <lehmannd@google.com> Use hexadecimal collation key for name searches.

Also allow prefix search on name

Bug:5337763

Change-Id: I039264be0c8309224d8925ded06ab02a64a5ce1b
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
36612112760df799ef89f7e324e5dfabd5ca0d2b 04-Oct-2011 Dave Santoro <dsantoro@google.com> Implement new social stream permissions.

Reading/writing social streams now requires READ_SOCIAL_STREAM or
WRITE_SOCIAL_STREAM permission. The special stream item insertion
that occurs on status update insertion is exempt from this
requirement.

Bug 5406886

Change-Id: I6a711d7f33b501e2c331c71684b2eb3a6bfd5ec5
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
6f983fd835f0cdd5ac7931ccd49d44e9ea4c87c0 13-Sep-2011 Dave Santoro <dsantoro@google.com> Fix snippetization tests.

The tests need to be aware of (and use) deferred snippeting.

Change-Id: Ib566a2884f445c0ff02d8968a9362717798aafb8
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
f9b77edaf5855bf6932fbc4b4b4342273669efef 09-Sep-2011 Dave Santoro <dsantoro@google.com> Add data_set for Settings.

Since data_set may be null, it can't be part of the primary key
for the table, so we need to re-create the table and add
provider-side protection from inserting duplicate settings
records.

Bug 5156004

Change-Id: I25ae53c5670087a116058f0daef5b06cb6ce372b
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
5d0a768b56ed4bd0dfef81b8389247ba74766659 08-Aug-2011 Dave Santoro <dsantoro@google.com> Separate the profile out into a separate database.

Fundamentally, this works as follows:
1. A separate, structurally identical database is created for
storing profile data. The view columns for identifying whether
a contact or raw contact belongs to the user's profile are
initialized with constant values for each database.
2. Sequence numbers in the new profile database are set to a very
high value (MAX_LONG - MAX_INT) to designate an ID-space in which
profile data is stored. This is important for distinguishing
between contact and profile requests.
3. Contacts Provider URIs are divided into several sets, bucketed
automatically by a new profile-aware URI matcher.
- URIs that explicitly reference the profile.
- URIs that contain IDs (which may be in the profile ID-space).
- URIs that contain lookup keys (which may be a special profile
lookup key).
- URIs for insertion that may contain a profile ID as the parent
for the inserted record (in content values). These can't be
detected by the URI matcher by itself, so this mapping is
maintained in the provider.
By identifying whether a URI falls into one of these sets, the
contacts provider can efficiently determine whether the request
is intended for the profile database or contacts database.
4. The Contacts Provider holds onto two separate copies of the
following, one each for contacts and profiles:
- Database helper
- Transaction context
- Aggregator
- Photo store (the profile one uses a separate directory)
5. During any query/update/insert/delete/openAssetFile operation,
the URI (and content values, if applicable) are examined to
determine whether the operation is intended for the Contacts DB
or the profile DB. If intended for the profile DB, the provider
is switched (in a thread-local manner) to a profile mode, and the
operation is handed off to the profile provider. The profile
provider does a permission check, substitutes the profile database
as the active DB in the contacts provider, and continues the
operation in the Contacts Provider by calling the in-transaction
or local version of the operation, which does its normal
processing, but with everything pointing at profile-specific
databases, aggregators, etc.
6. If the operation isn't determined to be targeted to the profile
database, the provider is similarly switched (thread-locally) into
contacts mode, and the active DB is set to the contacts DB.
7. For batch operations, we only create a transaction for the
contacts DB initially. If any of the operations in the batch end
up targeting the profile DB, we start a transaction for the
profile DB. When the batch is finished, we check for that and
also commit the profile transaction if there were no errors.

Bug 5204577
Bug 5161066
Bug 5155743
Bug 5087853
Bug 5031883
Bug 5198777
Bug 5230140

Change-Id: Ic43a6625cbb6edf52ea076b084647fb0656e28e5
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
58567abca253f1efa2db5c39e17e42dca589e916 16-Aug-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use phone number for grouping when normalized number is null

NORMALIZED_NUMBER may become null when the number isn't able to be
parsed by the library (e.g. pager address). Current implementation
groups multiple numbers with null normalized values into one
result, which confuses users.

Bug: 5040732
Change-Id: I1ad7dfb72dbc5d239aa95a913d35c2d8dfe3167c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
0bf6b318e3c994294d4a885f57906debd4a0e64e 15-Aug-2011 Daniel Lehmann <lehmannd@google.com> Several DB changes as requested by ES

- Switch from resource ids to names to prevent breakage on package upgrade
Bug:5135277
- Add SYNC1...SYNC4 columns to StreamItems and StreamItemPhotos
Bug:5119385
- Remove ACTION, ACTION_URI from Groups, StreamItems and StreamItemPhotos
(this reduces db size and prevents click intercepting)
Bug:5135808
- Add some raw-contact fields to the StreamItem and StreamItemPhotos query
Bug:5134081

Doing those changes in one block to prevent too many db upgrade steps

Bug:5135277
Change-Id: I1d1661c9a507d9efd4ef334fe21481097e820b7c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
87614d7d293b1519dc1f0f403fd59c8bf4d8a347 15-Jul-2011 Dave Santoro <dsantoro@google.com> Photo aggregation logic update.

In the new logic, we'll pick the largest photo (in pixels, using file
size as a tiebreaker for display photos) to determine photo priority
if no super-primary is defined.

If this logic doesn't pick a winner, we fall back to the old photo
priority based on the account.

Change-Id: I9cf58b86a6c22bcf671a4852606a4534fa0fa7da
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
f547fd54d7933e1c03af4a8dc10560c71c38f6b8 27-Jun-2011 Dave Santoro <dsantoro@google.com> Large photo storage.

This change adds support for storing large photos for contacts in the
file system. Large photos passed to the provider will be downscaled
and re-encoded as JPEGs before being stored in the usual data BLOB
field (for the thumbnail) and in the photo store (for the display
photo).

See go/large-photo-design for details.

Change-Id: I26a69ac2ccba631962a3ac5c83edb3f45d7cfc7f
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
3b505de6c622d20d40b85b361c1437a89aef82de 08-Jul-2011 Daniel Lehmann <lehmannd@google.com> Provider implementation of stream item API.

The following URIs are supported:
contacts/#/stream_items (query stream items by contact ID)
contacts/lookup/*/stream_items (query stream items by lookup key)
contacts/lookup/*/#/stream_items (query stream items by both)
raw_contacts/#/stream_items (query/insert stream items by raw contact ID)
stream_items (query/insert/update/delete stream items)
stream_items/photo (query/insert/update stream items)
stream_items/# (query/update/delete stream items by ID)
stream_items/#/photo (query/insert/delete stream item photos)
stream_items/#/photo/# (query/update/delete stream item photos by IDs)
stream_items_limit (query limits for stream items and photos)

Change-Id: Ice433c53e18087e5e6295ad9a112062d44b12dd2
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
2f830d3bb66f780937203e9738e046841a070e73 25-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use new data usage stat for strequent contacts

Must be with Ie193bb91ee49b18f4a546a1f52be780bb514301d

- use phone-only query parameter in strequent mode
- introduce data_usage_stat View for combining the table
with some of data/raw_contacts columns, which are needed
for strequent uris.
- modify strequent impl for supporting phone-only search
- modify a test for strequent uri handling

Checked performance. We need UNION ALL there and some nasty
hacks with two sub queries.

Bug: 4371572
Change-Id: I8c81747d8a8ae47ce551067fc4dbe2c48f4f48ae
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
59f6477e10203617f504857f7e9aee2fda393f4f 07-Jun-2011 Debashish Chatterjee <debashishc@google.com> Introduced new voicemail fields in 'calls' table.

The 'calls' table is going to be shared between the existing call_log
provider, and to be added voicemail provider. This change adds all the
columns needed to support voicemail in the 'calls' table.

The call_log provider, however, uses only one additional field
'voicemail_uri', whereas all other new fields will exclusively be used the
new voicemail provider. The change also ensures that the voicemail
provider specific fields are not exposed through the call_log provider.

Change-Id: Ieea4b14052b7e7e9db0e674138772b4e06b3f074
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
24c1d384b45a6d3c1cc959062a9d4308335fabbf 28-May-2011 Dave Santoro <dsantoro@google.com> URIs and queries to support profiles.

This change includes:
- A database upgrade to support tracking whether a contact represents the
user's profile (represented as an optional raw contact ID specified
per-account, and looked up in the various views).
- New Contact Provider URIs for retrieving profile-specific data:
- profile: To retrieve the user's profile contact.
- profile/data: To retrieve data for the user's profile contact.
- profile/data/#: To retrieve data for a specific data entry for the user's
profile entry, by data ID.
- profile/entities: To select entities for the user's profile.
- profile/as_vcard: To retrieve the profile as a VCard.
- profile/raw_contacts: To retrieve or insert raw contacts for the user's
profile.
- profile/raw_contacts/#: To retrieve a specific raw contact entry for the
user's profile, by raw contact ID.
- profile/raw_contacts/#/data: To retrieve data for a specific raw contact
entry for the user's profile, by raw contact ID.
- profile/raw_contacts/#/entity: To retrieve raw contact entities for a
specific raw contact entry for the user's profile, by raw contact ID.
- Permission checks to ensure that any access to profile data (whether
explicitly through the above URIs or directly via ID) enforces READ_PROFILE
or WRITE_PROFILE access.
- New and updated tests (including permission check cases for all of the above,
plus query checks for each).

I've also had to move a few large tests to medium to work around
b/3329504. I've also removed the database close step from contacts provider
test teardowns, as it doesn't seem to be necessary, and results in almost a 3x
performance boost on test runs.

Change-Id: I220552c26ad1eb3fbf24fdd865df2fe59fe4a688
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
7d82ae92714f2132e3a0971d844ae8cdf10d76e7 05-Apr-2011 Daisuke Miyakawa <dmiyakawa@google.com> Add "primary account" support.

Two query params "PRIMARY_ACCOUNT_NAME" and
"PRIMARY_ACCOUNT_TYPE" allow users to supply
a primary account associated with the query, which
enables contacts provider to optimize query results.

For example, in an email composition screen, users may
want to promote email addresses related to an account
selected as a "from" field. This change allows the
client to let the contacts provider know the account.

Must be with I2a22be56822226e3ea6b6f2ef23bb77816d0345a

Bug: 3510087
Change-Id: Ibce363d336cb3e3a1fca10bddbd912ec96e4b059
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
92ddc5cdc4d89ee2c6e861ae7b3a3a913ffa0100 12-Feb-2011 Dmitri Plotnikov <dplotnikov@google.com> Full text search: Asian language support

Bug: 2078420
Change-Id: I1a99ad05bb6e30b539134d60f669134b87dbf180
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
6d9702cec82fd27a1c3093c64df9dcc22744899a 09-Feb-2011 Dmitri Plotnikov <dplotnikov@google.com> Full text search: adding remaining built-in data types

Bug: 2078420
Change-Id: Ifbd67f5ed65c44c2521a4b4d48d90aab8d0c86d1
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
eeeed5669d98897501bf2b18c88579c7effd0955 08-Feb-2011 Dmitri Plotnikov <dplotnikov@google.com> Full text search: adding common data types

Bug: 2078420
Change-Id: I0c48e1fef3473415d01280274599f0be5cc69b08
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
9a6be1610fdf40c2f7f04cfe4b66fde3a35940dc 20-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Making QSB query not return "Dial 777" when on a no-telephony device

Also, adding support for QSB search by phone number and
email address.

Bug: 3349545
Change-Id: Ib30cc05f1894a0a74c5dcd349affb367d82603fd
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
f266e8c568905337960b1fec5379841585af92a7 09-Dec-2010 Dmitri Plotnikov <dplotnikov@google.com> Excluding invisible contacts from aggregation

Bug: 3184559
Change-Id: If4b75548477cc296107d233fb6678c266fb0ca94
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
89ea0fad8212b989e0f64e8b07da2bf642b45d83 30-Nov-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing DirectoryTest

Bug: 3240412
Change-Id: I25d915b179be19e769b9f577fe21a1d9d0681206
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
f4015ab9ab7c26b766b5331fbf6655b8c54877ea 11-Nov-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing an issue with social status updates after a contact split

Bug: 3172848

Change-Id: Iea102c2751d48f6d0f0d78474ad664a24dc46602
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
c918b0d3ab17a45a392748f43956b927c83eb402 01-Sep-2010 Dmitri Plotnikov <dplotnikov@google.com> Improved ordering of email address autocomplete suggestions

Change-Id: Id59c2f40400eb7b3394ea6774ce48036859ecc86
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
892a3d9ded5c64a63ae3d5d5c52c59528b466c93 13-Aug-2010 Dmitri Plotnikov <dplotnikov@google.com> Improved the phone lookup and the phone filter

a. Altered the phone_lookup table to allow the rows with the same data_id.
b. Added E164 and normalized number for a phone number if it is applicable.
c. Improve the phone lookup by using the build in SQLite function.
d. Improve the phone filter by using 'Like filterparam%'

Change-Id: I1b23d0a10e46ef26467fb72528a7999d23e36c5e
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
09ae48b82b17e24016b14a1ab64706222ab1071f 11-Aug-2010 Dmitri Plotnikov <dplotnikov@google.com> Supplying a default projection to Directories

Change-Id: Ie0de59b99624252e4688113fcc6ff52ec75ac8e4
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
2d34c281a9b6ebb9db96fc9ac1092c46d5be6b57 18-Jul-2010 Vasu Nori <vnori@google.com> resolved conflicts for merge of aabcd1d3 to master

Change-Id: I458594d5ea2fd0735499b2d17aa4c35b81cb0077
aabcd1d34a71ad06ee0a9395331540484f1ceb17 15-Jul-2010 Vasu Nori <vnori@google.com> add chat_mode to presence_db tables: presence, aggregate_presence

Change-Id: I62fc49669217a6136e31164713dc25a5296721ef
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
2149ab82f021c204618d0d3644e261fd7a8d8490 05-May-2010 Dmitri Plotnikov <dplotnikov@google.com> Adding support for contact/lookup/*/#/data URIs

Change-Id: I941b6e9c7c47a30bbd975881ba755ba0c5862401
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
dd5c25c65f09ada246c826fb6d04f0b6d4cf4388 13-Apr-2010 Fred Quintana <fredq@google.com> move favorites and my contacts group handling to the provider and sync adapter

Change-Id: Ia2aa3b7d5ede8ce00adbd957a2cae5d89051cf4c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
767e109d6f08749b9ed202c0b71f3459eaae2115 26-Mar-2010 Dmitri Plotnikov <dplotnikov@google.com> Deprioritizing twitter pictures in contact aggregation

Discussed the solution with Tim Sullivan, got a Dr.No approval
for fixing the issue in FroYo and for the solution itself.

In two separate CLs we will set picture priorities for
Facebook (5) and Twitter (3)

Bug: 2535693
Change-Id: I3d90474d92b58db2845a43658845176260c24812
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
73f1f396c155b247b903d8f4111db17d3e13dc4d 19-Mar-2010 Dmitri Plotnikov <dplotnikov@google.com> Favoring editable contact name over read-only

Bug: 2528277
Change-Id: Ic67fa43eeb9dd215874450f1a78f16846b598d94
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
f5a847e8c93db02f3334dbc276debd90bdea5658 16-Mar-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing handling of aggregation mode

Aggregation mode was handled properly when each change
was in a separate transaction. This CL makes it
work the same when multiple changes are made
within a single transaction.

Change-Id: I39b3c6378f02b2468e559e9d5227809ab463aa2d
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
0265a180cf027d149f11f8750652ac67ea08ca24 05-Mar-2010 Dmitri Plotnikov <dplotnikov@google.com> Explicitly closing cursors and databases in ContactsProvider2 and related tests.

Change-Id: I70549b9517f38ae53fb59f60851f831768b87615
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
916f2d7104bfba857412a66b40ed60fea6546222 25-Feb-2010 Dmitri Plotnikov <dplotnikov@google.com> Adding support for contact search snippets

Bug: 2447965

Change-Id: Id531ca694173751392961510e1207215113b323d
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
f01c876a92b9c950a0450ed8b706ac5eb2c9b660 20-Jan-2010 Dmitri Plotnikov <dplotnikov@google.com> Support for the RawContacts.NAME_VERIFIED field.

Bug: 2164422
Change-Id: I144819b04bbdb506d9e582de490fd3aa42cb0682
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
2d2ec88b7af615b2f05e987da45425be9cace1ba 23-Dec-2009 Tom O'Neill <tomo@google.com> Contacts provider uses LOOKUP_KEY for search result IDs

The lookup key is more stable against merges, etc. than the contact ID,
so we are switching to that for the ID values used in search results.

Bug: 2294798
Change-Id: I09e03212828ec473b69968eb00d490785e15edbe
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
e246689441b2ff39cb97de277d6caeec95358863 13-Nov-2009 Jeff Sharkey <jsharkey@android.com> Require both or neither ACCOUNT_NAME and _TYPE.

In places where Accounts are used, this change enforces that
both or neither of name and type are provided. It changes
behavior of resolveAccount() to throw instead of returning
boolean.

Fixes http://b/2258771
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
5b3b3ec368625c07a2c94d2199a75099d4d9b8a9 19-Dec-2009 Tom O'Neill <tomo@google.com> Add GoldenContact, SuggestionTester and their builders.

Use builders in place of an assert method with many arguments, so it's
easier to see which argument has which value. In addition, separate the
creation of the contact from the testing of the global search. Hopefully
the builder for contact creation will be useful for other tests as well.

Change-Id: Idbc8571a37b9b116198f1e00da6b2ecd5a22235f
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
d076a108d58b30591f197e1b90fa8de60999c499 23-Oct-2009 Dmitri Plotnikov <dplotnikov@google.com> Removing contact aggregation scheduler. The aggregation is no longer running in a separate thread.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
0f5116227592cb8e724542c598daffa383964679 01-Oct-2009 Dmitri Plotnikov <dplotnikov@google.com> Making contacts provider tests run again

Change-Id: Ie85b0dd312368bf04e2343471265c51437dea6f1
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
8920a04b4a68ed6b548bcdef5ca8736dcf8b69b1 29-Sep-2009 Omari Stephens <xsdg@android.com> Update test documentation and suite classifications.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
b38ed2c5ffeb20efc677b4a9229db4a00603aa8d 29-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Renaming OpenHelper to ContactsDatabaseHelper

Change-Id: Iccdf1ebcd8a3ab430941c957f712bb9e7dd2706c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
82bd858c9911dfbd8dca52dc276333768b0a429e 28-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Adding columns to support attribution of status updates. Also renaming some columns to better describe their purpose.

Change-Id: I2018079e540dedb2be1b61671742bbe99e92619c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
a23cd5b6f478f6c9dda54173e84bd0098b9f3364 24-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Storing social status updates in a persistent table.

Change-Id: Ic6be86385a4e456ae164499aeec40900294fb118
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
a5d05d90333a70d471d78e82caeb5cfa2e4d4c59 21-Sep-2009 Tadashi G. Takaoka <takaoka@google.com> ContactProvider: Make nickname, company and title searchable.

If contact entry doesn't have a name, then nickname, company and title
are used as display name in order of preference.

Internal Bug: 1360100
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
0be993f8ef0078b9825a5ffe6add08a6786d8dac 21-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> [Issue 2133143] Updating contact visibility as group membership changes

Change-Id: I289bb688958c04f2dd6e89cd0096ece9ed279257
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
89c626eb655440c86a2e5df076e83708c1b32c17 17-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> [Issue 2125440] Checking account query parameters for all relevant queries

Change-Id: Idf0deeacb556b79ef94774a2cb65b7415b1dea5d
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
bce6ee29f2d971ceae2bfce85a06bb3ecec6537a 14-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> [Issue 2084032] Adding support for legacy URI: contacts/contact_methods/email

Change-Id: I9c2c62952b7d24d4e87db8b2c7037f49674276aa
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
81d6a78dffd57f24f9aaecb6cd54e4084c3c9846 11-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Reducing unnecessary triggering of sync adapters by ContactsProvider2

Change-Id: I280cd6d96a76e8df151ddb43b0f1b783501c4373
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
01911fa9cfa21f198fd767eedde072acbb879f28 09-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> [Issue 1789740] Ensuring that organization is used as a contact display name if name itself is unspecified
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
0c0adda32be5de3acf392ab715cff468b6b340f8 05-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Fixing contact aggregation exception API.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
af088aeb51685eed17580edc04b495d12232ecf9 04-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> Removing references to deprecated API
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
285b771bc955305fa6d49ca23f808cecc8a13d5e 03-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> [Issue 2092543] Making manually created contacts show in the list immediately.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
25abcf949c0dd826a770b437489b83de48975cea 02-Sep-2009 Dmitri Plotnikov <dplotnikov@google.com> [Issue 2084618] Making the contact aggregator favor better display names.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
5870f2dcc2ac7715b2c078a886ee346622e7887e 31-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Adding soft identity to Contacts
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
e2579e029472f76b2dfda141444d775c67da0ec8 28-Aug-2009 Cynthia Wong <cynthiaw@google.com> Use the account name and type when we are doing update and deletes on contacts in the provider. Added a test for the delete case.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
ff2de103f7e3eeeff4665ef63f07460fef053d6d 27-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Removing "summary"-style URIs.

We will determine whether to include Presence by looking at the requested projection.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
8e45e5f2142db78941b095f7418cc05b71668094 26-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Several changes in Contact Aggregation logic:

- The first request to aggregate will run immediately. The accumulation will only begin if
the following request shows up within 1/2 sec
- Reaggregation will no longer remove and reinsert Contacts. Once created, it will keep
the aggregate contact record. The only situations when it will be deleted is a join or
removal of all constituent raw contacts.
- Data updates and deletes will now trigger Contact update to keep names, photos etc
in sync with the constituent data.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
4dcd106ccc27dbbfaae86baf0cd57beb42c27ccc 21-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Cleaning up Presence API
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
e46667e641cd1c60998e1ccab4b60531d5b12ef7 21-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Introducing AGGREGATED_PRESENCE - thanks to JSharkey for the idea.

This new DB table is maintained in memory and summarizes the presence
status and custom status for each (aggregate) contact. With the help
of this table, we avoid having to do GROUP BY and MAX(status) when
running contacts summary queries. An added benefit is that
we can now get the latest custom status update as part of the
summary query.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
df9fd6b239de5829b04cb413e4dfa3e6da649c38 17-Aug-2009 Fred Quintana <fredq@google.com> fixup after merge from master
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
b58058243bcd4405ad5ba5c3a465c46a35182ff7 14-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Merge from master (21282 and 21283)
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
2482dd0309794d57233d0af37a7c12fc647e7bf9 12-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Aggregation optimization: updating all Contacts attributes with a single pass over raw contacts.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
4a023070dab9a069be4cac5f5ba5554b66238484 08-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Hiding security constraints in SQL VIEWS - first cut.

This CL serves two purposes:
1. We hide the restriction checking inside SQL VIEWs, which will prevent security attacks like passing ") OR(1" for selection
2. We gain the ability to use unqualified column names in selections - all columns on a VIEW have unique names.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
3d8b043c3341a5b6c2e781b7eba9767d5cd13267 05-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Contact conversion script, initial cut
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
3cfe8d532d509fbbe605454e3a32b2361b7e1501 04-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Adding columns SYNC1-4 and fixing tests.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
a908fb5f39aa2021662a6cc317cc7e4db2d8bfb0 04-Aug-2009 Dmitri Plotnikov <dplotnikov@google.com> Breaking global search support into a separate class and limiting search results to visible contacts only.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
c70dc0e38ff82c6e6d6b7458637c54fbdf446aac 31-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Reimplementing global search integration in ContactsProvider2.

Also fixing bugs in the area of logical deletion of raw contacts and their exclusion from further aggregation.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
e99988b266dd1263162583e81e2b408e7329b1c8 29-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Extracting call log implementation out of the legacy contacts provider.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
226c3dc6e93ca76a84c99100caa31045cba06cf6 28-Jul-2009 Fred Quintana <fredq@google.com> - test that query entities works
- add a view for the contacts entities query to hide the internal column names from user-provided where clauses
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
d3fde755e73cd3912a488e7cb7d412d3c5f6ca94 28-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> ContactsProvider2: Renaming Aggregates to Contacts
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
5ef0401c311c62e53bde415b99cbb0ff83b0a9a2 28-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> ContactsProvider2: Renaming CONTACT_ID to RAW_CONTACT_ID
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
33b41fdb8d7c3c654cb070799c9d6e2b4ab16078 27-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Implementing Raw Contact deletion.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
6cffee46a1334d2b3ed19f436b27638451541044 27-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Changing Contacts to RawContacts.

The renaming will be done in baby steps and in the
order of priorities.

Step 1: Contacts->RawContacts and deprecate Contacts
Step 2: Once all is converted, remove Contacts
Step 3: Aggregates->Contacts, including comments in the API
Step 4: Tables and fields
Step 5: Comments in the implementation code

Intermediate steps will be pretty ugly, but the result will be glamorous. I hope you are all still ok with "RawContacts"
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
445ca81effbb0d61c7bc0033acf2d3dfd228fd4e 25-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Implementing compatibility mode for contact filtering
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
20a94c86ede7380c8dd8df2f6a72b3c00ac1bed8 24-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Fixing bulk update and delete of contacts data.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
67dde51ab932dc84d95a203b113989b13437f13d 21-Jul-2009 Jeff Sharkey <jsharkey@android.com> Hard-coded IS_RESTRICTED exceptions, move to RES_PACKAGE.

The current RestrictionException API wasn't final enough to
reveal in the next platform release, and is only being used
by a single party. In addition, the original approach
required the sync adapter to assert any granted exceptions
during each update pass. There was also additional overhead
of watching for PACKAGE_ADDED and PACKAGE_REMOVED broadcasts
for clearing any applicable exceptions.

Finally, since this is a critical security element, we
really wanted to avoid storing the exceptions in another
SQL table that may be altered through an unknown SQL
attack vector. For now, the packages granted IS_RESTRICTED
access should be manually entered in sAllowedPackages.

This change also cleans up some projection mappings, and
minor fixed to prepare for a pending framework change.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
3cebbf7141252768d3e272e049e9c5b0cb9d710e 17-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Work in progress: introducing DataRowHandlers in ContactsProvider2.

1. Introducing DataRowHandlers
2. Adding DISPLAY_NAME to Contact for maintaining
a backwards compatible behavior
3. Implementing compatible DISPLAY_NAME behavior
4. Fixing handling of null display name
5. Implementing primary Organization
6. Implementing compatibility mode for Organization
7. Adding "delete" to compatibility support
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
9261b2141aa90a4fed632fd6da03026d4c216280 14-Jul-2009 Fred Quintana <fredq@google.com> - add the DIRTY and VERSION columns to the ContactsProvider2 Groups contract
- make the CP2 allow adding group membership rows with only a sourceid
in which case it will lookup the group row id, creating a group row
if necessary
- added test cases
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
ae6ca1f34cf5458d79ec803411d4308879a91e92 13-Jul-2009 Evan Millar <emillar@google.com> Chooses one photo to represent the aggregate.

This implementation simply chooses a random* photo from the first
account when sorted by account_name. We may want to make this more
intelligent before release.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
bee1a6b2e7cbea778195890e442c9e50f2a4e6d9 11-Jul-2009 Dmitri Plotnikov <dplotnikov@google.com> Initial cut of legacy public API unit test.
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java
28f8857b1b46bde18b85c6d3c2a63ac44c3c2e1c 08-Jul-2009 Evan Millar <emillar@google.com> Merge commit 'goog/eclair-dev' into merge3

Merged the new contacts content provider into goog/master. The old and
new content providers now live side by side under separate authorities.

Conflicts:
Android.mk
AndroidManifest.xml
res/values/strings.xml