suyu/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SingleChoiceSetting.kt

Les révisions dans .git-blame-ignore-revs sont ignorées. Vous pouvez quand même voir ces blâmes.

30 lignes
1020 B
Kotlin
Brut Vue normale Historique

// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2024-03-05 09:42:40 +01:00
// SPDX-License-Identifier: GPL-2.0-or-later
2024-04-01 02:08:49 +02:00
package dev.suyu.suyu_emu.features.settings.model.view
2024-03-05 09:42:40 +01:00
import androidx.annotation.ArrayRes
import androidx.annotation.StringRes
2024-04-01 02:08:49 +02:00
import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting
import dev.suyu.suyu_emu.features.settings.model.AbstractSetting
2024-03-05 09:42:40 +01:00
class SingleChoiceSetting(
setting: AbstractSetting,
@StringRes titleId: Int = 0,
titleString: String = "",
@StringRes descriptionId: Int = 0,
descriptionString: String = "",
@ArrayRes val choicesId: Int,
@ArrayRes val valuesId: Int
) : SettingsItem(setting, titleId, titleString, descriptionId, descriptionString) {
override val type = TYPE_SINGLE_CHOICE
fun getSelectedValue(needsGlobal: Boolean = false) =
when (setting) {
is AbstractIntSetting -> setting.getInt(needsGlobal)
else -> -1
}
fun setSelectedValue(value: Int) = (setting as AbstractIntSetting).setInt(value)
}