Fixing per-filter selection persistence on orientation change
Change-Id: I7706f768ec60506e24ffd96932d6c637b91b8234
diff --git a/src/com/android/contacts/list/ContactBrowseListFragment.java b/src/com/android/contacts/list/ContactBrowseListFragment.java
index 3d5e63f..6f06c82 100644
--- a/src/com/android/contacts/list/ContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/ContactBrowseListFragment.java
@@ -171,6 +171,7 @@
mFilter = filter;
saveFilter();
+ mSelectedContactUri = null;
restoreSelectedUri(true);
reloadData();
}
@@ -206,6 +207,7 @@
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
+ outState.putBoolean(KEY_PERSISTENT_SELECTION_ENABLED, mPersistentSelectionEnabled);
outState.putBoolean(KEY_FILTER_ENABLED, mFilterEnabled);
outState.putParcelable(KEY_FILTER, mFilter);
outState.putParcelable(KEY_SELECTED_URI, mSelectedContactUri);
@@ -310,7 +312,7 @@
if (adapter != null) {
adapter.setSelectedContact(
mSelectedContactDirectoryId, mSelectedContactLookupKey);
- adapter.notifyDataSetChanged();
+ getListView().invalidateViews();
}
}
@@ -408,7 +410,7 @@
requestSelectionToScreen();
}
- adapter.notifyDataSetChanged();
+ getListView().invalidateViews();
if (mListener != null) {
mListener.onSelectionChange();