diff options
Diffstat (limited to 'tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java')
-rw-r--r-- | tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java index 54dc913a..70cdd844 100644 --- a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java +++ b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java @@ -34,25 +34,21 @@ import java9.util.concurrent.CompletableFuture; @NonNullForAll public final class GoBackend implements Backend { private static final String TAG = "WireGuard/" + GoBackend.class.getSimpleName(); - private static CompletableFuture<VpnService> vpnService = new CompletableFuture<>(); - public interface AlwaysOnCallback { - void alwaysOnTriggered(); - } @Nullable private static AlwaysOnCallback alwaysOnCallback; - public static void setAlwaysOnCallback(AlwaysOnCallback cb) { - alwaysOnCallback = cb; - } - + private static CompletableFuture<VpnService> vpnService = new CompletableFuture<>(); private final Context context; - @Nullable private Tunnel currentTunnel; @Nullable private Config currentConfig; + @Nullable private Tunnel currentTunnel; private int currentTunnelHandle = -1; - public GoBackend(final Context context) { SharedLibraryLoader.loadSharedLibrary(context, "wg-go"); this.context = context; } + public static void setAlwaysOnCallback(AlwaysOnCallback cb) { + alwaysOnCallback = cb; + } + private static native String wgGetConfig(int handle); private static native int wgGetSocketV4(int handle); @@ -143,7 +139,7 @@ public final class GoBackend implements Backend { setStateInternal(currentTunnel, null, State.DOWN); try { setStateInternal(tunnel, config, state); - } catch(final Exception e) { + } catch (final Exception e) { if (originalTunnel != null) setStateInternal(originalTunnel, originalConfig, State.UP); throw e; @@ -209,7 +205,7 @@ public final class GoBackend implements Backend { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) builder.setMetered(false); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) - service.setUnderlyingNetworks(null); + service.setUnderlyingNetworks(null); builder.setBlocking(true); try (final ParcelFileDescriptor tun = builder.establish()) { @@ -246,13 +242,13 @@ public final class GoBackend implements Backend { context.startService(new Intent(context, VpnService.class)); } + public interface AlwaysOnCallback { + void alwaysOnTriggered(); + } + public static class VpnService extends android.net.VpnService { @Nullable private GoBackend owner; - public void setOwner(final GoBackend owner) { - this.owner = owner; - } - public Builder getBuilder() { return new Builder(); } @@ -290,5 +286,9 @@ public final class GoBackend implements Backend { } return super.onStartCommand(intent, flags, startId); } + + public void setOwner(final GoBackend owner) { + this.owner = owner; + } } } |