0
0
mirror of https://github.com/mediathekview/zapp.git synced 2024-09-19 20:02:17 +02:00

Fixed removing a bookmark is sometimes not possible #451

This commit is contained in:
Christine Coenen 2024-09-11 18:45:33 +02:00
parent 4835c5752b
commit 65c0f79326
4 changed files with 25 additions and 9 deletions

View File

@ -8,6 +8,7 @@ import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.fragment.app.setFragmentResultListener
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.coroutineScope
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
import com.google.android.material.snackbar.Snackbar
@ -33,6 +34,7 @@ import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.transform
import kotlinx.coroutines.launch
import org.koin.android.ext.android.inject
import timber.log.Timber
import kotlin.time.Duration.Companion.milliseconds
@ -243,7 +245,7 @@ class MediathekDetailFragment : Fragment() {
}
private fun updateVideoThumbnail() {
viewLifecycleOwner.launchOnCreated {
lifecycle.coroutineScope.launch {
// reload show for up to date file path and then update thumbnail
mediathekRepository
@ -268,7 +270,7 @@ class MediathekDetailFragment : Fragment() {
private fun download(downloadQuality: Quality) {
startDownloadJob?.cancel()
startDownloadJob = viewLifecycleOwner.launchOnCreated {
startDownloadJob = lifecycle.coroutineScope.launch {
try {
downloadController.startDownload(persistedMediathekShow!!.id, downloadQuality)

View File

@ -1,18 +1,23 @@
package de.christinecoenen.code.zapp.app.mediathek.ui.helper
import android.view.*
import android.view.Gravity
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import android.view.View
import android.widget.PopupMenu
import android.widget.PopupMenu.OnMenuItemClickListener
import androidx.fragment.app.Fragment
import androidx.fragment.app.setFragmentResultListener
import androidx.lifecycle.coroutineScope
import de.christinecoenen.code.zapp.R
import de.christinecoenen.code.zapp.app.mediathek.ui.dialogs.ConfirmDeleteDownloadDialog
import de.christinecoenen.code.zapp.app.mediathek.ui.dialogs.SelectQualityDialog
import de.christinecoenen.code.zapp.models.shows.MediathekShow
import de.christinecoenen.code.zapp.utils.system.LifecycleOwnerHelper.launchOnCreated
import de.christinecoenen.code.zapp.utils.system.LifecycleOwnerHelper.launchOnResumed
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
import org.koin.androidx.viewmodel.ext.android.viewModel
/**
@ -59,38 +64,45 @@ class ShowMenuHelper(
show.shareExternally(fragment.requireContext())
true
}
R.id.menu_add_bookmark -> {
fragment.launchOnResumed {
fragment.lifecycle.coroutineScope.launch {
viewModel.bookmark(show)
}
return true
}
R.id.menu_remove_bookmark -> {
fragment.launchOnResumed {
fragment.lifecycle.coroutineScope.launch {
viewModel.removeBookmark(show)
}
return true
}
R.id.menu_start_download -> {
showSelectQualityDialog()
return true
}
R.id.menu_remove_download -> {
showConfirmDeleteDownloadDialog()
return true
}
R.id.menu_cancel_download -> {
fragment.launchOnResumed {
fragment.lifecycle.coroutineScope.launch {
viewModel.cancelDownload(show)
}
return true
}
R.id.menu_mark_unwatched -> {
fragment.launchOnResumed {
fragment.lifecycle.coroutineScope.launch {
viewModel.markUnwatched(show)
}
return true
}
else -> false
}
}
@ -101,7 +113,7 @@ class ShowMenuHelper(
private fun startUpdateMenuJob(menu: Menu) {
updateMenuItemsJob?.cancel()
updateMenuItemsJob = fragment.launchOnResumed {
updateMenuItemsJob = fragment.lifecycle.coroutineScope.launch {
viewModel
.getMenuItemsVisibility(show)
.collectLatest { applyVisibiltyToMenu(menu, it) }

View File

@ -1,5 +1,6 @@
# v-next
* Fixed html entities visible in program information titles
* Fixed removing a bookmark is sometimes not possible
# 8.5.2
* Removed duplicate entries when scrolling the mediathek list

View File

@ -1,5 +1,6 @@
# v-next
* Sichtbare HTML-Entities in Programm-Information repariert
* Repariert, dass Lesezeichen manchmal nicht entfernt werden können
# 8.5.2
* Duplikate beim Scrollen in der Mediathek-Liste entfernt