summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java/org
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2023-01-30 19:32:18 +0100
committerGitHub <noreply@github.com>2023-01-30 19:32:18 +0100
commit65c782b3b94a0e6782b001d182afae7090626375 (patch)
tree4a6e7f1d4bd9b55b7807e89f02edbdbfbc4cd497 /Source/Android/app/src/main/java/org
parent8960f6f07c07f26767a3ef07c402b8c457b9b621 (diff)
parent26c8440ae10b19838a83da4c5e09a6489c5b915c (diff)
Merge pull request #11517 from t895/slider-setting-adjustment
Android: Set each slider step size manually
Diffstat (limited to 'Source/Android/app/src/main/java/org')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java4
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java4
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java4
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java9
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java12
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java24
6 files changed, 28 insertions, 29 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java
index f7dfd51745..167c5a471b 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java
@@ -13,9 +13,9 @@ public class FloatSliderSetting extends SliderSetting
protected AbstractFloatSetting mSetting;
public FloatSliderSetting(Context context, AbstractFloatSetting setting, int titleId,
- int descriptionId, int min, int max, String units)
+ int descriptionId, int min, int max, String units, int stepSize)
{
- super(context, titleId, descriptionId, min, max, units);
+ super(context, titleId, descriptionId, min, max, units, stepSize);
mSetting = setting;
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java
index 8bcfed7967..b7268dfc7e 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java
@@ -13,9 +13,9 @@ public final class IntSliderSetting extends SliderSetting
private AbstractIntSetting mSetting;
public IntSliderSetting(Context context, AbstractIntSetting setting, int titleId,
- int descriptionId, int min, int max, String units)
+ int descriptionId, int min, int max, String units, int stepSize)
{
- super(context, titleId, descriptionId, min, max, units);
+ super(context, titleId, descriptionId, min, max, units, stepSize);
mSetting = setting;
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java
index d238a15162..7d79f5a888 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java
@@ -11,9 +11,9 @@ import org.dolphinemu.dolphinemu.features.settings.model.Settings;
public final class PercentSliderSetting extends FloatSliderSetting
{
public PercentSliderSetting(Context context, AbstractFloatSetting setting, int titleId,
- int descriptionId, int min, int max, String units)
+ int descriptionId, int min, int max, String units, int stepSize)
{
- super(context, setting, titleId, descriptionId, min, max, units);
+ super(context, setting, titleId, descriptionId, min, max, units, stepSize);
}
@Override
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java
index 6a01e5c277..48961839c0 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java
@@ -11,14 +11,16 @@ public abstract class SliderSetting extends SettingsItem
private int mMin;
private int mMax;
private String mUnits;
+ private int mStepSize;
public SliderSetting(Context context, int nameId, int descriptionId, int min, int max,
- String units)
+ String units, int stepSize)
{
super(context, nameId, descriptionId);
mMin = min;
mMax = max;
mUnits = units;
+ mStepSize = stepSize;
}
public abstract int getSelectedValue(Settings settings);
@@ -38,6 +40,11 @@ public abstract class SliderSetting extends SettingsItem
return mUnits;
}
+ public int getStepSize()
+ {
+ return mStepSize;
+ }
+
@Override
public int getType()
{
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 4fd9313237..a042e7aaaf 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
@@ -298,17 +298,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
slider.setValueFrom(item.getMin());
slider.setValueTo(item.getMax());
slider.setValue(mSeekbarProgress);
-
- // Sliders can get frustrating to use with a small step size and large ranges
- int maxRange = item.getMax() - item.getMin();
- if (maxRange <= 100)
- {
- slider.setStepSize(1);
- }
- else
- {
- slider.setStepSize((int) Math.pow(10, Math.ceil(Math.log10(maxRange)) - 2));
- }
+ slider.setStepSize(item.getStepSize());
slider.addOnChangeListener(this);
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
index 3a0df485b3..dfb471d7a3 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
@@ -293,7 +293,7 @@ public final class SettingsFragmentPresenter
sl.add(new SwitchSetting(mContext, BooleanSetting.MAIN_AUTO_DISC_CHANGE,
R.string.auto_disc_change, 0));
sl.add(new PercentSliderSetting(mContext, FloatSetting.MAIN_EMULATION_SPEED,
- R.string.speed_limit, 0, 0, 200, "%"));
+ R.string.speed_limit, 0, 0, 200, "%", 1));
sl.add(new SingleChoiceSetting(mContext, IntSetting.MAIN_FALLBACK_REGION,
R.string.fallback_region, 0, R.array.regionEntries, R.array.regionValues));
sl.add(new SwitchSetting(mContext, BooleanSetting.MAIN_ANALYTICS_ENABLED, R.string.analytics,
@@ -542,7 +542,7 @@ public final class SettingsFragmentPresenter
sl.add(new SwitchSetting(mContext, BooleanSetting.MAIN_AUDIO_STRETCH, R.string.audio_stretch,
R.string.audio_stretch_description));
sl.add(new IntSliderSetting(mContext, IntSetting.MAIN_AUDIO_VOLUME, R.string.audio_volume, 0,
- 0, 100, "%"));
+ 0, 100, "%", 1));
}
private void addPathsSettings(ArrayList<SettingsItem> sl)
@@ -621,9 +621,9 @@ public final class SettingsFragmentPresenter
sl.add(new SwitchSetting(mContext, BooleanSetting.SYSCONF_WIIMOTE_MOTOR,
R.string.wiimote_rumble, 0));
sl.add(new IntSliderSetting(mContext, IntSetting.SYSCONF_SPEAKER_VOLUME,
- R.string.wiimote_volume, 0, 0, 127, ""));
+ R.string.wiimote_volume, 0, 0, 127, "", 1));
sl.add(new IntSliderSetting(mContext, IntSetting.SYSCONF_SENSOR_BAR_SENSITIVITY,
- R.string.sensor_bar_sensitivity, 0, 1, 5, ""));
+ R.string.sensor_bar_sensitivity, 0, 1, 5, "", 1));
sl.add(new SingleChoiceSetting(mContext, IntSetting.SYSCONF_SENSOR_BAR_POSITION,
R.string.sensor_bar_position, 0, R.array.sensorBarPositionEntries,
R.array.sensorBarPositionValues));
@@ -735,7 +735,7 @@ public final class SettingsFragmentPresenter
sl.add(new SwitchSetting(mContext, BooleanSetting.MAIN_OVERCLOCK_ENABLE,
R.string.overclock_enable, R.string.overclock_enable_description));
sl.add(new PercentSliderSetting(mContext, FloatSetting.MAIN_OVERCLOCK, R.string.overclock_title,
- R.string.overclock_title_description, 0, 400, "%"));
+ R.string.overclock_title_description, 0, 400, "%", 1));
AbstractIntSetting mem1Setting = new AbstractIntSetting()
{
@@ -805,8 +805,10 @@ public final class SettingsFragmentPresenter
sl.add(new SwitchSetting(mContext, BooleanSetting.MAIN_RAM_OVERRIDE_ENABLE,
R.string.enable_memory_size_override,
R.string.enable_memory_size_override_description));
- sl.add(new IntSliderSetting(mContext, mem1Setting, R.string.main_mem1_size, 0, 24, 64, "MB"));
- sl.add(new IntSliderSetting(mContext, mem2Setting, R.string.main_mem2_size, 0, 64, 128, "MB"));
+ sl.add(new IntSliderSetting(mContext, mem1Setting, R.string.main_mem1_size, 0, 24, 64, "MB",
+ 1));
+ sl.add(new IntSliderSetting(mContext, mem2Setting, R.string.main_mem2_size, 0, 64, 128, "MB",
+ 1));
sl.add(new HeaderSetting(mContext, R.string.gpu_options, 0));
sl.add(new SingleChoiceSetting(mContext, synchronizeGpuThread, R.string.synchronize_gpu_thread,
@@ -1030,7 +1032,7 @@ public final class SettingsFragmentPresenter
R.string.log_render_time_to_file_description));
sl.add(new IntSliderSetting(mContext, IntSetting.GFX_PERF_SAMP_WINDOW,
R.string.performance_sample_window, R.string.performance_sample_window_description, 0,
- 10000, "ms"));
+ 10000, "ms", 100));
}
private void addAdvancedGraphicsSettings(ArrayList<SettingsItem> sl)
@@ -1070,7 +1072,7 @@ public final class SettingsFragmentPresenter
sl.add(new SwitchSetting(mContext, BooleanSetting.GFX_INTERNAL_RESOLUTION_FRAME_DUMPS,
R.string.internal_resolution_dumps, R.string.internal_resolution_dumps_description));
sl.add(new IntSliderSetting(mContext, IntSetting.GFX_PNG_COMPRESSION_LEVEL,
- R.string.png_compression_level, 0, 0, 9, ""));
+ R.string.png_compression_level, 0, 0, 9, "", 1));
sl.add(new HeaderSetting(mContext, R.string.debugging, 0));
sl.add(new SwitchSetting(mContext, BooleanSetting.GFX_ENABLE_WIREFRAME,
@@ -1143,10 +1145,10 @@ public final class SettingsFragmentPresenter
sl.add(new SingleChoiceSetting(mContext, IntSetting.GFX_STEREO_MODE, R.string.stereoscopy_mode,
0, R.array.stereoscopyEntries, R.array.stereoscopyValues));
sl.add(new IntSliderSetting(mContext, IntSetting.GFX_STEREO_DEPTH, R.string.stereoscopy_depth,
- R.string.stereoscopy_depth_description, 0, 100, "%"));
+ R.string.stereoscopy_depth_description, 0, 100, "%", 1));
sl.add(new IntSliderSetting(mContext, IntSetting.GFX_STEREO_CONVERGENCE_PERCENTAGE,
R.string.stereoscopy_convergence, R.string.stereoscopy_convergence_description, 0, 200,
- "%"));
+ "%", 1));
sl.add(new SwitchSetting(mContext, BooleanSetting.GFX_STEREO_SWAP_EYES,
R.string.stereoscopy_swap_eyes, R.string.stereoscopy_swap_eyes_description));
}