Handle settings update case for data_set.

Bug 5156004

Change-Id: Idd1455f9bd98ca3607e64546e9ba6c77ea9a2f61
diff --git a/src/com/android/contacts/list/CustomContactListFilterActivity.java b/src/com/android/contacts/list/CustomContactListFilterActivity.java
index 638a28e..d5395bd 100644
--- a/src/com/android/contacts/list/CustomContactListFilterActivity.java
+++ b/src/com/android/contacts/list/CustomContactListFilterActivity.java
@@ -373,13 +373,21 @@
                 }
             } else if (isUpdate()) {
                 if (mUngrouped) {
+                    String accountName = this.getAsString(Settings.ACCOUNT_NAME);
+                    String accountType = this.getAsString(Settings.ACCOUNT_TYPE);
+                    String dataSet = this.getAsString(Settings.DATA_SET);
+                    StringBuilder selection = new StringBuilder(Settings.ACCOUNT_NAME + "=? AND "
+                            + Settings.ACCOUNT_TYPE + "=?");
+                    String[] selectionArgs;
+                    if (dataSet == null) {
+                        selection.append(" AND " + Settings.DATA_SET + " IS NULL");
+                        selectionArgs = new String[] {accountName, accountType};
+                    } else {
+                        selection.append(" AND " + Settings.DATA_SET + "=?");
+                        selectionArgs = new String[] {accountName, accountType, dataSet};
+                    }
                     return ContentProviderOperation.newUpdate(Settings.CONTENT_URI)
-                            .withSelection(Settings.ACCOUNT_NAME + "=? AND "
-                                    + Settings.ACCOUNT_TYPE + "=?",
-                                    new String[] {
-                                        this.getAsString(Settings.ACCOUNT_NAME),
-                                        this.getAsString(Settings.ACCOUNT_TYPE)
-                                    })
+                            .withSelection(selection.toString(), selectionArgs)
                             .withValues(mAfter)
                             .build();
                 } else {