Debounce reindexing banner

Helps avoid showing it for short-lived jobs
This commit is contained in:
arkon 2023-01-02 21:58:48 -05:00
parent ab61a65b4a
commit 5cc84403e1

View file

@ -22,6 +22,7 @@ import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.debounce
import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
@ -73,6 +74,7 @@ class DownloadCache(
val isRenewing = changes val isRenewing = changes
.map { renewalJob?.isActive ?: false } .map { renewalJob?.isActive ?: false }
.distinctUntilChanged() .distinctUntilChanged()
.debounce(1000L)
.stateIn(scope, SharingStarted.WhileSubscribed(), false) .stateIn(scope, SharingStarted.WhileSubscribed(), false)
private var rootDownloadsDir = RootDirectory(getDirectoryFromPreference()) private var rootDownloadsDir = RootDirectory(getDirectoryFromPreference())