diff options
author | Chiao Cheng <chiaocheng@google.com> | 2013-03-04 18:12:57 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-03-04 18:12:58 +0000 |
commit | 659016dd6a7ac6659d978c45d91400e4627afe6b (patch) | |
tree | d2da9b865cc3454b787d43b2db5a5f4a279af3a0 /tests/src/com/android/providers/contacts | |
parent | 21cfa6019b9fb82c23edf978d27904757207d9b0 (diff) | |
parent | c6e28121e4c522c31c96e0ea97b66012cc571160 (diff) | |
download | packages_providers_ContactsProvider-659016dd6a7ac6659d978c45d91400e4627afe6b.zip packages_providers_ContactsProvider-659016dd6a7ac6659d978c45d91400e4627afe6b.tar.gz packages_providers_ContactsProvider-659016dd6a7ac6659d978c45d91400e4627afe6b.tar.bz2 |
Merge "Reverting is_primary sort order back to previous priority." into jb-mr2-dev
Diffstat (limited to 'tests/src/com/android/providers/contacts')
-rw-r--r-- | tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java | 13 | ||||
-rw-r--r-- | tests/src/com/android/providers/contacts/ContactsProvider2Test.java | 30 |
2 files changed, 41 insertions, 2 deletions
diff --git a/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java b/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java index 3759196..384d547 100644 --- a/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java +++ b/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java @@ -335,8 +335,18 @@ public abstract class BaseContactsProvider2Test extends PhotoLoadingTestCase { return insertEmail(rawContactId, email, primary, Email.TYPE_HOME, null); } + protected Uri insertEmail(long rawContactId, String email, boolean primary, + boolean superPrimary) { + return insertEmail(rawContactId, email, primary, superPrimary, Email.TYPE_HOME, null); + } + protected Uri insertEmail(long rawContactId, String email, boolean primary, int type, String label) { + return insertEmail(rawContactId, email, primary, false, type, label); + } + + protected Uri insertEmail(long rawContactId, String email, boolean primary, + boolean superPrimary, int type, String label) { ContentValues values = new ContentValues(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE); @@ -346,6 +356,9 @@ public abstract class BaseContactsProvider2Test extends PhotoLoadingTestCase { if (primary) { values.put(Data.IS_PRIMARY, 1); } + if (superPrimary) { + values.put(Data.IS_SUPER_PRIMARY, 1); + } Uri resultUri = mResolver.insert(Data.CONTENT_URI, values); return resultUri; diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java index 9bcf54c..a00017e 100644 --- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java +++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java @@ -1800,11 +1800,11 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { /** * Test "default" emails are sorted above emails used last. */ - public void testEmailFilterDefaultOverUsageSort() { + public void testEmailFilterSuperPrimaryOverUsageSort() { final long rawContactId = createRawContact(ACCOUNT_1); final Uri emailUri1 = insertEmail(rawContactId, "account1@testemail.com"); final Uri emailUri2 = insertEmail(rawContactId, "account2@testemail.com"); - insertEmail(rawContactId, "account3@testemail.com", true); + insertEmail(rawContactId, "account3@testemail.com", true, true); // Update account1 and account 2 to have higher usage. updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri1); @@ -1820,6 +1820,32 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { assertStoredValuesOrderly(filterUri, v3, v1, v2); } + /** + * Test primary emails are sorted below emails used last. + * + * primary may be set without super primary. Only super primary indicates "default" in the + * contact ui. + */ + public void testEmailFilterUsageOverPrimarySort() { + final long rawContactId = createRawContact(ACCOUNT_1); + final Uri emailUri1 = insertEmail(rawContactId, "account1@testemail.com"); + final Uri emailUri2 = insertEmail(rawContactId, "account2@testemail.com"); + insertEmail(rawContactId, "account3@testemail.com", true); + + // Update account1 and account 2 to have higher usage. + updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri1); + updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri1); + updateDataUsageFeedback(DataUsageFeedback.USAGE_TYPE_LONG_TEXT, emailUri2); + + final ContentValues v1 = cv(Email.ADDRESS, "account1@testemail.com"); + final ContentValues v2 = cv(Email.ADDRESS, "account2@testemail.com"); + final ContentValues v3 = cv(Email.ADDRESS, "account3@testemail.com"); + + // Test that account 3 is first even though account 1 and 2 have higher usage. + Uri filterUri = Uri.withAppendedPath(Email.CONTENT_FILTER_URI, "acc"); + assertStoredValuesOrderly(filterUri, v1, v2, v3); + } + /** Tests {@link DataUsageFeedback} correctly promotes a data row instead of a raw contact. */ public void testEmailFilterSortOrderWithFeedback() { long rawContactId1 = createRawContact(); |