From 87a8d1b558f835e858097041dd720a25086c796c Mon Sep 17 00:00:00 2001 From: Christine Coenen Date: Mon, 23 Sep 2024 18:03:54 +0200 Subject: [PATCH] Fix bug where download buttons / menu items are shows when no download qualities available --- .../mediathek/ui/helper/ShowMenuHelperViewModel.kt | 13 ++++++++++--- app/src/main/res/raw-en/changelog.md | 3 +++ app/src/main/res/raw/changelog.md | 3 +++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/christinecoenen/code/zapp/app/mediathek/ui/helper/ShowMenuHelperViewModel.kt b/app/src/main/java/de/christinecoenen/code/zapp/app/mediathek/ui/helper/ShowMenuHelperViewModel.kt index e377f31c..de4905d9 100644 --- a/app/src/main/java/de/christinecoenen/code/zapp/app/mediathek/ui/helper/ShowMenuHelperViewModel.kt +++ b/app/src/main/java/de/christinecoenen/code/zapp/app/mediathek/ui/helper/ShowMenuHelperViewModel.kt @@ -8,7 +8,12 @@ import de.christinecoenen.code.zapp.models.shows.MediathekShow import de.christinecoenen.code.zapp.models.shows.Quality import de.christinecoenen.code.zapp.repositories.MediathekRepository import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.firstOrNull +import kotlinx.coroutines.flow.mapLatest +import kotlinx.coroutines.flow.onStart @OptIn(ExperimentalCoroutinesApi::class) class ShowMenuHelperViewModel( @@ -45,7 +50,7 @@ class ShowMenuHelperViewModel( DownloadStatus.DELETED, DownloadStatus.CANCELLED, DownloadStatus.REMOVED, - )), + ) && show.hasAnyDownloadQuality()), R.id.menu_remove_download to (it.downloadStatus in listOf( DownloadStatus.FAILED, @@ -65,7 +70,9 @@ class ShowMenuHelperViewModel( } .onStart { // for when the show has not yet been persisted - emit(defaultMapping) + emit(defaultMapping.toMutableMap().apply { + this[R.id.menu_start_download] = show.hasAnyDownloadQuality() + }) } .distinctUntilChanged() } diff --git a/app/src/main/res/raw-en/changelog.md b/app/src/main/res/raw-en/changelog.md index 340b428d..3b956d4f 100644 --- a/app/src/main/res/raw-en/changelog.md +++ b/app/src/main/res/raw-en/changelog.md @@ -1,3 +1,6 @@ +# v-next +* Fixed bug where download buttons were shows when no download available + # 8.5.4 * Updated support and crash report email address diff --git a/app/src/main/res/raw/changelog.md b/app/src/main/res/raw/changelog.md index 7ab4463b..cd6d2d29 100644 --- a/app/src/main/res/raw/changelog.md +++ b/app/src/main/res/raw/changelog.md @@ -1,3 +1,6 @@ +# v-next +* Fehler behoben, bei dem Download-Buttons bei Sendungen ohne Downloads angezeigt wurden + # 8.5.4 * Mail-Adresse für Support-Anfragen und Crash-Reports aktualisiert