diff --git a/app/src/main/java/eu/faircode/netguard/ActivityMain.java b/app/src/main/java/eu/faircode/netguard/ActivityMain.java index a04704a0..6d3018f5 100644 --- a/app/src/main/java/eu/faircode/netguard/ActivityMain.java +++ b/app/src/main/java/eu/faircode/netguard/ActivityMain.java @@ -737,6 +737,7 @@ public void onSharedPreferenceChanged(SharedPreferences prefs, String name) { "show_system".equals(name) || "show_nointernet".equals(name) || "show_unprotected".equals(name) || + "show_frozen".equals(name) || "sort".equals(name) || "imported".equals(name)) { if ("sort".equals(name)) @@ -925,6 +926,7 @@ public boolean onPrepareOptionsMenu(Menu menu) { menu.findItem(R.id.menu_app_nointernet).setChecked(prefs.getBoolean("show_nointernet", true)); menu.findItem(R.id.menu_app_unprotected).setChecked(prefs.getBoolean("show_unprotected", false)); + menu.findItem(R.id.menu_app_frozen).setChecked(prefs.getBoolean("show_frozen", false)); String sort = prefs.getString("sort", "trackers_week"); if ("uid".equals(sort)) @@ -964,6 +966,10 @@ public boolean onOptionsItemSelected(MenuItem item) { item.setChecked(!item.isChecked()); prefs.edit().putBoolean("show_unprotected", item.isChecked()).apply(); return true; + } else if (itemId == R.id.menu_app_frozen) { + item.setChecked(!item.isChecked()); + prefs.edit().putBoolean("show_frozen", item.isChecked()).apply(); + return true; } else if (itemId == R.id.menu_sort_name) { item.setChecked(true); prefs.edit().putString("sort", "name").apply(); diff --git a/app/src/main/java/eu/faircode/netguard/Rule.java b/app/src/main/java/eu/faircode/netguard/Rule.java index 14a42ae6..1909d989 100644 --- a/app/src/main/java/eu/faircode/netguard/Rule.java +++ b/app/src/main/java/eu/faircode/netguard/Rule.java @@ -261,6 +261,7 @@ public static List getRules(final boolean all, boolean self, Context conte boolean show_system = prefs.getBoolean("show_system", false); boolean show_nointernet = prefs.getBoolean("show_nointernet", true); boolean show_unprotected = prefs.getBoolean("show_unprotected", false); + boolean show_frozen = prefs.getBoolean("show_frozen", false); boolean strict_blocking = BlockingMode.isStrictMode(context); default_screen_wifi = default_screen_wifi && screen_on; @@ -393,8 +394,7 @@ public static List getRules(final boolean all, boolean self, Context conte if (all || ((rule.system ? show_system : show_user) && (show_nointernet || rule.internet) && - rule.enabled)) { - + (show_frozen || rule.enabled))) { rule.wifi_default = (pre_wifi_blocked.containsKey(info.packageName) ? pre_wifi_blocked.get(info.packageName) : default_wifi); diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml index 7ed70482..5bce81a9 100644 --- a/app/src/main/res/menu/main.xml +++ b/app/src/main/res/menu/main.xml @@ -27,6 +27,10 @@ android:id="@+id/menu_app_unprotected" android:checkable="true" android:title="@string/menu_app_unprotected"/> + Show system apps Show apps without internet Show unprotected apps only + Show frozen apps Sort apps Sort by name Sort by uid