[Android] Fix items thumbnails in the save playlist dialog
Nicolas Pomepuy
git at videolan.org
Fri Jan 31 10:14:22 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Mon Jan 27 14:38:55 2025 +0100| [e1519eb90068b20dfcd2c6be29e306216f68de43] | committer: Nicolas Pomepuy
Fix items thumbnails in the save playlist dialog
> https://code.videolan.org/videolan/vlc-android/commit/e1519eb90068b20dfcd2c6be29e306216f68de43
---
.../vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt | 6 ++++++
.../src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt | 12 ++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt b/application/vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt
index 03f904b3d5..f9869eae28 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt
@@ -1,5 +1,7 @@
package org.videolan.vlc.gui
+import android.graphics.drawable.BitmapDrawable
+import android.graphics.drawable.Drawable
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
@@ -24,6 +26,7 @@ class SimpleAdapter(val handler: ClickHandler) : ListAdapter<MediaLibraryItem, S
MultiSelectAdapter<MediaLibraryItem> {
val multiSelectHelper: MultiSelectHelper<MediaLibraryItem> = MultiSelectHelper(this, UPDATE_SELECTION)
+ var defaultCover:BitmapDrawable? = null
interface ClickHandler {
fun onClick(item: MediaLibraryItem, position: Int)
@@ -45,6 +48,9 @@ class SimpleAdapter(val handler: ClickHandler) : ListAdapter<MediaLibraryItem, S
(getItem(position) as? DummyItem)?.let {
holder.binding.cover = getDummyItemIcon(holder.itemView.context, it)
}
+ if (defaultCover != null) {
+ holder.binding.cover = defaultCover
+ }
}
fun isEmpty() = itemCount == 0
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt
index e3cfe976e3..ace18af2b5 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt
@@ -41,9 +41,13 @@ import org.videolan.medialibrary.interfaces.Medialibrary
import org.videolan.medialibrary.interfaces.media.MediaWrapper
import org.videolan.medialibrary.interfaces.media.Playlist
import org.videolan.medialibrary.media.MediaLibraryItem
-import org.videolan.resources.util.parcelable
import org.videolan.resources.util.parcelableArray
-import org.videolan.tools.*
+import org.videolan.tools.AppScope
+import org.videolan.tools.CoroutineContextProvider
+import org.videolan.tools.DependencyProvider
+import org.videolan.tools.PLAYLIST_REPLACE
+import org.videolan.tools.Settings
+import org.videolan.tools.putSingle
import org.videolan.vlc.R
import org.videolan.vlc.databinding.DialogPlaylistBinding
import org.videolan.vlc.gui.SimpleAdapter
@@ -59,9 +63,8 @@ import org.videolan.vlc.providers.FileBrowserProvider
import org.videolan.vlc.util.isSchemeStreaming
import org.videolan.vlc.viewmodels.browser.TYPE_FILE
import org.videolan.vlc.viewmodels.browser.getBrowserModel
-import java.util.*
+import java.util.LinkedList
import java.util.concurrent.atomic.AtomicBoolean
-import kotlin.collections.ArrayList
class SavePlaylistDialog : VLCBottomSheetDialogFragment(), View.OnClickListener,
TextView.OnEditorActionListener, SimpleAdapter.ClickHandler {
@@ -105,6 +108,7 @@ class SavePlaylistDialog : VLCBottomSheetDialogFragment(), View.OnClickListener,
lifecycleScope.launch { if (requireActivity().showPinIfNeeded()) dismiss() }
medialibrary = Medialibrary.getInstance()
adapter = SimpleAdapter(this)
+ adapter.defaultCover = UiTools.getDefaultPlaylistDrawable(requireActivity())
newTracks = try {
@Suppress("UNCHECKED_CAST")
val tracks = requireArguments().parcelableArray<MediaWrapper>(KEY_NEW_TRACKS) as Array<MediaWrapper>
More information about the Android
mailing list