committed by
bunnei
2 changed files with 44 additions and 60 deletions
-
60src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SingleChoiceSetting.java
-
44src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SingleChoiceSetting.kt
@ -1,60 +0,0 @@ |
|||
package org.yuzu.yuzu_emu.features.settings.model.view; |
|||
|
|||
import org.yuzu.yuzu_emu.features.settings.model.IntSetting; |
|||
import org.yuzu.yuzu_emu.features.settings.model.Setting; |
|||
|
|||
public final class SingleChoiceSetting extends SettingsItem { |
|||
private int mDefaultValue; |
|||
|
|||
private int mChoicesId; |
|||
private int mValuesId; |
|||
|
|||
public SingleChoiceSetting(String key, String section, int titleId, int descriptionId, |
|||
int choicesId, int valuesId, int defaultValue, Setting setting) { |
|||
super(key, section, setting, titleId, descriptionId); |
|||
mValuesId = valuesId; |
|||
mChoicesId = choicesId; |
|||
mDefaultValue = defaultValue; |
|||
} |
|||
|
|||
public int getChoicesId() { |
|||
return mChoicesId; |
|||
} |
|||
|
|||
public int getValuesId() { |
|||
return mValuesId; |
|||
} |
|||
|
|||
public int getSelectedValue() { |
|||
if (getSetting() != null) { |
|||
IntSetting setting = (IntSetting) getSetting(); |
|||
return setting.getValue(); |
|||
} else { |
|||
return mDefaultValue; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* Write a value to the backing int. If that int was previously null, |
|||
* initializes a new one and returns it, so it can be added to the Hashmap. |
|||
* |
|||
* @param selection New value of the int. |
|||
* @return null if overwritten successfully otherwise; a newly created IntSetting. |
|||
*/ |
|||
public IntSetting setSelectedValue(int selection) { |
|||
if (getSetting() == null) { |
|||
IntSetting setting = new IntSetting(getKey(), getSection(), selection); |
|||
setSetting(setting); |
|||
return setting; |
|||
} else { |
|||
IntSetting setting = (IntSetting) getSetting(); |
|||
setting.setValue(selection); |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public int getType() { |
|||
return TYPE_SINGLE_CHOICE; |
|||
} |
|||
} |
|||
@ -0,0 +1,44 @@ |
|||
package org.yuzu.yuzu_emu.features.settings.model.view |
|||
|
|||
import org.yuzu.yuzu_emu.features.settings.model.IntSetting |
|||
import org.yuzu.yuzu_emu.features.settings.model.Setting |
|||
|
|||
class SingleChoiceSetting( |
|||
key: String, |
|||
section: String, |
|||
setting: Setting?, |
|||
titleId: Int, |
|||
descriptionId: Int, |
|||
val choicesId: Int, |
|||
val valuesId: Int, |
|||
private val defaultValue: Int, |
|||
) : SettingsItem(key, section, setting, titleId, descriptionId) { |
|||
override val type = TYPE_SINGLE_CHOICE |
|||
|
|||
val selectedValue: Int |
|||
get() = if (setting != null) { |
|||
val setting = setting as IntSetting |
|||
setting.value |
|||
} else { |
|||
defaultValue |
|||
} |
|||
|
|||
/** |
|||
* Write a value to the backing int. If that int was previously null, |
|||
* initializes a new one and returns it, so it can be added to the Hashmap. |
|||
* |
|||
* @param selection New value of the int. |
|||
* @return null if overwritten successfully otherwise; a newly created IntSetting. |
|||
*/ |
|||
fun setSelectedValue(selection: Int): IntSetting? { |
|||
return if (setting == null) { |
|||
val newSetting = IntSetting(key!!, section!!, selection) |
|||
setting = newSetting |
|||
newSetting |
|||
} else { |
|||
val newSetting = setting as IntSetting |
|||
newSetting.value = selection |
|||
null |
|||
} |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue