summaryrefslogtreecommitdiffhomepage
path: root/app/src/main/java/com/wireguard/android/model/TunnelManager.java
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-04-23 16:37:42 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-04-23 17:04:17 +0200
commit88cf839c90e59823c4fee1e70e5525b943287a10 (patch)
tree2cb5400b7cd61944d7c7a3f843dd1c7e1502dc8c /app/src/main/java/com/wireguard/android/model/TunnelManager.java
parenta1c6f4b3b74aec0224045d9cd5f3345c4773919d (diff)
Update application state based on wg-quick
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/model/TunnelManager.java')
-rw-r--r--app/src/main/java/com/wireguard/android/model/TunnelManager.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/src/main/java/com/wireguard/android/model/TunnelManager.java b/app/src/main/java/com/wireguard/android/model/TunnelManager.java
index 381e7f77..61468920 100644
--- a/app/src/main/java/com/wireguard/android/model/TunnelManager.java
+++ b/app/src/main/java/com/wireguard/android/model/TunnelManager.java
@@ -128,6 +128,15 @@ public final class TunnelManager extends BaseObservable {
return tunnels;
}
+ public void refreshTunnelStates() {
+ asyncWorker.supplyAsync(backend::enumerate)
+ .thenAccept(running -> {
+ for (final Tunnel tunnel : tunnels)
+ tunnel.onStateChanged(running.contains(tunnel.getName()) ? State.UP : State.DOWN);
+ })
+ .whenComplete(ExceptionLoggers.E);
+ }
+
public void onCreate() {
asyncWorker.supplyAsync(configStore::enumerate)
.thenAcceptBoth(asyncWorker.supplyAsync(backend::enumerate), this::onTunnelsLoaded)