aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/service/TincVpnService.kt
diff options
context:
space:
mode:
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.kt6
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 */
50class TincVpnService : VpnService() { 50class 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.")