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/OpenVPNService.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/OpenVPNService.java')
-rw-r--r-- | app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java index 4e92f67b..bf9b3ac3 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java +++ b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java @@ -44,7 +44,6 @@ import de.blinkt.openvpn.core.VpnStatus.ByteCountListener; import de.blinkt.openvpn.core.VpnStatus.StateListener; import se.leap.bitmaskclient.R; import se.leap.bitmaskclient.VpnNotificationManager; -import se.leap.bitmaskclient.utils.PreferenceHelper; import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_CONNECTED; import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_WAITING_FOR_USER_INPUT; @@ -319,14 +318,15 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { updateShortCutUsage(mProfile); } - PreferenceHelper.setAlwaysOn(this, false); + VpnStatus.setAlwaysOn(false); + } else { /* The intent is null when we are set as always-on or the service has been restarted. */ mProfile = VpnStatus.getLastConnectedVpnProfile(this); VpnStatus.logInfo(R.string.service_restarted); if (mProfile != null) { - PreferenceHelper.setAlwaysOn(this, true); + VpnStatus.setAlwaysOn(true); } } @@ -543,13 +543,6 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac if (mProfile.mAllowLocalLAN) { allowAllAFFamilies(builder); } - if (PreferenceHelper.isAlwaysOn(this)) { - try { - builder.addDisallowedApplication(this.getPackageName()); - } catch (PackageManager.NameNotFoundException e) { - e.printStackTrace(); - } - } } if (mLocalIP == null && mLocalIPv6 == null) { |