Przeglądaj źródła

android: Convert SingleChoiceSetting to Kotlin

Charles Lombardo 3 lat temu
rodzic
commit
a0e91e3a93

+ 0 - 60
src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SingleChoiceSetting.java

@@ -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;
-    }
-}

+ 44 - 0
src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SingleChoiceSetting.kt

@@ -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
+        }
+    }
+}