diff options
author | cyBerta <cyberta@riseup.net> | 2019-07-12 18:02:49 +0200 |
---|---|---|
committer | cyBerta <cyberta@riseup.net> | 2019-07-12 18:02:54 +0200 |
commit | 045675a8cf2b7bf377ab86fa3196949e1684cc44 (patch) | |
tree | 310f86ac51a66d44d4a62a7363b2ad2dcbb5918e /app/src/main/java/de/blinkt/openvpn/core/VpnStatus.java | |
parent | 2979517d1401a42eedcadfbe33af4af02ef0afac (diff) |
* use static atomicBoolean to save alwaysOn settings instead of sharedPrefs
>> avoid race conditions between sharedPreference writing and onBoot receiver reading
* don't explicitly exclude Bitmask from routes
Diffstat (limited to 'app/src/main/java/de/blinkt/openvpn/core/VpnStatus.java')
-rw-r--r-- | app/src/main/java/de/blinkt/openvpn/core/VpnStatus.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/src/main/java/de/blinkt/openvpn/core/VpnStatus.java b/app/src/main/java/de/blinkt/openvpn/core/VpnStatus.java index 33851b8f..c362e299 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/VpnStatus.java +++ b/app/src/main/java/de/blinkt/openvpn/core/VpnStatus.java @@ -17,6 +17,7 @@ import java.util.LinkedList; import java.util.Locale; import java.util.Vector; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.atomic.AtomicBoolean; import de.blinkt.openvpn.VpnProfile; import se.leap.bitmaskclient.R; @@ -33,6 +34,8 @@ public class VpnStatus { private static CopyOnWriteArrayList<StateListener> stateListener; private static Vector<ByteCountListener> byteCountListener; + private static AtomicBoolean isAlwaysOnBooting = new AtomicBoolean(false); + private static String mLaststatemsg = ""; private static String mLaststate = "NOPROCESS"; @@ -504,7 +507,6 @@ public class VpnStatus { } - public static synchronized void updateByteCount(long in, long out) { TrafficHistory.LastDiff diff = trafficHistory.add(in, out); @@ -512,4 +514,12 @@ public class VpnStatus { bcl.updateByteCount(in, out, diff.getDiffIn(), diff.getDiffOut()); } } + + public static void setAlwaysOn(boolean alwaysOn) { + isAlwaysOnBooting.set(alwaysOn); + } + + public static boolean isAlwaysOn() { + return isAlwaysOnBooting.get(); + } } |