mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
Android: Pass CoreDevice.Control to AdvancedMappingControlViewHolder
This commit is contained in:
@ -7,6 +7,7 @@ import android.view.ViewGroup
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import org.dolphinemu.dolphinemu.databinding.ListItemAdvancedMappingControlBinding
|
||||
import org.dolphinemu.dolphinemu.features.input.model.CoreDevice
|
||||
import java.util.function.Consumer
|
||||
|
||||
class AdvancedMappingControlAdapter(
|
||||
@ -14,7 +15,7 @@ class AdvancedMappingControlAdapter(
|
||||
private val onClickCallback: Consumer<String>
|
||||
) : RecyclerView.Adapter<AdvancedMappingControlViewHolder>() {
|
||||
|
||||
private var controls = emptyArray<String>()
|
||||
private var controls = emptyArray<CoreDevice.Control>()
|
||||
|
||||
override fun onCreateViewHolder(
|
||||
parent: ViewGroup,
|
||||
@ -30,7 +31,7 @@ class AdvancedMappingControlAdapter(
|
||||
|
||||
override fun getItemCount(): Int = controls.size
|
||||
|
||||
fun setControls(controls: Array<String>) {
|
||||
fun setControls(controls: Array<CoreDevice.Control>) {
|
||||
this.controls = controls
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ package org.dolphinemu.dolphinemu.features.input.ui
|
||||
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import org.dolphinemu.dolphinemu.databinding.ListItemAdvancedMappingControlBinding
|
||||
import org.dolphinemu.dolphinemu.features.input.model.CoreDevice
|
||||
import org.dolphinemu.dolphinemu.utils.LifecycleViewHolder
|
||||
import java.util.function.Consumer
|
||||
|
||||
@ -13,14 +14,14 @@ class AdvancedMappingControlViewHolder(
|
||||
onClickCallback: Consumer<String>
|
||||
) : LifecycleViewHolder(binding.root, parentLifecycle) {
|
||||
|
||||
private lateinit var name: String
|
||||
private lateinit var control: CoreDevice.Control
|
||||
|
||||
init {
|
||||
binding.root.setOnClickListener { onClickCallback.accept(name) }
|
||||
binding.root.setOnClickListener { onClickCallback.accept(control.getName()) }
|
||||
}
|
||||
|
||||
fun bind(name: String) {
|
||||
this.name = name
|
||||
binding.textName.text = name
|
||||
fun bind(control: CoreDevice.Control) {
|
||||
this.control = control
|
||||
binding.textName.text = control.getName()
|
||||
}
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ class AdvancedMappingDialog(
|
||||
}
|
||||
|
||||
private fun setControls(controls: Array<CoreDevice.Control>) =
|
||||
controlAdapter.setControls(controls.map { it.getName() }.toTypedArray())
|
||||
controlAdapter.setControls(controls)
|
||||
|
||||
private fun onControlClicked(control: String) {
|
||||
val expression =
|
||||
|
Reference in New Issue
Block a user