android: Convert SliderSetting to Kotlin
This commit is contained in:
		| @@ -1,101 +0,0 @@ | ||||
| package org.yuzu.yuzu_emu.features.settings.model.view; | ||||
|  | ||||
| import org.yuzu.yuzu_emu.features.settings.model.FloatSetting; | ||||
| import org.yuzu.yuzu_emu.features.settings.model.IntSetting; | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Setting; | ||||
| import org.yuzu.yuzu_emu.utils.Log; | ||||
|  | ||||
| public final class SliderSetting extends SettingsItem { | ||||
|     private int mMin; | ||||
|     private int mMax; | ||||
|     private int mDefaultValue; | ||||
|  | ||||
|     private String mUnits; | ||||
|  | ||||
|     public SliderSetting(String key, String section, int titleId, int descriptionId, | ||||
|                          int min, int max, String units, int defaultValue, Setting setting) { | ||||
|         super(key, section, setting, titleId, descriptionId); | ||||
|         mMin = min; | ||||
|         mMax = max; | ||||
|         mUnits = units; | ||||
|         mDefaultValue = defaultValue; | ||||
|     } | ||||
|  | ||||
|     public int getMin() { | ||||
|         return mMin; | ||||
|     } | ||||
|  | ||||
|     public int getMax() { | ||||
|         return mMax; | ||||
|     } | ||||
|  | ||||
|     public int getDefaultValue() { | ||||
|         return mDefaultValue; | ||||
|     } | ||||
|  | ||||
|     public int getSelectedValue() { | ||||
|         Setting setting = getSetting(); | ||||
|  | ||||
|         if (setting == null) { | ||||
|             return mDefaultValue; | ||||
|         } | ||||
|  | ||||
|         if (setting instanceof IntSetting) { | ||||
|             IntSetting intSetting = (IntSetting) setting; | ||||
|             return intSetting.getValue(); | ||||
|         } else if (setting instanceof FloatSetting) { | ||||
|             FloatSetting floatSetting = (FloatSetting) setting; | ||||
|             return Math.round(floatSetting.getValue()); | ||||
|         } else { | ||||
|             Log.error("[SliderSetting] Error casting setting type."); | ||||
|             return -1; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 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; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Write a value to the backing float. If that float was previously null, | ||||
|      * initializes a new one and returns it, so it can be added to the Hashmap. | ||||
|      * | ||||
|      * @param selection New value of the float. | ||||
|      * @return null if overwritten successfully otherwise; a newly created FloatSetting. | ||||
|      */ | ||||
|     public FloatSetting setSelectedValue(float selection) { | ||||
|         if (getSetting() == null) { | ||||
|             FloatSetting setting = new FloatSetting(getKey(), getSection(), selection); | ||||
|             setSetting(setting); | ||||
|             return setting; | ||||
|         } else { | ||||
|             FloatSetting setting = (FloatSetting) getSetting(); | ||||
|             setting.setValue(selection); | ||||
|             return null; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public String getUnits() { | ||||
|         return mUnits; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int getType() { | ||||
|         return TYPE_SLIDER; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,72 @@ | ||||
| package org.yuzu.yuzu_emu.features.settings.model.view | ||||
|  | ||||
| import org.yuzu.yuzu_emu.features.settings.model.FloatSetting | ||||
| import org.yuzu.yuzu_emu.features.settings.model.IntSetting | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Setting | ||||
| import org.yuzu.yuzu_emu.utils.Log | ||||
| import kotlin.math.roundToInt | ||||
|  | ||||
| class SliderSetting( | ||||
|     key: String, | ||||
|     section: String, | ||||
|     setting: Setting?, | ||||
|     titleId: Int, | ||||
|     descriptionId: Int, | ||||
|     val min: Int, | ||||
|     val max: Int, | ||||
|     val units: String, | ||||
|     val defaultValue: Int, | ||||
| ) : SettingsItem(key, section, setting, titleId, descriptionId) { | ||||
|     override val type = TYPE_SLIDER | ||||
|  | ||||
|     val selectedValue: Int | ||||
|         get() { | ||||
|             val setting = setting ?: return defaultValue | ||||
|             return when (setting) { | ||||
|                 is IntSetting -> setting.value | ||||
|                 is FloatSetting -> setting.value.roundToInt() | ||||
|                 else -> { | ||||
|                     Log.error("[SliderSetting] Error casting setting type.") | ||||
|                     -1 | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|     /** | ||||
|      * 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 a value to the backing float. If that float was previously null, | ||||
|      * initializes a new one and returns it, so it can be added to the Hashmap. | ||||
|      * | ||||
|      * @param selection New value of the float. | ||||
|      * @return null if overwritten successfully otherwise; a newly created FloatSetting. | ||||
|      */ | ||||
|     fun setSelectedValue(selection: Float): FloatSetting? { | ||||
|         return if (setting == null) { | ||||
|             val newSetting = FloatSetting(key!!, section!!, selection) | ||||
|             setting = newSetting | ||||
|             newSetting | ||||
|         } else { | ||||
|             val newSetting = setting as FloatSetting | ||||
|             newSetting.value = selection | ||||
|             null | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Charles Lombardo
					Charles Lombardo