Skip to content

Commit 7c7cd4b

Browse files
committed
RingerWhitelist: control menu item enabled state based on selection type
1 parent 0beaba7 commit 7c7cd4b

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

src/com/ceco/oreo/gravitybox/ledcontrol/RingerWhitelistActivity.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,15 @@ public class RingerWhitelistActivity extends GravityBoxAppCompatActivity {
5757
static final String KEY_SELECTION_TYPE = "selectionType";
5858

5959
private String mSearchQuery;
60+
private SelectionType mSelectionType;
6061

6162
@Override
6263
protected void onCreate(Bundle savedInstanceState) {
6364
super.onCreate(savedInstanceState);
6465

6566
if (savedInstanceState != null) {
6667
mSearchQuery = savedInstanceState.getString(KEY_SEARCH_QUERY, null);
68+
mSelectionType = SelectionType.valueOf(savedInstanceState.getString(KEY_SELECTION_TYPE, "DEFAULT"));
6769
}
6870

6971
setContentView(R.layout.ringer_whitelist_activity);
@@ -79,6 +81,9 @@ public void onSaveInstanceState(Bundle bundle) {
7981
if (mSearchQuery != null) {
8082
bundle.putString(KEY_SEARCH_QUERY, mSearchQuery);
8183
}
84+
if (mSelectionType != null) {
85+
bundle.putString(KEY_SELECTION_TYPE, mSelectionType.toString());
86+
}
8287
super.onSaveInstanceState(bundle);
8388
}
8489

@@ -143,20 +148,31 @@ public boolean onMenuItemClick(MenuItem item) {
143148
new OnMenuItemClickListener() {
144149
@Override
145150
public boolean onMenuItemClick(MenuItem item) {
146-
SelectionType selectionType = SelectionType.DEFAULT;
147151
if (item == showStarred) {
148-
selectionType = SelectionType.STARRED;
152+
mSelectionType = SelectionType.STARRED;
153+
showAll.setEnabled(true);
154+
showWhitelisted.setEnabled(true);
149155
} 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);
151163
}
152-
getFragment().setSelectionType(selectionType);
164+
item.setEnabled(false);
165+
getFragment().setSelectionType(mSelectionType);
153166
getFragment().fetchData(mSearchQuery);
154167
return true;
155168
}
156169
};
157170
showAll.setOnMenuItemClickListener(selectionTypeClickListener);
171+
showAll.setEnabled(mSelectionType != null && mSelectionType != SelectionType.DEFAULT);
158172
showStarred.setOnMenuItemClickListener(selectionTypeClickListener);
173+
showStarred.setEnabled(mSelectionType == null || mSelectionType != SelectionType.STARRED);
159174
showWhitelisted.setOnMenuItemClickListener(selectionTypeClickListener);
175+
showWhitelisted.setEnabled(mSelectionType == null || mSelectionType != SelectionType.WHITELISTED);
160176

161177
if (mSearchQuery != null) {
162178
searchReset.setVisible(true);

0 commit comments

Comments
 (0)