mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-31 05:08:57 +00:00
Android: Pass CoreDevice.Control to AdvancedMappingControlViewHolder
This commit is contained in:
parent
4b4a775d5a
commit
22fd0472ed
3 changed files with 10 additions and 8 deletions
|
@ -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 =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue