mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Use generated Java delegate for setting properties on ReactSliderManager
Summary: This diff migrates `ReactSliderManager` to use the generated `SliderManagerDelegate` for setting its properties. Reviewed By: mdvacca Differential Revision: D17203078 fbshipit-source-id: 726736ef275074ecb799b334342ac64976153e2b
This commit is contained in:
committed by
Facebook Github Bot
parent
85575dd8e5
commit
5925b3d408
+5
-5
@@ -27,7 +27,7 @@ public class SliderManagerDelegate<T extends View, U extends BaseViewManagerInte
|
||||
mViewManager.setDisabled(view, value == null ? false : (boolean) value);
|
||||
break;
|
||||
case "enabled":
|
||||
mViewManager.setEnabled(view, value == null ? false : (boolean) value);
|
||||
mViewManager.setEnabled(view, value == null ? true : (boolean) value);
|
||||
break;
|
||||
case "maximumTrackImage":
|
||||
mViewManager.setMaximumTrackImage(view, (ReadableMap) value);
|
||||
@@ -36,7 +36,7 @@ public class SliderManagerDelegate<T extends View, U extends BaseViewManagerInte
|
||||
mViewManager.setMaximumTrackTintColor(view, value == null ? null : ((Double) value).intValue());
|
||||
break;
|
||||
case "maximumValue":
|
||||
mViewManager.setMaximumValue(view, value == null ? 1f : ((Double) value).floatValue());
|
||||
mViewManager.setMaximumValue(view, value == null ? 1f : ((Double) value).doubleValue());
|
||||
break;
|
||||
case "minimumTrackImage":
|
||||
mViewManager.setMinimumTrackImage(view, (ReadableMap) value);
|
||||
@@ -45,10 +45,10 @@ public class SliderManagerDelegate<T extends View, U extends BaseViewManagerInte
|
||||
mViewManager.setMinimumTrackTintColor(view, value == null ? null : ((Double) value).intValue());
|
||||
break;
|
||||
case "minimumValue":
|
||||
mViewManager.setMinimumValue(view, value == null ? 0f : ((Double) value).floatValue());
|
||||
mViewManager.setMinimumValue(view, value == null ? 0f : ((Double) value).doubleValue());
|
||||
break;
|
||||
case "step":
|
||||
mViewManager.setStep(view, value == null ? 0f : ((Double) value).floatValue());
|
||||
mViewManager.setStep(view, value == null ? 0f : ((Double) value).doubleValue());
|
||||
break;
|
||||
case "testID":
|
||||
mViewManager.setTestID(view, value == null ? "" : (String) value);
|
||||
@@ -63,7 +63,7 @@ public class SliderManagerDelegate<T extends View, U extends BaseViewManagerInte
|
||||
mViewManager.setTrackImage(view, (ReadableMap) value);
|
||||
break;
|
||||
case "value":
|
||||
mViewManager.setValue(view, value == null ? 0f : ((Double) value).floatValue());
|
||||
mViewManager.setValue(view, value == null ? 0f : ((Double) value).doubleValue());
|
||||
break;
|
||||
default:
|
||||
super.setProperty(view, propName, value);
|
||||
|
||||
+4
-4
@@ -18,14 +18,14 @@ public interface SliderManagerInterface<T extends View> {
|
||||
void setEnabled(T view, boolean value);
|
||||
void setMaximumTrackImage(T view, @Nullable ReadableMap value);
|
||||
void setMaximumTrackTintColor(T view, @Nullable Integer value);
|
||||
void setMaximumValue(T view, float value);
|
||||
void setMaximumValue(T view, double value);
|
||||
void setMinimumTrackImage(T view, @Nullable ReadableMap value);
|
||||
void setMinimumTrackTintColor(T view, @Nullable Integer value);
|
||||
void setMinimumValue(T view, float value);
|
||||
void setStep(T view, float value);
|
||||
void setMinimumValue(T view, double value);
|
||||
void setStep(T view, double value);
|
||||
void setTestID(T view, @Nullable String value);
|
||||
void setThumbImage(T view, @Nullable ReadableMap value);
|
||||
void setThumbTintColor(T view, @Nullable Integer value);
|
||||
void setTrackImage(T view, @Nullable ReadableMap value);
|
||||
void setValue(T view, float value);
|
||||
void setValue(T view, double value);
|
||||
}
|
||||
|
||||
@@ -20,5 +20,6 @@ rn_android_library(
|
||||
react_native_target("java/com/facebook/react/common:common"),
|
||||
react_native_target("java/com/facebook/react/uimanager:uimanager"),
|
||||
react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
|
||||
react_native_target("java/com/facebook/react/viewmanagers:viewmanagers"),
|
||||
],
|
||||
)
|
||||
|
||||
@@ -13,6 +13,7 @@ import android.graphics.drawable.LayerDrawable;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.SeekBar;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.bridge.ReadableMap;
|
||||
import com.facebook.react.common.MapBuilder;
|
||||
@@ -20,8 +21,11 @@ import com.facebook.react.uimanager.LayoutShadowNode;
|
||||
import com.facebook.react.uimanager.SimpleViewManager;
|
||||
import com.facebook.react.uimanager.ThemedReactContext;
|
||||
import com.facebook.react.uimanager.UIManagerModule;
|
||||
import com.facebook.react.uimanager.ViewManagerDelegate;
|
||||
import com.facebook.react.uimanager.ViewProps;
|
||||
import com.facebook.react.uimanager.annotations.ReactProp;
|
||||
import com.facebook.react.viewmanagers.SliderManagerDelegate;
|
||||
import com.facebook.react.viewmanagers.SliderManagerInterface;
|
||||
import com.facebook.yoga.YogaMeasureFunction;
|
||||
import com.facebook.yoga.YogaMeasureMode;
|
||||
import com.facebook.yoga.YogaMeasureOutput;
|
||||
@@ -33,7 +37,8 @@ import java.util.Map;
|
||||
*
|
||||
* <p>Note that the slider is _not_ a controlled component.
|
||||
*/
|
||||
public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
public class ReactSliderManager extends SimpleViewManager<ReactSlider>
|
||||
implements SliderManagerInterface<ReactSlider> {
|
||||
|
||||
private static final int STYLE = android.R.attr.seekBarStyle;
|
||||
|
||||
@@ -104,6 +109,12 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
}
|
||||
};
|
||||
|
||||
private final ViewManagerDelegate<ReactSlider> mDelegate;
|
||||
|
||||
public ReactSliderManager() {
|
||||
mDelegate = new SliderManagerDelegate<>(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return REACT_CLASS;
|
||||
@@ -124,11 +135,13 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
return new ReactSlider(context, null, STYLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = ViewProps.ENABLED, defaultBoolean = true)
|
||||
public void setEnabled(ReactSlider view, boolean enabled) {
|
||||
view.setEnabled(enabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "value", defaultDouble = 0d)
|
||||
public void setValue(ReactSlider view, double value) {
|
||||
view.setOnSeekBarChangeListener(null);
|
||||
@@ -136,21 +149,25 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
view.setOnSeekBarChangeListener(ON_CHANGE_LISTENER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "minimumValue", defaultDouble = 0d)
|
||||
public void setMinimumValue(ReactSlider view, double value) {
|
||||
view.setMinValue(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "maximumValue", defaultDouble = 1d)
|
||||
public void setMaximumValue(ReactSlider view, double value) {
|
||||
view.setMaxValue(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "step", defaultDouble = 0d)
|
||||
public void setStep(ReactSlider view, double value) {
|
||||
view.setStep(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "thumbTintColor", customType = "Color")
|
||||
public void setThumbTintColor(ReactSlider view, Integer color) {
|
||||
if (color == null) {
|
||||
@@ -160,6 +177,7 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "minimumTrackTintColor", customType = "Color")
|
||||
public void setMinimumTrackTintColor(ReactSlider view, Integer color) {
|
||||
LayerDrawable drawable = (LayerDrawable) view.getProgressDrawable().getCurrent();
|
||||
@@ -171,6 +189,7 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "maximumTrackTintColor", customType = "Color")
|
||||
public void setMaximumTrackTintColor(ReactSlider view, Integer color) {
|
||||
LayerDrawable drawable = (LayerDrawable) view.getProgressDrawable().getCurrent();
|
||||
@@ -182,6 +201,26 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDisabled(ReactSlider view, boolean value) {}
|
||||
|
||||
@Override
|
||||
public void setMaximumTrackImage(ReactSlider view, @Nullable ReadableMap value) {}
|
||||
|
||||
@Override
|
||||
public void setMinimumTrackImage(ReactSlider view, @Nullable ReadableMap value) {}
|
||||
|
||||
@Override
|
||||
public void setTestID(ReactSlider view, @Nullable String value) {
|
||||
super.setTestId(view, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setThumbImage(ReactSlider view, @Nullable ReadableMap value) {}
|
||||
|
||||
@Override
|
||||
public void setTrackImage(ReactSlider view, @Nullable ReadableMap value) {}
|
||||
|
||||
@Override
|
||||
protected void addEventEmitters(final ThemedReactContext reactContext, final ReactSlider view) {
|
||||
view.setOnSeekBarChangeListener(ON_CHANGE_LISTENER);
|
||||
@@ -212,4 +251,9 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
|
||||
return YogaMeasureOutput.make(reactSlider.getMeasuredWidth(), reactSlider.getMeasuredHeight());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ViewManagerDelegate<ReactSlider> getDelegate() {
|
||||
return mDelegate;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user