Fixing bug with query string change
To repro the bug, click on search, enter "a", backspace "b"
The result will be for the filter "a".
This CL fixes the problem
Change-Id: Ie85ff4945de4ebbe623dee4a8430dac73c52f0cb
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index 2247d93..3dfbfa5 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -224,6 +224,10 @@
return mSavedStateByMode.get(mode);
}
+ public void clearSavedState(int mode) {
+ mSavedStateByMode.remove(mode);
+ }
+
public void onSaveInstanceState(Bundle outState) {
outState.putInt(EXTRA_KEY_DEFAULT_MODE, mDefaultMode);
outState.putInt(EXTRA_KEY_MODE, mMode);
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index c73f5cd..b198fc0 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -212,14 +212,14 @@
}
}
- if (mMode == ContactBrowserMode.MODE_SEARCH) {
- mListFragment.setQueryString(mActionBarAdapter.getQueryString());
- }
-
if (mHasActionBar) {
Bundle savedStateForMode = mActionBarAdapter.getSavedStateForMode(mMode);
if (savedStateForMode != null) {
mListFragment.restoreSavedState(savedStateForMode);
+ mActionBarAdapter.clearSavedState(mMode);
+ }
+ if (mMode == ContactBrowserMode.MODE_SEARCH) {
+ mListFragment.setQueryString(mActionBarAdapter.getQueryString());
}
}