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 196836d2..5ed3fcb9 100644 --- a/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java +++ b/tunnel/src/main/java/com/wireguard/android/backend/GoBackend.java @@ -39,7 +39,7 @@ * WireGuard tunnels. */ @NonNullForAll -public final class GoBackend implements Backend { +public class GoBackend implements Backend { private static final int DNS_RESOLUTION_RETRIES = 10; private static final String TAG = "WireGuard/GoBackend"; @Nullable private static AlwaysOnCallback alwaysOnCallback; @@ -240,6 +240,10 @@ public State setState(final Tunnel tunnel, State state, @Nullable final Config c return getState(tunnel); } + protected void performStartService(Context context) { + context.startService(new Intent(context, VpnService.class)); + } + private void setStateInternal(final Tunnel tunnel, @Nullable final Config config, final State state) throws Exception { Log.i(TAG, "Bringing tunnel " + tunnel.getName() + ' ' + state); @@ -254,7 +258,7 @@ private void setStateInternal(final Tunnel tunnel, @Nullable final Config config final VpnService service; if (!vpnService.isDone()) { Log.d(TAG, "Requesting to start VpnService"); - context.startService(new Intent(context, VpnService.class)); + performStartService(context); } try {