From 3634b52e3a2c6ede24af8074988373383dc68fae Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 18 Feb 2023 10:51:06 -0500 Subject: [PATCH] Only show unread entries in widget Closes #9083 --- data/src/main/sqldelight/tachiyomi/view/updatesView.sq | 6 ++++++ .../presentation/widget/TachiyomiWidgetManager.kt | 7 ++++++- .../presentation/widget/UpdatesGridGlanceWidget.kt | 7 ++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/data/src/main/sqldelight/tachiyomi/view/updatesView.sq b/data/src/main/sqldelight/tachiyomi/view/updatesView.sq index 437b86ea0d..fc69538182 100644 --- a/data/src/main/sqldelight/tachiyomi/view/updatesView.sq +++ b/data/src/main/sqldelight/tachiyomi/view/updatesView.sq @@ -24,3 +24,9 @@ updates: SELECT * FROM updatesView WHERE dateUpload > :after; + +getUpdatesByReadStatus: +SELECT * +FROM updatesView +WHERE read = :read +AND dateUpload > :after; \ No newline at end of file diff --git a/presentation-widget/src/main/java/tachiyomi/presentation/widget/TachiyomiWidgetManager.kt b/presentation-widget/src/main/java/tachiyomi/presentation/widget/TachiyomiWidgetManager.kt index 1ede10ba00..ca33d4b315 100644 --- a/presentation-widget/src/main/java/tachiyomi/presentation/widget/TachiyomiWidgetManager.kt +++ b/presentation-widget/src/main/java/tachiyomi/presentation/widget/TachiyomiWidgetManager.kt @@ -16,7 +16,12 @@ class TachiyomiWidgetManager( ) { fun Context.init(scope: LifecycleCoroutineScope) { - database.subscribeToList { updatesViewQueries.updates(after = UpdatesGridGlanceWidget.DateLimit.timeInMillis) } + database.subscribeToList { + updatesViewQueries.getUpdatesByReadStatus( + read = false, + after = UpdatesGridGlanceWidget.DateLimit.timeInMillis, + ) + } .drop(1) .distinctUntilChanged() .onEach { diff --git a/presentation-widget/src/main/java/tachiyomi/presentation/widget/UpdatesGridGlanceWidget.kt b/presentation-widget/src/main/java/tachiyomi/presentation/widget/UpdatesGridGlanceWidget.kt index 6573dbbd93..280c5d6797 100644 --- a/presentation-widget/src/main/java/tachiyomi/presentation/widget/UpdatesGridGlanceWidget.kt +++ b/presentation-widget/src/main/java/tachiyomi/presentation/widget/UpdatesGridGlanceWidget.kt @@ -72,7 +72,12 @@ class UpdatesGridGlanceWidget : GlanceAppWidget() { val processList = list ?: Injekt.get() - .awaitList { updatesViewQueries.updates(after = DateLimit.timeInMillis) } + .awaitList { + updatesViewQueries.getUpdatesByReadStatus( + read = false, + after = DateLimit.timeInMillis, + ) + } val (rowCount, columnCount) = ids .flatMap { manager.getAppWidgetSizes(it) } .maxBy { it.height.value * it.width.value }