From af04ece0713c0971a4be2d75e179b2386ffc473e Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 18 Jan 2016 21:07:35 +0100 Subject: [PATCH] Native pcap init/cleanup --- .../java/eu/faircode/netguard/ActivitySettings.java | 6 +++--- .../java/eu/faircode/netguard/SinkholeService.java | 13 +++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) 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);