Skip to content

Commit 4929275

Browse files
authored
Merge pull request #629 from wallabag/fix_selected_tag_in_ui
Set selected tag in UI when restoring main activity
2 parents 0c62559 + b33d7d5 commit 4929275

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public class MainActivity extends AppCompatActivity
6363
private static final String STATE_SAVED_FRAGMENT_STATES = "saved_fragment_states";
6464
private static final String STATE_CURRENT_FRAGMENT = "active_fragment";
6565
private static final String STATE_SEARCH_QUERY = "search_query";
66+
private static final String STATE_SELECTED_TAG = "selected_tag";
6667

6768
private static final String FRAGMENT_ARTICLE_LISTS = "fragment_article_lists";
6869
private static final String FRAGMENT_TAG_LIST = "fragment_tag_list";
@@ -99,7 +100,7 @@ public class MainActivity extends AppCompatActivity
99100
private String searchQuery;
100101
private String searchQueryPrevious;
101102
private boolean searchUIPending;
102-
private Tag selectedTag;
103+
private String selectedTag;
103104

104105
@Override
105106
protected void onCreate(Bundle savedInstanceState) {
@@ -184,6 +185,8 @@ private void updateTime() {
184185

185186
currentFragmentType = savedInstanceState.getString(STATE_CURRENT_FRAGMENT);
186187

188+
selectedTag = savedInstanceState.getString(STATE_SELECTED_TAG);
189+
187190
performSearch(savedInstanceState.getString(STATE_SEARCH_QUERY));
188191
}
189192
if(searchQuery == null) performSearch("");
@@ -195,6 +198,7 @@ private void updateTime() {
195198
} else {
196199
currentFragment = getSupportFragmentManager().findFragmentByTag(currentFragmentType);
197200
this.currentFragmentType = currentFragmentType;
201+
updateNavigationUI(currentFragmentType);
198202
}
199203

200204
EventBus.getDefault().register(this);
@@ -233,6 +237,7 @@ protected void onSaveInstanceState(Bundle outState) {
233237
}
234238

235239
outState.putString(STATE_CURRENT_FRAGMENT, currentFragmentType);
240+
outState.putString(STATE_SELECTED_TAG, selectedTag);
236241
outState.putString(STATE_SEARCH_QUERY, searchQuery);
237242
}
238243

@@ -710,7 +715,6 @@ private boolean isFragmentStateSavable(String type) {
710715

711716
private void updateNavigationUI(String type) {
712717
if(type == null || navigationView == null) return;
713-
if(TextUtils.equals(type, currentFragmentType)) return;
714718

715719
if(FRAGMENT_TAGGED_ARTICLE_LISTS.equals(currentFragmentType)) {
716720
MenuItem item = navigationView.getMenu().findItem(R.id.nav_taggedLists);
@@ -735,7 +739,7 @@ private void updateNavigationUI(String type) {
735739
itemID = R.id.nav_taggedLists;
736740

737741
if(selectedTag != null) {
738-
title = getString(R.string.title_main_tag, selectedTag.getLabel());
742+
title = getString(R.string.title_main_tag, selectedTag);
739743
}
740744

741745
MenuItem item = navigationView.getMenu().findItem(itemID);
@@ -764,7 +768,7 @@ private void updateNavigationUI(String type) {
764768

765769
@Override
766770
public void onTagSelected(Tag tag) {
767-
selectedTag = tag;
771+
selectedTag = tag.getLabel();
768772

769773
Fragment fragment = ArticleListsFragment.newInstance(tag.getLabel());
770774

0 commit comments

Comments
 (0)