summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java/org
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-01-06 22:51:58 -0500
committerCharles Lombardo <clombardo169@gmail.com>2023-01-13 16:32:09 -0500
commit937e08980ecf7289d86e2e7fd83f09b78f7a52ac (patch)
tree92fcb03d404dc2681755fdf07dd16eb8043307e3 /Source/Android/app/src/main/java/org
parente70b57fe8a5b4acddb6cbf98b7af0bcbf8b3caa0 (diff)
Android: Change slider step size based on range
Credit to JosJuice for the slider formula
Diffstat (limited to 'Source/Android/app/src/main/java/org')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
index b51d87e5a9..c15c0d4498 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
@@ -286,7 +286,18 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
slider.setValueFrom(item.getMin());
slider.setValueTo(item.getMax());
slider.setValue(mSeekbarProgress);
- slider.setStepSize(1);
+
+ // Sliders can get frustrating to use with a small step size and large ranges
+ int maxRange = item.getMax();
+ if (maxRange <= 100)
+ {
+ slider.setStepSize(1);
+ }
+ else
+ {
+ slider.setStepSize((int) Math.pow(10, Math.ceil(Math.log10(maxRange)) - 2));
+ }
+
slider.addOnChangeListener(this);
mDialog = new MaterialAlertDialogBuilder(mView.getActivity())