Reducing double launch or co-routines

This commit is contained in:
Vitor Pamplona 2024-06-11 15:05:57 -04:00
parent dd71b931fc
commit fc96d89a44
4 changed files with 18 additions and 26 deletions

View File

@ -194,7 +194,6 @@ abstract class NostrDataSource(val debugName: String) {
private val bundler = BundledUpdate(300, Dispatchers.IO)
fun invalidateFilters() {
scope.launch(Dispatchers.IO) {
bundler.invalidate {
// println("DataSource: ${this.javaClass.simpleName} InvalidateFilters")
@ -203,7 +202,6 @@ abstract class NostrDataSource(val debugName: String) {
resetFiltersSuspend()
}
}
}
fun resetFilters() {
scope.launch(Dispatchers.IO) { resetFiltersSuspend() }

View File

@ -436,7 +436,6 @@ abstract class FeedViewModel(val localFilter: FeedFilter<Note>) :
fun checkKeysInvalidateDataAndSendToTop() {
if (lastFeedKey != localFilter.feedKey()) {
viewModelScope.launch(Dispatchers.IO) {
bundler.invalidate(false) {
// adds the time to perform the refresh into this delay
// holding off new updates in case of heavy refresh routines.
@ -445,7 +444,6 @@ abstract class FeedViewModel(val localFilter: FeedFilter<Note>) :
}
}
}
}
fun invalidateInsertData(newItems: Set<Note>) {
bundlerInsert.invalidateList(newItems) { refreshFromOldState(it.flatten().toSet()) }

View File

@ -95,14 +95,12 @@ open class StringFeedViewModel(val dataSource: FeedFilter<String>) :
private val bundler = BundledUpdate(250, Dispatchers.IO)
override fun invalidateData(ignoreIfDoing: Boolean) {
viewModelScope.launch(Dispatchers.IO) {
bundler.invalidate(ignoreIfDoing) {
// adds the time to perform the refresh into this delay
// holding off new updates in case of heavy refresh routines.
refreshSuspended()
}
}
}
var collectorJob: Job? = null

View File

@ -126,14 +126,12 @@ open class UserFeedViewModel(val dataSource: FeedFilter<User>) :
private val bundler = BundledUpdate(250, Dispatchers.IO)
override fun invalidateData(ignoreIfDoing: Boolean) {
viewModelScope.launch(Dispatchers.IO) {
bundler.invalidate(ignoreIfDoing) {
// adds the time to perform the refresh into this delay
// holding off new updates in case of heavy refresh routines.
refreshSuspended()
}
}
}
var collectorJob: Job? = null