From e6138d7683b8b86ad368f5056b424593cf36a10d Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 2 Sep 2023 09:12:42 +0200 Subject: [PATCH] Android: Fix controller float sliders crashing By not setting a stepSize, stepSize was getting set to the default value of 0, which is an Int. This later caused a crash when trying to cast it to Float. --- .../features/settings/model/view/FloatSliderSetting.kt | 3 ++- .../dolphinemu/features/settings/model/view/SliderSetting.kt | 2 ++ .../features/settings/ui/SettingsFragmentPresenter.kt | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.kt index c226e3e47e..7925903f5d 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.kt @@ -36,8 +36,9 @@ open class FloatSliderSetting : SliderSetting { min: Float, max: Float, units: String?, + stepSize: Float, showDecimal: Boolean - ) : super(name, description, min, max, units, showDecimal) { + ) : super(name, description, min, max, units, stepSize, showDecimal) { floatSetting = setting } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.kt index d3edccc025..6e93d74239 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.kt @@ -41,11 +41,13 @@ sealed class SliderSetting : SettingsItem { min: Any, max: Any, units: String?, + stepSize: Any, showDecimal: Boolean ) : super(name, description) { this.min = min this.max = max this.units = units + this.stepSize = stepSize this.showDecimal = showDecimal } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt index 15d678f752..fa5aaf4e53 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt @@ -2356,6 +2356,7 @@ class SettingsFragmentPresenter( ceil(setting.getDoubleMin()).toFloat(), floor(setting.getDoubleMax()).toFloat(), setting.getUiSuffix(), + 1.0f, false ) )