[Android] Refactor the SimpleAdapter click method

Nicolas Pomepuy git at videolan.org
Fri Mar 14 09:31:18 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Wed Mar 12 13:56:28 2025 +0100| [16df4c2e68e36c0d7b91df2e1795729912ad071f] | committer: Nicolas Pomepuy

Refactor the SimpleAdapter click method

> https://code.videolan.org/videolan/vlc-android/commit/16df4c2e68e36c0d7b91df2e1795729912ad071f
---

 application/vlc-android/res/layout/simple_item.xml                 | 2 +-
 application/vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt  | 3 +--
 .../src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt           | 7 +++----
 .../src/org/videolan/vlc/gui/dialogs/SavePlaylistDialog.kt         | 2 +-
 4 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/application/vlc-android/res/layout/simple_item.xml b/application/vlc-android/res/layout/simple_item.xml
index 25ff5a218c..a4b16e831d 100644
--- a/application/vlc-android/res/layout/simple_item.xml
+++ b/application/vlc-android/res/layout/simple_item.xml
@@ -42,7 +42,7 @@
         android:background="?attr/video_list_background"
         android:focusable="true"
         android:foreground="?attr/selectableItemBackground"
-        android:onClick="@{(v) -> handler.onClick(item,position)}"
+        android:onClick="@{(v) -> handler.onClick(position)}"
         android:orientation="horizontal"
         android:padding="8dp">
 
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 f9869eae28..db5a9913a2 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/SimpleAdapter.kt
@@ -1,7 +1,6 @@
 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
@@ -29,7 +28,7 @@ class SimpleAdapter(val handler: ClickHandler) : ListAdapter<MediaLibraryItem, S
     var defaultCover:BitmapDrawable? = null
 
     interface ClickHandler {
-        fun onClick(item: MediaLibraryItem, position: Int)
+        fun onClick(position: Int)
     }
 
     private lateinit var inflater : LayoutInflater
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt
index 825ac2f7db..f3cdf88303 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/AddToGroupDialog.kt
@@ -38,7 +38,6 @@ import org.videolan.medialibrary.interfaces.Medialibrary
 import org.videolan.medialibrary.interfaces.media.MediaWrapper
 import org.videolan.medialibrary.interfaces.media.VideoGroup
 import org.videolan.medialibrary.media.DummyItem
-import org.videolan.medialibrary.media.MediaLibraryItem
 import org.videolan.resources.DUMMY_NEW_GROUP
 import org.videolan.resources.util.parcelableArray
 import org.videolan.tools.AppScope
@@ -50,7 +49,7 @@ import org.videolan.vlc.gui.SimpleAdapter
 import org.videolan.vlc.gui.helpers.UiTools.showPinIfNeeded
 import org.videolan.vlc.viewmodels.mobile.VideoGroupingType
 import org.videolan.vlc.viewmodels.mobile.VideosViewModel
-import java.util.*
+import java.util.LinkedList
 
 const val CONFIRM_ADD_TO_GROUP_RESULT = "CONFIRM_ADD_TO_GROUP_RESULT"
 
@@ -157,8 +156,8 @@ class AddToGroupDialog : VLCBottomSheetDialogFragment(), SimpleAdapter.ClickHand
         dismiss()
     }
 
-    override fun onClick(item: MediaLibraryItem, position: Int) {
-        when (item) {
+    override fun onClick(position: Int) {
+        when (val item = adapter.currentList[position]) {
             is DummyItem -> {
                 setFragmentResult(CONFIRM_ADD_TO_GROUP_RESULT, bundleOf(KEY_TRACKS to newTrack))
                 dismiss()
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 a3e2b3d7e0..a1bc243c38 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
@@ -371,7 +371,7 @@ class SavePlaylistDialog : VLCBottomSheetDialogFragment(), View.OnClickListener,
         }
     }
 
-    override fun onClick(item: MediaLibraryItem, position: Int) {
+    override fun onClick(position: Int) {
         adapter.multiSelectHelper.toggleSelection(position)
         binding.selectedPlaylistCount.text = resources.getString(R.string.selection_count, adapter.multiSelectHelper.getSelection().size)
     }



More information about the Android mailing list