aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt
diff options
context:
space:
mode:
authorpacien2018-09-09 14:39:15 +0200
committerpacien2018-09-09 14:39:15 +0200
commit22d42234b8d5570447acf874b73fb183765b27a3 (patch)
tree525973cb798c8270166ebbf0de7ec86702ae1ab6 /app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt
parent4c1144bc103a74d8fbdef79b3eb6c69c3e723b83 (diff)
downloadtincapp-22d42234b8d5570447acf874b73fb183765b27a3.tar.gz
Avoid updating node and subnet lists when no daemon is running
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt')
-rw-r--r--app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt13
1 files changed, 7 insertions, 6 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt b/app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt
index 1dbd8c3..d76badc 100644
--- a/app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt
+++ b/app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt
@@ -20,19 +20,20 @@ package org.pacien.tincapp.activities.status.subnets
20 20
21import org.pacien.tincapp.activities.common.SelfRefreshingLiveData 21import org.pacien.tincapp.activities.common.SelfRefreshingLiveData
22import org.pacien.tincapp.commands.Tinc 22import org.pacien.tincapp.commands.Tinc
23import org.pacien.tincapp.service.TincVpnService
23import java.util.concurrent.TimeUnit 24import java.util.concurrent.TimeUnit
24 25
25/** 26/**
26 * @author pacien 27 * @author pacien
27 */ 28 */
28class SubnetListLiveData(private val netName: String) : SelfRefreshingLiveData<List<SubnetInfo>>(1, TimeUnit.SECONDS) { 29class SubnetListLiveData : SelfRefreshingLiveData<List<SubnetInfo>>(1, TimeUnit.SECONDS) {
30 private val vpnService = TincVpnService
29 private val tincCtl = Tinc 31 private val tincCtl = Tinc
30 32
31 override fun onRefresh() { 33 override fun onRefresh() {
32 val subnetList = tincCtl.dumpSubnets(netName) 34 vpnService.getCurrentNetName()
33 .thenApply { list -> list.map { SubnetInfo.ofSubnetDump(it) } } 35 ?.let { netName -> tincCtl.dumpSubnets(netName) }
34 .get() 36 ?.thenApply { list -> list.map { SubnetInfo.ofSubnetDump(it) } }
35 37 ?.thenAccept(this::postValue)
36 postValue(subnetList)
37 } 38 }
38} 39}