@@ -57,13 +57,15 @@ public class RingerWhitelistActivity extends GravityBoxAppCompatActivity {
57
57
static final String KEY_SELECTION_TYPE = "selectionType" ;
58
58
59
59
private String mSearchQuery ;
60
+ private SelectionType mSelectionType ;
60
61
61
62
@ Override
62
63
protected void onCreate (Bundle savedInstanceState ) {
63
64
super .onCreate (savedInstanceState );
64
65
65
66
if (savedInstanceState != null ) {
66
67
mSearchQuery = savedInstanceState .getString (KEY_SEARCH_QUERY , null );
68
+ mSelectionType = SelectionType .valueOf (savedInstanceState .getString (KEY_SELECTION_TYPE , "DEFAULT" ));
67
69
}
68
70
69
71
setContentView (R .layout .ringer_whitelist_activity );
@@ -79,6 +81,9 @@ public void onSaveInstanceState(Bundle bundle) {
79
81
if (mSearchQuery != null ) {
80
82
bundle .putString (KEY_SEARCH_QUERY , mSearchQuery );
81
83
}
84
+ if (mSelectionType != null ) {
85
+ bundle .putString (KEY_SELECTION_TYPE , mSelectionType .toString ());
86
+ }
82
87
super .onSaveInstanceState (bundle );
83
88
}
84
89
@@ -143,20 +148,31 @@ public boolean onMenuItemClick(MenuItem item) {
143
148
new OnMenuItemClickListener () {
144
149
@ Override
145
150
public boolean onMenuItemClick (MenuItem item ) {
146
- SelectionType selectionType = SelectionType .DEFAULT ;
147
151
if (item == showStarred ) {
148
- selectionType = SelectionType .STARRED ;
152
+ mSelectionType = SelectionType .STARRED ;
153
+ showAll .setEnabled (true );
154
+ showWhitelisted .setEnabled (true );
149
155
} else if (item == showWhitelisted ) {
150
- selectionType = SelectionType .WHITELISTED ;
156
+ mSelectionType = SelectionType .WHITELISTED ;
157
+ showAll .setEnabled (true );
158
+ showStarred .setEnabled (true );
159
+ } else {
160
+ mSelectionType = SelectionType .DEFAULT ;
161
+ showStarred .setEnabled (true );
162
+ showWhitelisted .setEnabled (true );
151
163
}
152
- getFragment ().setSelectionType (selectionType );
164
+ item .setEnabled (false );
165
+ getFragment ().setSelectionType (mSelectionType );
153
166
getFragment ().fetchData (mSearchQuery );
154
167
return true ;
155
168
}
156
169
};
157
170
showAll .setOnMenuItemClickListener (selectionTypeClickListener );
171
+ showAll .setEnabled (mSelectionType != null && mSelectionType != SelectionType .DEFAULT );
158
172
showStarred .setOnMenuItemClickListener (selectionTypeClickListener );
173
+ showStarred .setEnabled (mSelectionType == null || mSelectionType != SelectionType .STARRED );
159
174
showWhitelisted .setOnMenuItemClickListener (selectionTypeClickListener );
175
+ showWhitelisted .setEnabled (mSelectionType == null || mSelectionType != SelectionType .WHITELISTED );
160
176
161
177
if (mSearchQuery != null ) {
162
178
searchReset .setVisible (true );
0 commit comments