Skip to content

Commit 59a0a86

Browse files
Lonamigsantner
authored andcommitted
Fix search not being preserved when switching tabs
1 parent 6d6c49f commit 59a0a86

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

app/src/main/java/io/github/gsantner/memetastic/activity/MainActivity.java

+12-5
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ public class MainActivity extends AppCompatActivity
122122
private long _lastInfoBarTextShownAt = 0;
123123
private SearchView _searchView;
124124
private MenuItem _searchItem;
125+
private String _currentSearch = "";
125126

126127
@Override
127128
protected void onCreate(Bundle savedInstanceState) {
@@ -281,6 +282,7 @@ public void onBackPressed() {
281282
_drawer.closeDrawer(GravityCompat.START);
282283
} else if (!_searchView.isIconified()) {
283284
_searchView.setIconified(true);
285+
updateSearchFilter("");
284286
} else {
285287
super.onBackPressed();
286288
}
@@ -376,13 +378,19 @@ public boolean handleBarClick(MenuItem item) {
376378
return true;
377379
}
378380

379-
private void setRecyclerMemeListAdapter(RecyclerView.Adapter adapter) {
381+
private void setRecyclerMemeListAdapter(MemeItemAdapter adapter) {
382+
adapter.setFilter(_currentSearch);
380383
_recyclerMemeList.setAdapter(adapter);
381384
boolean isEmpty = adapter.getItemCount() == 0;
382385
_emptylistLayout.setVisibility(isEmpty ? View.VISIBLE : View.GONE);
383386
_recyclerMemeList.setVisibility(isEmpty ? View.GONE : View.VISIBLE);
384387
}
385388

389+
private void updateSearchFilter(String newFilter) {
390+
_currentSearch = newFilter;
391+
((MemeItemAdapter) _recyclerMemeList.getAdapter()).setFilter(newFilter);
392+
}
393+
386394
@Override
387395
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
388396
super.onActivityResult(requestCode, resultCode, data);
@@ -657,17 +665,15 @@ public boolean onCreateOptionsMenu(final Menu menu) {
657665
@Override
658666
public boolean onQueryTextSubmit(String query) {
659667
if (query != null) {
660-
MemeItemAdapter adapter = (MemeItemAdapter) _recyclerMemeList.getAdapter();
661-
adapter.setFilter(query);
668+
updateSearchFilter(query);
662669
}
663670
return false;
664671
}
665672

666673
@Override
667674
public boolean onQueryTextChange(String newText) {
668675
if (newText != null) {
669-
MemeItemAdapter adapter = (MemeItemAdapter) _recyclerMemeList.getAdapter();
670-
adapter.setFilter(newText);
676+
updateSearchFilter(newText);
671677
}
672678
return false;
673679
}
@@ -677,6 +683,7 @@ public boolean onQueryTextChange(String newText) {
677683
public void onFocusChange(View v, boolean hasFocus) {
678684
if (!hasFocus) {
679685
_searchItem.collapseActionView();
686+
updateSearchFilter("");
680687
}
681688
}
682689
});

0 commit comments

Comments
 (0)