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