From 7208018097ebc6133591e6422eef16573e50387c Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Sun, 6 Apr 2014 01:58:38 +0100 Subject: [PATCH] Clear search when opening the drawer Before this change opening the drawer while a filter was active would hide the search bar but keep the conversation list filtered, so there was no indication of an active filter. --- .../securesms/ConversationListActivity.java | 1 + .../securesms/ConversationListFragment.java | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationListActivity.java b/src/org/thoughtcrime/securesms/ConversationListActivity.java index 4531d1a788..fb249560c7 100644 --- a/src/org/thoughtcrime/securesms/ConversationListActivity.java +++ b/src/org/thoughtcrime/securesms/ConversationListActivity.java @@ -325,6 +325,7 @@ public class ConversationListActivity extends PassphraseRequiredSherlockFragment public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); + fragment.resetQueryFilter(); invalidateOptionsMenu(); } diff --git a/src/org/thoughtcrime/securesms/ConversationListFragment.java b/src/org/thoughtcrime/securesms/ConversationListFragment.java index 50ee0164c1..a6c6957953 100644 --- a/src/org/thoughtcrime/securesms/ConversationListFragment.java +++ b/src/org/thoughtcrime/securesms/ConversationListFragment.java @@ -39,6 +39,7 @@ import org.thoughtcrime.securesms.database.loaders.ConversationListLoader; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.recipients.Recipients; import org.thoughtcrime.securesms.util.Dialogs; +import org.whispersystems.textsecure.util.Util; import com.actionbarsherlock.app.SherlockListFragment; import com.actionbarsherlock.view.ActionMode; @@ -125,13 +126,23 @@ public class ConversationListFragment extends SherlockListFragment } } + private void setQueryFilter(String query) { + this.queryFilter = query; + getLoaderManager().restartLoader(0, null, this); + } + + public void resetQueryFilter() { + if (!Util.isEmpty(this.queryFilter)) { + setQueryFilter(""); + } + } + private void initializeSearch(SearchView searchView) { searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { if (isAdded()) { - ConversationListFragment.this.queryFilter = query; - ConversationListFragment.this.getLoaderManager().restartLoader(0, null, ConversationListFragment.this); + setQueryFilter(query); return true; } return false;