From b321bbe07ff48d571feb4f81c66f58223584dc83 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 20 Aug 2018 17:46:07 +0200 Subject: Generify periodically refreshing live data --- .../tincapp/activities/start/NetworkListLiveData.kt | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'app/src/main/java/org/pacien/tincapp/activities/start') diff --git a/app/src/main/java/org/pacien/tincapp/activities/start/NetworkListLiveData.kt b/app/src/main/java/org/pacien/tincapp/activities/start/NetworkListLiveData.kt index d0d39b8..aaab0e7 100644 --- a/app/src/main/java/org/pacien/tincapp/activities/start/NetworkListLiveData.kt +++ b/app/src/main/java/org/pacien/tincapp/activities/start/NetworkListLiveData.kt @@ -18,28 +18,17 @@ package org.pacien.tincapp.activities.start -import android.arch.lifecycle.LiveData +import org.pacien.tincapp.activities.common.SelfRefreshingLiveData import org.pacien.tincapp.context.AppPaths -import java.util.* -import kotlin.concurrent.timer +import java.util.concurrent.TimeUnit /** * @author pacien */ -class NetworkListLiveData : LiveData>() { - private val updateInterval = 2 * 1000L // in milliseconds +class NetworkListLiveData : SelfRefreshingLiveData>(1, TimeUnit.SECONDS) { private val appPaths = AppPaths - private lateinit var updateTimer: Timer - override fun onActive() { - updateTimer = timer(period = updateInterval, action = { updateNetworkList() }) - } - - override fun onInactive() { - updateTimer.apply { cancel() }.apply { purge() } - } - - private fun updateNetworkList() { + override fun onRefresh() { val networkList = appPaths.confDir().list()?.sorted() ?: emptyList() postValue(networkList) } -- cgit v1.2.3