diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheet.kt index c5f4bafce6..01e2e95eeb 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheet.kt @@ -23,11 +23,12 @@ import eu.kanade.tachiyomi.util.view.checkHeightThen import eu.kanade.tachiyomi.util.view.expand import eu.kanade.tachiyomi.util.view.updateLayoutParams import eu.kanade.tachiyomi.widget.EdgeToEdgeBottomSheetDialog +import kotlin.math.max import kotlin.math.min class MaterialMenuSheet( activity: Activity, - items: List, + private val items: List, title: String? = null, selectedId: Int? = null, maxHeight: Int? = null, @@ -83,7 +84,7 @@ class MaterialMenuSheet( binding.toolbarTitle.text = title if (selectedId != null) { - val pos = itemAdapter.getAdapterPosition(selectedId.toLong()) + val pos = max(items.indexOfFirst { it.id == selectedId }, 0) itemAdapter.getAdapterItem(pos).isSelected = true binding.root.post { binding.root.post { @@ -131,7 +132,7 @@ class MaterialMenuSheet( if (clearAll) { clearEndDrawables() } - val pos = itemAdapter.getAdapterPosition(id.toLong()) + val pos = max(items.indexOfFirst { it.id == id }, 0) val item = itemAdapter.getAdapterItem(pos) item.sheetItem.endDrawableRes = drawableRes item.isSelected = true diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheetItem.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheetItem.kt index 559051321d..72ad289e14 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheetItem.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/MaterialMenuSheetItem.kt @@ -15,7 +15,7 @@ class MaterialMenuSheetItem(val sheetItem: MaterialMenuSheet.MenuSheetItem) : Ab * Returns the layout resource for this item. */ override val layoutRes: Int = R.layout.menu_sheet_item - override var identifier = sheetItem.id.hashCode().toLong() + override var identifier = sheetItem.id.toLong() override fun getViewHolder(v: View): ViewHolder { return ViewHolder(v)