android: Refactor CheckBoxSetting to SwitchSetting

This commit is contained in:
Charles Lombardo 2023-03-19 23:40:15 -04:00 committed by bunnei
parent b5b4e50c32
commit 4de3abdd5a
5 changed files with 14 additions and 14 deletions

View file

@ -23,7 +23,7 @@ abstract class SettingsItem(
companion object {
const val TYPE_HEADER = 0
const val TYPE_CHECKBOX = 1
const val TYPE_SWITCH = 1
const val TYPE_SINGLE_CHOICE = 2
const val TYPE_SLIDER = 3
const val TYPE_SUBMENU = 4

View file

@ -10,8 +10,8 @@ import org.yuzu.yuzu_emu.features.settings.model.IntSetting
import org.yuzu.yuzu_emu.features.settings.model.Setting
import org.yuzu.yuzu_emu.features.settings.ui.SettingsFragmentView
class CheckBoxSetting : SettingsItem {
override val type = TYPE_CHECKBOX
class SwitchSetting : SettingsItem {
override val type = TYPE_SWITCH
private var defaultValue: Boolean
private var showPerformanceWarning: Boolean

View file

@ -52,7 +52,7 @@ class SettingsAdapter(
}
SettingsItem.TYPE_CHECKBOX -> {
view = inflater.inflate(R.layout.list_item_setting_switch, parent, false)
CheckBoxSettingViewHolder(view, this)
SwitchSettingViewHolder(view, this)
}
SettingsItem.TYPE_SINGLE_CHOICE, SettingsItem.TYPE_STRING_SINGLE_CHOICE -> {
view = inflater.inflate(R.layout.list_item_setting, parent, false)
@ -103,7 +103,7 @@ class SettingsAdapter(
notifyDataSetChanged()
}
fun onBooleanClick(item: CheckBoxSetting, position: Int, checked: Boolean) {
fun onBooleanClick(item: SwitchSetting, position: Int, checked: Boolean) {
val setting = item.setChecked(checked)
if (setting != null) {
fragmentView.putSetting(setting)

View file

@ -139,7 +139,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
val cpuAccuracy = cpuSection!!.getSetting(SettingsFile.KEY_CPU_ACCURACY)
sl.apply {
add(
CheckBoxSetting(
SwitchSetting(
SettingsFile.KEY_RENDERER_USE_SPEED_LIMIT,
Settings.SECTION_RENDERER,
frameLimitEnable,
@ -184,7 +184,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
val language = systemSection.getSetting(SettingsFile.KEY_LANGUAGE_INDEX)
sl.apply {
add(
CheckBoxSetting(
SwitchSetting(
SettingsFile.KEY_USE_DOCKED_MODE,
Settings.SECTION_SYSTEM,
dockedMode,
@ -283,7 +283,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
)
)
add(
CheckBoxSetting(
SwitchSetting(
SettingsFile.KEY_RENDERER_FORCE_MAX_CLOCK,
Settings.SECTION_RENDERER,
rendererForceMaxClocks,
@ -293,7 +293,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
)
)
add(
CheckBoxSetting(
SwitchSetting(
SettingsFile.KEY_RENDERER_ASYNCHRONOUS_SHADERS,
Settings.SECTION_RENDERER,
rendererAsynchronousShaders,
@ -303,7 +303,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
)
)
add(
CheckBoxSetting(
SwitchSetting(
SettingsFile.KEY_RENDERER_DEBUG,
Settings.SECTION_RENDERER,
rendererDebug,

View file

@ -8,13 +8,13 @@ import android.widget.CompoundButton
import android.widget.TextView
import com.google.android.material.materialswitch.MaterialSwitch
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.features.settings.model.view.CheckBoxSetting
import org.yuzu.yuzu_emu.features.settings.model.view.SwitchSetting
import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem
import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter
class CheckBoxSettingViewHolder(itemView: View, adapter: SettingsAdapter) :
class SwitchSettingViewHolder(itemView: View, adapter: SettingsAdapter) :
SettingViewHolder(itemView, adapter) {
private lateinit var item: CheckBoxSetting
private lateinit var item: SwitchSetting
private lateinit var textSettingName: TextView
private lateinit var textSettingDescription: TextView
private lateinit var switch: MaterialSwitch
@ -26,7 +26,7 @@ class CheckBoxSettingViewHolder(itemView: View, adapter: SettingsAdapter) :
}
override fun bind(item: SettingsItem) {
this.item = item as CheckBoxSetting
this.item = item as SwitchSetting
textSettingName.setText(item.nameId)
if (item.descriptionId!! > 0) {
textSettingDescription.setText(item.descriptionId)