Add ContactsContract.CALLER_IS_SYNCADAPTER query parameter to the
ContentProviderOperation which updates group display/should_sync values.
Partly fixes 2093578
diff --git a/src/com/android/contacts/ui/DisplayGroupsActivity.java b/src/com/android/contacts/ui/DisplayGroupsActivity.java
index 7bd7b9d..ce68dcb 100644
--- a/src/com/android/contacts/ui/DisplayGroupsActivity.java
+++ b/src/com/android/contacts/ui/DisplayGroupsActivity.java
@@ -299,7 +299,7 @@
} else if (isUpdate()) {
// When has changes and "before" exists, then "update"
final Builder builder = ContentProviderOperation
- .newUpdate(mUngrouped ? Settings.CONTENT_URI : Groups.CONTENT_URI);
+ .newUpdate(mUngrouped ? Settings.CONTENT_URI : addCallerIsSyncAdapterParameter(Groups.CONTENT_URI));
if (mUngrouped) {
builder.withSelection(Settings.ACCOUNT_NAME + "=? AND " + Settings.ACCOUNT_TYPE
+ "=?", new String[] {
@@ -323,6 +323,12 @@
}
}
+ private static Uri addCallerIsSyncAdapterParameter(Uri uri) {
+ return uri.buildUpon()
+ .appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true")
+ .build();
+ }
+
/**
* {@link Comparator} to sort by {@link Groups#_ID}.
*/