diff --git a/app/src/main/java/eu/faircode/netguard/ActivityMain.java b/app/src/main/java/eu/faircode/netguard/ActivityMain.java index 5165c986..bc992cf6 100644 --- a/app/src/main/java/eu/faircode/netguard/ActivityMain.java +++ b/app/src/main/java/eu/faircode/netguard/ActivityMain.java @@ -237,6 +237,9 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences .create(); dialogFirst.show(); } + + // Listen for preference changes + prefs.registerOnSharedPreferenceChangeListener(this); } @Override @@ -244,10 +247,6 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences super.onResume(); Log.i(TAG, "Resume"); - // Listen for preference changes - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - prefs.registerOnSharedPreferenceChangeListener(this); - // Listen for interactive state changes IntentFilter ifInteractive = new IntentFilter(); ifInteractive.addAction(Intent.ACTION_SCREEN_ON); @@ -279,9 +278,6 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences super.onPause(); Log.i(TAG, "Pause"); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - prefs.unregisterOnSharedPreferenceChangeListener(this); - unregisterReceiver(interactiveStateReceiver); unregisterReceiver(connectivityChangedReceiver); unregisterReceiver(packageChangedReceiver); @@ -298,6 +294,9 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences running = false; + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + prefs.unregisterOnSharedPreferenceChangeListener(this); + if (dialogFirst != null) { dialogFirst.dismiss(); dialogFirst = null;