Ver código fonte

GoBackend: bring down tunnels when revoked or disconnected

This synchronizes the OS's connection state with ours, such as when the
user disconnects using the system UI.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
master
Jason A. Donenfeld 6 anos atrás
pai
commit
532edf774a
1 arquivos alterados com 6 adições e 0 exclusões
  1. +6
    -0
      app/src/main/java/com/wireguard/android/backend/GoBackend.java

+ 6
- 0
app/src/main/java/com/wireguard/android/backend/GoBackend.java Ver arquivo

@@ -7,9 +7,11 @@ import android.support.v4.util.ArraySet;
import android.util.Log;
import android.util.Pair;

import com.wireguard.android.Application;
import com.wireguard.android.model.Tunnel;
import com.wireguard.android.model.Tunnel.State;
import com.wireguard.android.model.Tunnel.Statistics;
import com.wireguard.android.model.TunnelManager;
import com.wireguard.config.Config;
import com.wireguard.config.IPCidr;
import com.wireguard.config.Interface;
@@ -56,6 +58,10 @@ public final class GoBackend implements Backend {

@Override
public void onDestroy() {
for (final Tunnel tunnel : Application.getComponent().getTunnelManager().getTunnels()) {
if (tunnel != null && tunnel.getState() != State.DOWN)
tunnel.setState(State.DOWN);
}
vpnService = vpnService.newIncompleteFuture();
super.onDestroy();
}


Carregando…
Cancelar
Salvar