diff --git a/app/src/main/java/eu/faircode/netguard/ActivityMain.java b/app/src/main/java/eu/faircode/netguard/ActivityMain.java index 7ee7a37d..a5993186 100644 --- a/app/src/main/java/eu/faircode/netguard/ActivityMain.java +++ b/app/src/main/java/eu/faircode/netguard/ActivityMain.java @@ -984,9 +984,7 @@ public boolean onPrepareOptionsMenu(Menu menu) { Menu submenu = menu.findItem(R.id.menu_filter).getSubMenu(); if (prefs.getBoolean("manage_system", false)) { menu.findItem(R.id.menu_app_user).setChecked(prefs.getBoolean("show_user", true)); - // Visibility follows the single "Monitor system apps" setting. - // Do not leave a second control here that can desynchronise it. - submenu.removeItem(R.id.menu_app_system); + menu.findItem(R.id.menu_app_system).setChecked(prefs.getBoolean("show_system", false)); } else { submenu.removeItem(R.id.menu_app_user); submenu.removeItem(R.id.menu_app_system); @@ -1022,6 +1020,10 @@ public boolean onOptionsItemSelected(MenuItem item) { item.setChecked(!item.isChecked()); prefs.edit().putBoolean("show_user", item.isChecked()).apply(); return true; + } else if (itemId == R.id.menu_app_system) { + item.setChecked(!item.isChecked()); + prefs.edit().putBoolean("show_system", item.isChecked()).apply(); + return true; } else if (itemId == R.id.menu_app_nointernet) { item.setChecked(!item.isChecked()); prefs.edit().putBoolean("show_nointernet", item.isChecked()).apply();