From 22d42234b8d5570447acf874b73fb183765b27a3 Mon Sep 17 00:00:00 2001 From: pacien Date: Sun, 9 Sep 2018 14:39:15 +0200 Subject: Avoid updating node and subnet lists when no daemon is running --- .../tincapp/activities/status/subnets/SubnetListLiveData.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'app/src/main/java/org/pacien/tincapp/activities/status/subnets/SubnetListLiveData.kt') 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 import org.pacien.tincapp.activities.common.SelfRefreshingLiveData import org.pacien.tincapp.commands.Tinc +import org.pacien.tincapp.service.TincVpnService import java.util.concurrent.TimeUnit /** * @author pacien */ -class SubnetListLiveData(private val netName: String) : SelfRefreshingLiveData>(1, TimeUnit.SECONDS) { +class SubnetListLiveData : SelfRefreshingLiveData>(1, TimeUnit.SECONDS) { + private val vpnService = TincVpnService private val tincCtl = Tinc override fun onRefresh() { - val subnetList = tincCtl.dumpSubnets(netName) - .thenApply { list -> list.map { SubnetInfo.ofSubnetDump(it) } } - .get() - - postValue(subnetList) + vpnService.getCurrentNetName() + ?.let { netName -> tincCtl.dumpSubnets(netName) } + ?.thenApply { list -> list.map { SubnetInfo.ofSubnetDump(it) } } + ?.thenAccept(this::postValue) } } -- cgit v1.2.3