diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/StringMultiChoiceSetting.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/StringMultiChoiceSetting.kt index ced239289..8330ed186 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/StringMultiChoiceSetting.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/StringMultiChoiceSetting.kt @@ -48,6 +48,7 @@ class StringMultiChoiceSetting( } return defaultValue!! } + val selectValueIndices: BooleanArray get() { val noneList = values?.let { diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsAdapter.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsAdapter.kt index c3620d1ff..96c8b54e8 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsAdapter.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsAdapter.kt @@ -665,7 +665,8 @@ class SettingsAdapter( return checked_values.toBooleanArray() } } - + // TODO: Part of MultiChoice Impl + /* private fun getValueForMultiChoiceSelection(item: MultiChoiceSetting, which: Int, is_checked: Boolean): Int { val valuesId = item.valuesId if (valuesId > 0) { @@ -676,6 +677,7 @@ class SettingsAdapter( } return which } + */ private fun onMultiChoiceClick(item: MultiChoiceSetting) { clickedItem = item @@ -706,9 +708,10 @@ class SettingsAdapter( onStringMultiChoiceClick(item) } - //TODO: REFACTOR TO BE MULTICHOICE + //TODO: I only added MultiChoice for fleshing out backend, debating whether to remove MultiChoiceSetting and related code for cleaning up override fun onClick(dialog: DialogInterface?, which: Int, is_checked: Boolean) { when (clickedItem) { + /* is MultiChoiceSetting -> { val scSetting = clickedItem as? MultiChoiceSetting scSetting?.let { @@ -736,18 +739,19 @@ class SettingsAdapter( else -> throw IllegalStateException("Unrecognized type used for MultiChoiceSetting!") } fragmentView?.putSetting(setting as AbstractSetting) - fragmentView.loadSettingsList() - closeDialog() + //fragmentView.loadSettingsList() + //closeDialog() } } + */ is StringMultiChoiceSetting -> { val scSetting = clickedItem as? StringMultiChoiceSetting scSetting?.let { val setting = when (it.setting) { is AbstractMultiStringSetting -> { val value = it.getValueAt(which) - if (value !in it.selectedValues ) { + if (value in it.selectedValues && !is_checked) { it.removeSelectedValue(value ?: "") fragmentView?.onSettingChanged() } else { @@ -768,8 +772,8 @@ class SettingsAdapter( } fragmentView?.putSetting(setting as AbstractSetting) - fragmentView.loadSettingsList() - closeDialog() + //fragmentView.loadSettingsList() + //closeDialog() } } } diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt index 8cd1c2193..500a5df4b 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -34,6 +34,7 @@ import org.citra.citra_emu.features.settings.model.StringSetting import org.citra.citra_emu.features.settings.model.view.DateTimeSetting import org.citra.citra_emu.features.settings.model.view.HeaderSetting import org.citra.citra_emu.features.settings.model.view.InputBindingSetting +import org.citra.citra_emu.features.settings.model.view.MultiChoiceSetting import org.citra.citra_emu.features.settings.model.view.RunnableSetting import org.citra.citra_emu.features.settings.model.view.SettingsItem import org.citra.citra_emu.features.settings.model.view.SingleChoiceSetting @@ -829,7 +830,6 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) } val buttons = settingsActivity.resources.getStringArray(R.array.n3dsButtons).take(10).toTypedArray() - val combo_values = settingsActivity.resources.getStringArray(R.array.combovalues) sl.apply { add( @@ -847,7 +847,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) R.string.combo_key_options, 0, buttons, - combo_values + buttons ) ) } diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index bbf104653..543b59913 100644 --- a/src/android/app/src/main/res/values/arrays.xml +++ b/src/android/app/src/main/res/values/arrays.xml @@ -169,20 +169,6 @@ @string/button_turbo - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - - @string/blank @string/still_image