mirror of
https://git.mihon.tech/mihonapp/mihon
synced 2024-11-21 12:45:44 +03:00
Adjust distinct checker in WidgetManager and run on default dispatcher
Co-authored-by: p
This commit is contained in:
parent
3bddb55385
commit
9b8ab6acc2
1 changed files with 8 additions and 2 deletions
|
@ -4,8 +4,10 @@ import android.content.Context
|
|||
import androidx.glance.appwidget.updateAll
|
||||
import androidx.lifecycle.LifecycleCoroutineScope
|
||||
import eu.kanade.tachiyomi.core.security.SecurityPreferences
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.flowOn
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import logcat.LogPriority
|
||||
|
@ -21,9 +23,12 @@ class WidgetManager(
|
|||
combine(
|
||||
getUpdates.subscribe(read = false, after = BaseUpdatesGridGlanceWidget.DateLimit.toEpochMilli()),
|
||||
securityPreferences.useAuthenticator().changes(),
|
||||
transform = { a, _ -> a },
|
||||
transform = { a, b -> a to b },
|
||||
)
|
||||
.distinctUntilChanged()
|
||||
.distinctUntilChanged { old, new ->
|
||||
old.second == new.second &&
|
||||
old.first.map { it.chapterId }.toSet() == new.first.map { it.chapterId }.toSet()
|
||||
}
|
||||
.onEach {
|
||||
try {
|
||||
UpdatesGridGlanceWidget().updateAll(this)
|
||||
|
@ -32,6 +37,7 @@ class WidgetManager(
|
|||
logcat(LogPriority.ERROR, e) { "Failed to update widget" }
|
||||
}
|
||||
}
|
||||
.flowOn(Dispatchers.Default)
|
||||
.launchIn(scope)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue