diff options
author | pacien | 2018-09-26 00:36:40 +0200 |
---|---|---|
committer | pacien | 2018-09-26 00:54:12 +0200 |
commit | b93bf5513a1c43ac11acef409c81dc7238324d69 (patch) | |
tree | 4fdd3479173c66022b095bc966d606c24a1d7d53 /app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt | |
parent | c9b813a2c8fcd53543c7aa84a773915d2c7c07d1 (diff) | |
download | tincapp-b93bf5513a1c43ac11acef409c81dc7238324d69.tar.gz |
Trigger tinc reconnection on network state change
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt')
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt b/app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt index 45058e2..28f1347 100644 --- a/app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt +++ b/app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt | |||
@@ -49,6 +49,7 @@ import java.io.FileNotFoundException | |||
49 | */ | 49 | */ |
50 | class TincVpnService : VpnService() { | 50 | class TincVpnService : VpnService() { |
51 | private val log by lazy { LoggerFactory.getLogger(this.javaClass)!! } | 51 | private val log by lazy { LoggerFactory.getLogger(this.javaClass)!! } |
52 | private val connectivityChangeReceiver = ConnectivityChangeReceiver | ||
52 | 53 | ||
53 | override fun onDestroy() { | 54 | override fun onDestroy() { |
54 | stopVpn() | 55 | stopVpn() |
@@ -150,11 +151,16 @@ class TincVpnService : VpnService() { | |||
150 | log.info("tinc daemon started.") | 151 | log.info("tinc daemon started.") |
151 | broadcastEvent(Actions.EVENT_CONNECTED) | 152 | broadcastEvent(Actions.EVENT_CONNECTED) |
152 | } | 153 | } |
154 | |||
155 | connectivityChangeReceiver.registerWatcher(this) | ||
153 | } | 156 | } |
154 | } | 157 | } |
155 | 158 | ||
156 | private fun stopVpn(): Unit = synchronized(this) { | 159 | private fun stopVpn(): Unit = synchronized(this) { |
157 | log.info("Stopping any running tinc daemon.") | 160 | log.info("Stopping any running tinc daemon.") |
161 | |||
162 | connectivityChangeReceiver.unregisterWatcher(this) | ||
163 | |||
158 | getCurrentNetName()?.let { | 164 | getCurrentNetName()?.let { |
159 | Tinc.stop(it).thenRun { | 165 | Tinc.stop(it).thenRun { |
160 | log.info("All tinc daemons stopped.") | 166 | log.info("All tinc daemons stopped.") |