android: Refactor CheckBoxSetting to SwitchSetting
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
		Reference in New Issue
	
	Block a user