summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZheng Fu <zhengfu@google.com>2015-07-18 00:35:58 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-07-18 00:35:58 +0000
commit4f1e51fe2b0c8236ec71f5adfc10513b2a8e36b7 (patch)
tree9cd106170b43fa416d3745096d84141048251033
parent724455322098713441c3e923166e54e3f4186d8e (diff)
parent8879cc753ec8a9003e896c0f86fdeeefa705ca9e (diff)
downloadpackages_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.
-rw-r--r--src/com/android/providers/contacts/aggregation/AbstractContactAggregator.java2
-rw-r--r--src/com/android/providers/contacts/aggregation/ContactAggregator2.java2
-rw-r--r--tests/src/com/android/providers/contacts/ContactsProvider2Test.java24
-rw-r--r--tests/src/com/android/providers/contacts/testutil/DatabaseAsserts.java15
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.
*