diff options
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.") |