@@ -153,8 +153,13 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
153
153
private void settingsMenu () {
154
154
PopupMenu popupMenu = new PopupMenu (this , mSettings );
155
155
Menu menu = popupMenu .getMenu ();
156
- menu .add (Menu .NONE , 1 , Menu .NONE , getString (R .string .dark_theme )).setCheckable (true ).setChecked (
157
- Prefs .getBoolean ("dark_theme" , true , this ));
156
+ SubMenu appTheme = menu .addSubMenu (Menu .NONE , 0 , Menu .NONE , getString (R .string .dark_theme ));
157
+ appTheme .add (Menu .NONE , 21 , Menu .NONE , getString (R .string .dark_theme_auto )).setCheckable (true )
158
+ .setChecked (Prefs .getBoolean ("theme_auto" , true , this ));
159
+ appTheme .add (Menu .NONE , 1 , Menu .NONE , getString (R .string .dark_theme_enable )).setCheckable (true )
160
+ .setChecked (Prefs .getBoolean ("dark_theme" , false , this ));
161
+ appTheme .add (Menu .NONE , 20 , Menu .NONE , getString (R .string .dark_theme_disable )).setCheckable (true )
162
+ .setChecked (Prefs .getBoolean ("light_theme" , false , this ));
158
163
if (KP .supported () && KP .isCustomSettingsAvailable ()) {
159
164
SubMenu kernel = menu .addSubMenu (Menu .NONE , 0 , Menu .NONE , getString (R .string .kernel_about ));
160
165
if (KP .getSupport () != null && !KP .getSupport ().isEmpty ()) {
@@ -196,12 +201,12 @@ private void settingsMenu() {
196
201
case 0 :
197
202
break ;
198
203
case 1 :
199
- if (Prefs .getBoolean ("dark_theme" , true , this )) {
200
- Prefs .saveBoolean ("dark_theme" , false , this );
201
- } else {
204
+ if (!Prefs .getBoolean ("dark_theme" , false , this )) {
202
205
Prefs .saveBoolean ("dark_theme" , true , this );
206
+ Prefs .saveBoolean ("light_theme" , false , this );
207
+ Prefs .saveBoolean ("theme_auto" , false , this );
208
+ restartApp ();
203
209
}
204
- restartApp ();
205
210
break ;
206
211
case 2 :
207
212
launchURL (KP .getSupport ());
@@ -289,6 +294,22 @@ private void settingsMenu() {
289
294
restartApp ();
290
295
}
291
296
break ;
297
+ case 20 :
298
+ if (!Prefs .getBoolean ("light_theme" , false , this )) {
299
+ Prefs .saveBoolean ("dark_theme" , false , this );
300
+ Prefs .saveBoolean ("light_theme" , true , this );
301
+ Prefs .saveBoolean ("theme_auto" , false , this );
302
+ restartApp ();
303
+ }
304
+ break ;
305
+ case 21 :
306
+ if (!Prefs .getBoolean ("theme_auto" , true , this )) {
307
+ Prefs .saveBoolean ("dark_theme" , false , this );
308
+ Prefs .saveBoolean ("light_theme" , false , this );
309
+ Prefs .saveBoolean ("theme_auto" , true , this );
310
+ restartApp ();
311
+ }
312
+ break ;
292
313
}
293
314
return false ;
294
315
});
0 commit comments