summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZheng Fu <zhengfu@google.com>2015-06-09 17:05:14 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-06-09 17:05:14 +0000
commitcf6adcbba1739c8ac88aeca3411f7fa4853b9005 (patch)
tree85c21f19d21d216e3402fdf3ce88be32ca668607
parentbf22e99e2f97a114350ab7d03185254714d88e2b (diff)
parent039259f7a3fa9cb11e891c878728b6cc0bc80f25 (diff)
downloadpackages_providers_ContactsProvider-cf6adcbba1739c8ac88aeca3411f7fa4853b9005.zip
packages_providers_ContactsProvider-cf6adcbba1739c8ac88aeca3411f7fa4853b9005.tar.gz
packages_providers_ContactsProvider-cf6adcbba1739c8ac88aeca3411f7fa4853b9005.tar.bz2
am 039259f7: Merge "Roll out new aggregator to limited dogfooders." into mnc-dev
* commit '039259f7a3fa9cb11e891c878728b6cc0bc80f25': Roll out new aggregator to limited dogfooders.
-rw-r--r--src/com/android/providers/contacts/ContactsProvider2.java11
-rw-r--r--tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java8
2 files changed, 18 insertions, 1 deletions
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index 72512b7..c881c65 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -276,7 +276,11 @@ public class ContactsProvider2 extends AbstractContactsProvider
private static final String PREF_LOCALE = "locale";
- private static final int PROPERTY_AGGREGATION_ALGORITHM_VERSION = 4;
+ private static int PROPERTY_AGGREGATION_ALGORITHM_VERSION;
+
+ private static final int AGGREGATION_ALGORITHM_OLD_VERSION = 4;
+
+ private static final int AGGREGATION_ALGORITHM_NEW_VERSION = 5;
private static final String AGGREGATE_CONTACTS = "sync.contacts.aggregate";
@@ -1602,6 +1606,11 @@ public class ContactsProvider2 extends AbstractContactsProvider
int value = android.provider.Settings.Global.getInt(context.getContentResolver(),
Global.NEW_CONTACT_AGGREGATOR, 0);
+
+ // Turn on aggregation algorithm updating process if new aggregator is enabled.
+ PROPERTY_AGGREGATION_ALGORITHM_VERSION = (value == 0)
+ ? AGGREGATION_ALGORITHM_OLD_VERSION
+ : AGGREGATION_ALGORITHM_NEW_VERSION;
mContactAggregator = (value == 0)
? new ContactAggregator(this, mContactsHelper,
createPhotoPriorityResolver(context), mNameSplitter, mCommonNicknameCache)
diff --git a/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java b/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
index 58a7a6e..3b59cdb 100644
--- a/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
+++ b/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
@@ -37,6 +37,7 @@ import android.test.MoreAsserts;
import android.test.suitebuilder.annotation.MediumTest;
import com.android.providers.contacts.BaseContactsProvider2Test;
+import com.android.providers.contacts.ContactsProvider2;
import com.android.providers.contacts.TestUtils;
import com.android.providers.contacts.tests.R;
import com.android.providers.contacts.testutil.DataUtil;
@@ -67,6 +68,13 @@ public class ContactAggregatorTest extends BaseContactsProvider2Test {
AggregationExceptions.RAW_CONTACT_ID2
};
+ protected void setUp() throws Exception {
+ super.setUp();
+ final ContactsProvider2 cp = (ContactsProvider2) getProvider();
+ // Make sure to use ContactAggregator.java class
+ cp.setNewAggregatorForTest(false);
+ }
+
public void testCrudAggregationExceptions() throws Exception {
long rawContactId1 = RawContactUtil.createRawContactWithName(mResolver, "zz", "top");
long rawContactId2 = RawContactUtil.createRawContactWithName(mResolver, "aa", "bottom");