From f1579d960de0ddeaebf7458aa96fdab20384b350 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 27 Oct 2015 09:21:24 +0100 Subject: [PATCH] Remove rules matching the default --- .../main/java/eu/faircode/netguard/RuleAdapter.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/netguard/RuleAdapter.java b/app/src/main/java/eu/faircode/netguard/RuleAdapter.java index eafdd8e4..13b0d58c 100644 --- a/app/src/main/java/eu/faircode/netguard/RuleAdapter.java +++ b/app/src/main/java/eu/faircode/netguard/RuleAdapter.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.res.TypedArray; import android.graphics.Color; +import android.preference.PreferenceManager; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.util.Log; @@ -81,8 +82,15 @@ public class RuleAdapter extends RecyclerView.Adapter im } Log.i(TAG, rule.info.packageName + ": " + network + "=" + isChecked); - SharedPreferences prefs = context.getSharedPreferences(network, Context.MODE_PRIVATE); - prefs.edit().putBoolean(rule.info.packageName, isChecked).apply(); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + SharedPreferences rules = context.getSharedPreferences(network, Context.MODE_PRIVATE); + if (isChecked == prefs.getBoolean("whitelist_" + network, true)) { + Log.i(TAG, "Removing " + rule.info.packageName + " " + network); + rules.edit().remove(rule.info.packageName).apply(); + } else { + Log.i(TAG, "Setting " + rule.info.packageName + " " + network + "=" + isChecked); + rules.edit().putBoolean(rule.info.packageName, isChecked).apply(); + } BlackHoleService.reload(network, context); }