Trigger update of IN_VISIBLE_GROUP when inserting Group.
Also fix minor bug where we didn't persist dirty flag set
in updatedValues.
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index 0349bf6..55d82ff 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -1604,7 +1604,13 @@
overriddenValues.put(Groups.DIRTY, 1);
}
- return mDb.insert(Tables.GROUPS, Groups.TITLE, overriddenValues);
+ long result = mDb.insert(Tables.GROUPS, Groups.TITLE, overriddenValues);
+
+ if (overriddenValues.containsKey(Groups.GROUP_VISIBLE)) {
+ mOpenHelper.updateAllVisible();
+ }
+
+ return result;
}
private long insertSettings(ContentValues values) {
@@ -1966,10 +1972,10 @@
updatedValues = values;
}
- int count = mDb.update(Tables.GROUPS, values, selectionWithId, selectionArgs);
+ int count = mDb.update(Tables.GROUPS, updatedValues, selectionWithId, selectionArgs);
// If changing visibility, then update contacts
- if (values.containsKey(Groups.GROUP_VISIBLE)) {
+ if (updatedValues.containsKey(Groups.GROUP_VISIBLE)) {
mOpenHelper.updateAllVisible();
}
return count;