When a GROUP_SOURCE_ID is the only value provided, usually
while a sync is still going on, allow it to remain when a
valid ROW_ID is present. Fixes http://b/
2222283
import android.provider.ContactsContract;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
+import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
import android.util.Log;
import android.view.View;
if (mAfter != null) {
values.putAll(mAfter);
}
- values.remove(ContactsContract.CommonDataKinds.GroupMembership.GROUP_SOURCE_ID);
+ if (values.containsKey(GroupMembership.GROUP_ROW_ID)) {
+ // Clear to avoid double-definitions, and prefer rows
+ values.remove(GroupMembership.GROUP_SOURCE_ID);
+ }
+
return values;
}