Skip to content

Commit 478e950

Browse files
author
maciej.lodygowski
committed
fix: check for invalid configuration in limit settings
1 parent 3aaa1ac commit 478e950

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

package/android/src/main/java/com/reactnativecommunity/slider/ReactSlider.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,17 @@ private void disableStateListAnimatorIfNeeded() {
104104
updateAll();
105105
}
106106

107+
/*package*/ int getValidProgressValue(int progress) {
108+
if (getLowerLimit() <= getUpperLimit()) {
109+
if (progress < getLowerLimit()) {
110+
progress = getLowerLimit();
111+
} else if (progress > getUpperLimit()) {
112+
progress = getUpperLimit();
113+
}
114+
}
115+
return progress;
116+
}
117+
107118
/* package */ void setValue(double value) {
108119
mValue = value;
109120
updateValue();

package/android/src/newarch/java/com/reactnativecommunity/slider/ReactSliderManager.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,8 @@ protected ViewManagerDelegate<ReactSlider> getDelegate() {
4848
public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
4949
ReactSlider slider = (ReactSlider)seekbar;
5050

51-
if(progress < slider.getLowerLimit()) {
52-
progress = slider.getLowerLimit();
53-
seekbar.setProgress(progress);
54-
} else if (progress > slider.getUpperLimit()) {
55-
progress = slider.getUpperLimit();
56-
seekbar.setProgress(progress);
57-
}
51+
progress = slider.getValidProgressValue(progress);
52+
seekbar.setProgress(progress);
5853

5954
ReactContext reactContext = (ReactContext) seekbar.getContext();
6055
int reactTag = seekbar.getId();

package/android/src/oldarch/java/com/reactnativecommunity/slider/ReactSliderManager.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,8 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
3030
public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
3131
ReactSlider slider = (ReactSlider)seekbar;
3232

33-
if(progress < slider.getLowerLimit()) {
34-
progress = slider.getLowerLimit();
35-
seekbar.setProgress(progress);
36-
} else if(progress > slider.getUpperLimit()) {
37-
progress = slider.getUpperLimit();
38-
seekbar.setProgress(progress);
39-
}
33+
progress = slider.getValidProgressValue(progress);
34+
seekbar.setProgress(progress);
4035

4136
ReactContext reactContext = (ReactContext) seekbar.getContext();
4237
if(fromUser) {

0 commit comments

Comments
 (0)