diff options
author | Zheng Fu <zhengfu@google.com> | 2015-07-18 00:35:58 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-07-18 00:35:58 +0000 |
commit | 4f1e51fe2b0c8236ec71f5adfc10513b2a8e36b7 (patch) | |
tree | 9cd106170b43fa416d3745096d84141048251033 | |
parent | 724455322098713441c3e923166e54e3f4186d8e (diff) | |
parent | 8879cc753ec8a9003e896c0f86fdeeefa705ca9e (diff) | |
download | packages_providers_ContactsProvider-4f1e51fe2b0c8236ec71f5adfc10513b2a8e36b7.tar.gz packages_providers_ContactsProvider-4f1e51fe2b0c8236ec71f5adfc10513b2a8e36b7.tar.bz2 packages_providers_ContactsProvider-4f1e51fe2b0c8236ec71f5adfc10513b2a8e36b7.zip |
am 8879cc75: am e5bd832d: Fix failing tests due to logic changes in the new aggregator.
* commit '8879cc753ec8a9003e896c0f86fdeeefa705ca9e':
Fix failing tests due to logic changes in the new aggregator.
4 files changed, 31 insertions, 12 deletions
diff --git a/src/com/android/providers/contacts/aggregation/AbstractContactAggregator.java b/src/com/android/providers/contacts/aggregation/AbstractContactAggregator.java index c18c1d61..5895f513 100644 --- a/src/com/android/providers/contacts/aggregation/AbstractContactAggregator.java +++ b/src/com/android/providers/contacts/aggregation/AbstractContactAggregator.java @@ -867,8 +867,6 @@ public abstract class AbstractContactAggregator { contactId = mContactInsert.executeInsert(); } for (Long rawContactId : rawContactIds) { - // Regrouped contacts should automatically be unpinned. - unpinRawContact(rawContactId); setContactIdAndMarkAggregated(rawContactId, contactId); setPresenceContactId(rawContactId, contactId); } diff --git a/src/com/android/providers/contacts/aggregation/ContactAggregator2.java b/src/com/android/providers/contacts/aggregation/ContactAggregator2.java index 9beb6c2a..5372bbdb 100644 --- a/src/com/android/providers/contacts/aggregation/ContactAggregator2.java +++ b/src/com/android/providers/contacts/aggregation/ContactAggregator2.java @@ -340,7 +340,7 @@ public class ContactAggregator2 extends AbstractContactAggregator { contactId = currentCidForRawContact; for (Long connectedRawContactId : connectedRawContactIds) { Long cid = matchingCandidates.getContactId(connectedRawContactId); - if (cid != null && cid != contactId) { + if (cid != null && !cid.equals(contactId)) { cidsNeedToBeUpdated.add(cid); } } diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java index 4f05f885..70727636 100644 --- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java +++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java @@ -8568,12 +8568,18 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { } public void testPinnedPositionsAfterJoinAndSplit() { - final DatabaseAsserts.ContactIdPair i1 = DatabaseAsserts.assertAndCreateContact(mResolver); - final DatabaseAsserts.ContactIdPair i2 = DatabaseAsserts.assertAndCreateContact(mResolver); - final DatabaseAsserts.ContactIdPair i3 = DatabaseAsserts.assertAndCreateContact(mResolver); - final DatabaseAsserts.ContactIdPair i4 = DatabaseAsserts.assertAndCreateContact(mResolver); - final DatabaseAsserts.ContactIdPair i5 = DatabaseAsserts.assertAndCreateContact(mResolver); - final DatabaseAsserts.ContactIdPair i6 = DatabaseAsserts.assertAndCreateContact(mResolver); + final DatabaseAsserts.ContactIdPair i1 = DatabaseAsserts.assertAndCreateContactWithName( + mResolver, "A", "Smith"); + final DatabaseAsserts.ContactIdPair i2 = DatabaseAsserts.assertAndCreateContactWithName( + mResolver, "B", "Smith"); + final DatabaseAsserts.ContactIdPair i3 = DatabaseAsserts.assertAndCreateContactWithName( + mResolver, "C", "Smith"); + final DatabaseAsserts.ContactIdPair i4 = DatabaseAsserts.assertAndCreateContactWithName( + mResolver, "D", "Smith"); + final DatabaseAsserts.ContactIdPair i5 = DatabaseAsserts.assertAndCreateContactWithName( + mResolver, "E", "Smith"); + final DatabaseAsserts.ContactIdPair i6 = DatabaseAsserts.assertAndCreateContactWithName( + mResolver, "F", "Smith"); final ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>(); @@ -8643,7 +8649,7 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { // raw contacts should be unpinned after being split, but still starred assertStoredValuesWithProjection(RawContacts.CONTENT_URI, - cv(RawContacts._ID, i1.mRawContactId, RawContacts.PINNED, PinnedPositions.UNPINNED, + cv(RawContacts._ID, i1.mRawContactId, RawContacts.PINNED, 1, RawContacts.STARRED, 1), cv(RawContacts._ID, i2.mRawContactId, RawContacts.PINNED, 2, RawContacts.STARRED, 1), @@ -8668,7 +8674,7 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { final long cId4 = RawContactUtil.queryContactIdByRawContactId(mResolver, i4.mRawContactId); assertStoredValuesWithProjection(Contacts.CONTENT_URI, - cv(Contacts._ID, cId1, Contacts.PINNED, PinnedPositions.UNPINNED), + cv(Contacts._ID, cId1, Contacts.PINNED, 1), cv(Contacts._ID, i2.mContactId, Contacts.PINNED, 2), cv(Contacts._ID, cId4, Contacts.PINNED, PinnedPositions.UNPINNED), cv(Contacts._ID, i5.mContactId, Contacts.PINNED, PinnedPositions.DEMOTED), @@ -8681,7 +8687,7 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { // The resulting contact should have a pinned value of 6 assertStoredValuesWithProjection(Contacts.CONTENT_URI, - cv(Contacts._ID, cId1, Contacts.PINNED, PinnedPositions.UNPINNED), + cv(Contacts._ID, cId1, Contacts.PINNED, 1), cv(Contacts._ID, i2.mContactId, Contacts.PINNED, 2), cv(Contacts._ID, cId4, Contacts.PINNED, PinnedPositions.UNPINNED), cv(Contacts._ID, i5.mContactId, Contacts.PINNED, 6) diff --git a/tests/src/com/android/providers/contacts/testutil/DatabaseAsserts.java b/tests/src/com/android/providers/contacts/testutil/DatabaseAsserts.java index ac4df17f..2af98299 100644 --- a/tests/src/com/android/providers/contacts/testutil/DatabaseAsserts.java +++ b/tests/src/com/android/providers/contacts/testutil/DatabaseAsserts.java @@ -64,6 +64,21 @@ public class DatabaseAsserts { } /** + * Create a contact with name and assert that the record exists. + * + * @return The created contact id pair. + */ + public static ContactIdPair assertAndCreateContactWithName(ContentResolver resolver, + String firstName, String lastName) { + long rawContactId = RawContactUtil.createRawContactWithName(resolver, firstName, lastName); + + long contactId = RawContactUtil.queryContactIdByRawContactId(resolver, rawContactId); + MoreAsserts.assertNotEqual(CommonDatabaseUtils.NOT_FOUND, contactId); + + return new ContactIdPair(contactId, rawContactId); + } + + /** * Asserts that a contact id was deleted, has a delete log, and that log has a timestamp greater * than the given timestamp. * |