[Android] Fix refreshing the media list when the media fav state changed
Nicolas Pomepuy
git at videolan.org
Wed Apr 30 05:01:10 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Tue Apr 29 11:29:19 2025 +0200| [6d24b9dd278903f13b595c9ab885842400fda826] | committer: Nicolas Pomepuy
Fix refreshing the media list when the media fav state changed
> https://code.videolan.org/videolan/vlc-android/commit/6d24b9dd278903f13b595c9ab885842400fda826
---
.../vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt | 1 +
.../vlc-android/src/org/videolan/vlc/gui/audio/BaseAudioBrowser.kt | 1 +
.../vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt | 5 +++--
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt
index dde42b30d5..f662393c3d 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt
@@ -572,6 +572,7 @@ open class HeaderMediaListActivity : AudioPlayerContainerActivity(), IEventsHand
}
CTX_FAV_ADD, CTX_FAV_REMOVE -> lifecycleScope.launch {
media.isFavorite = option == CTX_FAV_ADD
+ withContext(Dispatchers.Main) { audioBrowserAdapter.notifyItemChanged(position) }
}
CTX_ADD_SHORTCUT -> lifecycleScope.launch { createShortcut(media) }
CTX_GO_TO_ARTIST -> lifecycleScope.launch(Dispatchers.IO) {
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/audio/BaseAudioBrowser.kt b/application/vlc-android/src/org/videolan/vlc/gui/audio/BaseAudioBrowser.kt
index 9c608900b9..c956804b5b 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/audio/BaseAudioBrowser.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/audio/BaseAudioBrowser.kt
@@ -557,6 +557,7 @@ abstract class BaseAudioBrowser<T : MedialibraryViewModel> : MediaBrowserFragmen
CTX_ADD_SHORTCUT -> lifecycleScope.launch {requireActivity().createShortcut(media)}
CTX_FAV_ADD, CTX_FAV_REMOVE -> lifecycleScope.launch {
withContext(Dispatchers.IO) { media.isFavorite = option == CTX_FAV_ADD }
+ withContext(Dispatchers.Main) { getCurrentAdapter()?.notifyItemChanged(position) }
}
CTX_RENAME -> {
if (media !is Playlist) return
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt
index 127df854d4..11776c7722 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoGridFragment.kt
@@ -32,7 +32,6 @@ import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode
import androidx.coordinatorlayout.widget.CoordinatorLayout
-import androidx.core.net.toUri
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.lifecycleScope
@@ -106,7 +105,6 @@ import org.videolan.vlc.gui.helpers.AudioUtil.setRingtone
import org.videolan.vlc.gui.helpers.DefaultPlaybackAction
import org.videolan.vlc.gui.helpers.DefaultPlaybackActionMediaType
import org.videolan.vlc.gui.helpers.ItemOffsetDecoration
-import org.videolan.vlc.gui.helpers.MedialibraryUtils
import org.videolan.vlc.gui.helpers.UiTools
import org.videolan.vlc.gui.helpers.UiTools.addToGroup
import org.videolan.vlc.gui.helpers.UiTools.addToPlaylist
@@ -641,6 +639,7 @@ class VideoGridFragment : MediaBrowserFragment<VideosViewModel>(), SwipeRefreshL
CTX_MARK_AS_UNPLAYED -> lifecycleScope.launch { viewModel.markAsUnplayed(media) }
CTX_FAV_ADD, CTX_FAV_REMOVE -> lifecycleScope.launch(Dispatchers.IO) {
media.isFavorite = option == CTX_FAV_ADD
+ withContext(Dispatchers.Main) { videoListAdapter.notifyItemChanged(position) }
}
CTX_GO_TO_FOLDER -> showParentFolder(media)
CTX_ADD_SHORTCUT -> lifecycleScope.launch { requireActivity().createShortcut(media)}
@@ -654,6 +653,7 @@ class VideoGridFragment : MediaBrowserFragment<VideosViewModel>(), SwipeRefreshL
CTX_MARK_ALL_AS_UNPLAYED -> lifecycleScope.launch { viewModel.markAsUnplayed(media) }
CTX_FAV_ADD, CTX_FAV_REMOVE -> lifecycleScope.launch(Dispatchers.IO) {
media.isFavorite = option == CTX_FAV_ADD
+ withContext(Dispatchers.Main) { videoListAdapter.notifyItemChanged(position) }
}
CTX_BAN_FOLDER -> banFolder(media)
else -> {}
@@ -670,6 +670,7 @@ class VideoGridFragment : MediaBrowserFragment<VideosViewModel>(), SwipeRefreshL
CTX_ADD_GROUP -> requireActivity().addToGroup(listOf(media).getAll(), true)
CTX_FAV_ADD, CTX_FAV_REMOVE -> lifecycleScope.launch(Dispatchers.IO) {
media.isFavorite = option == CTX_FAV_ADD
+ withContext(Dispatchers.Main) { videoListAdapter.notifyItemChanged(position) }
}
else -> {}
}
More information about the Android
mailing list