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

View File

@@ -436,7 +436,6 @@ abstract class FeedViewModel(val localFilter: FeedFilter<Note>) :
fun checkKeysInvalidateDataAndSendToTop() { fun checkKeysInvalidateDataAndSendToTop() {
if (lastFeedKey != localFilter.feedKey()) { if (lastFeedKey != localFilter.feedKey()) {
viewModelScope.launch(Dispatchers.IO) {
bundler.invalidate(false) { bundler.invalidate(false) {
// adds the time to perform the refresh into this delay // adds the time to perform the refresh into this delay
// holding off new updates in case of heavy refresh routines. // 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>) { fun invalidateInsertData(newItems: Set<Note>) {
bundlerInsert.invalidateList(newItems) { refreshFromOldState(it.flatten().toSet()) } 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) private val bundler = BundledUpdate(250, Dispatchers.IO)
override fun invalidateData(ignoreIfDoing: Boolean) { override fun invalidateData(ignoreIfDoing: Boolean) {
viewModelScope.launch(Dispatchers.IO) {
bundler.invalidate(ignoreIfDoing) { bundler.invalidate(ignoreIfDoing) {
// adds the time to perform the refresh into this delay // adds the time to perform the refresh into this delay
// holding off new updates in case of heavy refresh routines. // holding off new updates in case of heavy refresh routines.
refreshSuspended() refreshSuspended()
} }
} }
}
var collectorJob: Job? = null var collectorJob: Job? = null

View File

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