Fix crash when using -1 as an id for MaterialMenuSheet

turns out fast adapter does not like -1 as an id
This commit is contained in:
Jays2Kings 2021-04-27 02:27:13 -04:00
parent 5c6a91b0d3
commit d1c709ce2c
2 changed files with 5 additions and 4 deletions

View File

@ -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<MenuSheetItem>,
private val items: List<MenuSheetItem>,
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

View File

@ -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)