summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt61
1 files changed, 37 insertions, 24 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt
index 02dab3785..2cecede48 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt
@@ -5,6 +5,7 @@ package org.yuzu.yuzu_emu.features.settings.ui.viewholder
import android.view.View
import org.yuzu.yuzu_emu.databinding.ListItemSettingBinding
+import org.yuzu.yuzu_emu.features.settings.model.view.IntSingleChoiceSetting
import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem
import org.yuzu.yuzu_emu.features.settings.model.view.SingleChoiceSetting
import org.yuzu.yuzu_emu.features.settings.model.view.StringSingleChoiceSetting
@@ -17,30 +18,33 @@ class SingleChoiceViewHolder(val binding: ListItemSettingBinding, adapter: Setti
override fun bind(item: SettingsItem) {
setting = item
- binding.textSettingName.setText(item.nameId)
- if (item.descriptionId != 0) {
- binding.textSettingDescription.setText(item.descriptionId)
+ binding.textSettingName.text = setting.title
+ if (item.description.isNotEmpty()) {
+ binding.textSettingDescription.text = item.description
binding.textSettingDescription.visibility = View.VISIBLE
} else {
binding.textSettingDescription.visibility = View.GONE
}
binding.textSettingValue.visibility = View.VISIBLE
- if (item is SingleChoiceSetting) {
- val resMgr = binding.textSettingValue.context.resources
- val values = resMgr.getIntArray(item.valuesId)
- for (i in values.indices) {
- if (values[i] == item.getSelectedValue()) {
- binding.textSettingValue.text = resMgr.getStringArray(item.choicesId)[i]
- break
+ when (item) {
+ is SingleChoiceSetting -> {
+ val resMgr = binding.textSettingValue.context.resources
+ val values = resMgr.getIntArray(item.valuesId)
+ for (i in values.indices) {
+ if (values[i] == item.getSelectedValue()) {
+ binding.textSettingValue.text = resMgr.getStringArray(item.choicesId)[i]
+ break
+ }
}
}
- } else if (item is StringSingleChoiceSetting) {
- for (i in item.values.indices) {
- if (item.values[i] == item.getSelectedValue()) {
- binding.textSettingValue.text = item.choices[i]
- break
- }
+
+ is StringSingleChoiceSetting -> {
+ binding.textSettingValue.text = item.getSelectedValue()
+ }
+
+ is IntSingleChoiceSetting -> {
+ binding.textSettingValue.text = item.getChoiceAt(item.getSelectedValue())
}
}
@@ -63,16 +67,25 @@ class SingleChoiceViewHolder(val binding: ListItemSettingBinding, adapter: Setti
return
}
- if (setting is SingleChoiceSetting) {
- adapter.onSingleChoiceClick(
- (setting as SingleChoiceSetting),
- bindingAdapterPosition
- )
- } else if (setting is StringSingleChoiceSetting) {
- adapter.onStringSingleChoiceClick(
- (setting as StringSingleChoiceSetting),
+ when (setting) {
+ is SingleChoiceSetting -> adapter.onSingleChoiceClick(
+ setting as SingleChoiceSetting,
bindingAdapterPosition
)
+
+ is StringSingleChoiceSetting -> {
+ adapter.onStringSingleChoiceClick(
+ setting as StringSingleChoiceSetting,
+ bindingAdapterPosition
+ )
+ }
+
+ is IntSingleChoiceSetting -> {
+ adapter.onIntSingleChoiceClick(
+ setting as IntSingleChoiceSetting,
+ bindingAdapterPosition
+ )
+ }
}
}