[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