Move Glance Widget to seperate module (#8989)

Move Widget to seperate module

- Create a core module for presentation. Widget and App will share some resources and hopefully composables
This commit is contained in:
Andreas
2023-01-26 23:53:24 +01:00
committed by GitHub
parent c892c793a8
commit 12e41b6e6f
38 changed files with 154 additions and 35 deletions
@@ -0,0 +1,26 @@
package tachiyomi.presentation.widget
import android.content.Context
import androidx.glance.appwidget.GlanceAppWidgetManager
import androidx.lifecycle.LifecycleCoroutineScope
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.drop
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import tachiyomi.data.DatabaseHandler
object TachiyomiWidgetManager {
fun Context.init(scope: LifecycleCoroutineScope, database: DatabaseHandler) {
database.subscribeToList { updatesViewQueries.updates(after = UpdatesGridGlanceWidget.DateLimit.timeInMillis) }
.drop(1)
.distinctUntilChanged()
.onEach {
val manager = GlanceAppWidgetManager(this)
if (manager.getGlanceIds(UpdatesGridGlanceWidget::class.java).isNotEmpty()) {
UpdatesGridGlanceWidget().loadData(it)
}
}
.launchIn(scope)
}
}