fix: current playlist doesn't close after deletion

This commit is contained in:
Bnyro 2025-03-19 21:16:54 +01:00
parent 3cca4623ad
commit 4fd1835dc6
No known key found for this signature in database
3 changed files with 14 additions and 9 deletions

View File

@ -41,11 +41,14 @@ class DeletePlaylistDialog : DialogFragment() {
context.toastFromMainDispatcher( context.toastFromMainDispatcher(
if (success) R.string.success else R.string.fail if (success) R.string.success else R.string.fail
) )
withContext(Dispatchers.Main) {
dismiss()
setFragmentResult( setFragmentResult(
PlaylistOptionsBottomSheet.PLAYLIST_OPTIONS_REQUEST_KEY, PlaylistOptionsBottomSheet.PLAYLIST_OPTIONS_REQUEST_KEY,
bundleOf(IntentData.playlistTask to true) bundleOf(IntentData.playlistTask to true)
) )
withContext(Dispatchers.Main) { dismiss() } }
} }
} }
} }

View File

@ -186,9 +186,10 @@ class LibraryFragment : DynamicLayoutManagerFragment(R.layout.fragment_library)
val binding = _binding ?: return@repeatOnLifecycle val binding = _binding ?: return@repeatOnLifecycle
binding.playlistRefresh.isRefreshing = false binding.playlistRefresh.isRefreshing = false
if (playlists.isNotEmpty()) { // also update playlists recycler when the playlists are empty in order to remove
// playlists that were removed by the user
showPlaylists(playlists) showPlaylists(playlists)
} else { if (playlists.isEmpty()) {
binding.sortTV.isVisible = false binding.sortTV.isVisible = false
binding.nothingHere.isVisible = true binding.nothingHere.isVisible = true
} }

View File

@ -14,6 +14,7 @@ import androidx.core.view.isVisible
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
@ -192,7 +193,7 @@ class PlaylistFragment : DynamicLayoutManagerFragment(R.layout.fragment_playlist
} }
if (isPlaylistToBeDeleted) { if (isPlaylistToBeDeleted) {
// TODO move back: navController().popBackStack() crashes findNavController().popBackStack()
return@setFragmentResultListener return@setFragmentResultListener
} }
} }