diff --git a/app/src/main/java/eu/faircode/netguard/ActivitySettings.java b/app/src/main/java/eu/faircode/netguard/ActivitySettings.java index 8605e629..05bd7fb9 100644 --- a/app/src/main/java/eu/faircode/netguard/ActivitySettings.java +++ b/app/src/main/java/eu/faircode/netguard/ActivitySettings.java @@ -415,10 +415,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere SinkholeService.reload(null, "setting changed", this); else if ("pcap_enabled".equals(name)) { + File pcap = new File(getCacheDir(), "netguard.pcap"); + if (pcap.exists()) + pcap.delete(); if (prefs.getBoolean(name, false)) { - File pcap = new File(getCacheDir(), "netguard.pcap"); - if (pcap.exists()) - pcap.delete(); SinkholeService.setPcap(pcap.getAbsolutePath()); } else SinkholeService.setPcap(null); diff --git a/app/src/main/java/eu/faircode/netguard/SinkholeService.java b/app/src/main/java/eu/faircode/netguard/SinkholeService.java index 40f59f3f..ad1a96b2 100644 --- a/app/src/main/java/eu/faircode/netguard/SinkholeService.java +++ b/app/src/main/java/eu/faircode/netguard/SinkholeService.java @@ -862,9 +862,18 @@ public class SinkholeService extends VpnService implements SharedPreferences.OnS public void onCreate() { Log.i(TAG, "Create"); - jni_init(); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + + // Native init + jni_init(); + File pcap = new File(getCacheDir(), "netguard.pcap"); + if (pcap.exists()) + pcap.delete(); + if (prefs.getBoolean("pcap_enabled", false)) { + SinkholeService.setPcap(pcap.getAbsolutePath()); + } else + SinkholeService.setPcap(null); + prefs.registerOnSharedPreferenceChangeListener(this); Util.setTheme(this);