Skip to content

Commit 4be2dd7

Browse files
authored
[Fabric] Refactor events, remove unused code (#422)
* fix: move ReactSliderShadowNode to oldarch * fix: refactor to RCTModernEventEmitter closes #412 * fix: minimize diff & indentations
1 parent 950153a commit 4be2dd7

File tree

6 files changed

+50
-63
lines changed

6 files changed

+50
-63
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import com.facebook.react.bridge.Arguments;
1111
import com.facebook.react.bridge.WritableMap;
1212
import com.facebook.react.uimanager.events.Event;
13-
import com.facebook.react.uimanager.events.RCTEventEmitter;
13+
import com.facebook.react.uimanager.events.RCTModernEventEmitter;
1414

1515
/**
1616
* Event emitted by a ReactSliderManager when user changes slider position.
@@ -46,8 +46,9 @@ public String getEventName() {
4646
public short getCoalescingKey() {
4747
return 0;
4848
}
49+
4950
@Override
50-
public void dispatch(RCTEventEmitter rctEventEmitter) {
51+
public void dispatchModern(RCTModernEventEmitter rctEventEmitter) {
5152
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
5253
}
5354

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

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,11 @@
55
import android.graphics.drawable.Drawable;
66
import android.graphics.drawable.LayerDrawable;
77
import android.os.Build;
8-
import android.view.View;
9-
import android.widget.SeekBar;
108

119
import com.facebook.react.bridge.ReadableArray;
1210
import com.facebook.react.bridge.ReadableMap;
1311
import com.facebook.react.common.MapBuilder;
14-
import com.facebook.react.uimanager.LayoutShadowNode;
1512
import com.facebook.react.uimanager.ThemedReactContext;
16-
import com.facebook.yoga.YogaMeasureFunction;
17-
import com.facebook.yoga.YogaMeasureMode;
18-
import com.facebook.yoga.YogaMeasureOutput;
19-
import com.facebook.yoga.YogaNode;
2013

2114
import java.util.ArrayList;
2215
import java.util.List;
@@ -28,41 +21,6 @@ public class ReactSliderManagerImpl {
2821

2922
public static final String REACT_CLASS = "RNCSlider";
3023

31-
public static class ReactSliderShadowNode extends LayoutShadowNode implements
32-
YogaMeasureFunction {
33-
34-
private int mWidth;
35-
private int mHeight;
36-
private boolean mMeasured;
37-
38-
public ReactSliderShadowNode() {
39-
initMeasureFunction();
40-
}
41-
42-
private void initMeasureFunction() {
43-
setMeasureFunction(this);
44-
}
45-
46-
@Override
47-
public long measure(
48-
YogaNode node,
49-
float width,
50-
YogaMeasureMode widthMode,
51-
float height,
52-
YogaMeasureMode heightMode) {
53-
if (!mMeasured) {
54-
SeekBar reactSlider = new ReactSlider(getThemedContext(), null);
55-
final int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
56-
reactSlider.measure(spec, spec);
57-
mWidth = reactSlider.getMeasuredWidth();
58-
mHeight = reactSlider.getMeasuredHeight();
59-
mMeasured = true;
60-
}
61-
62-
return YogaMeasureOutput.make(mWidth, mHeight);
63-
}
64-
}
65-
6624
public static ReactSlider createViewInstance(ThemedReactContext context) {
6725
ReactSlider slider = new ReactSlider(context, null);
6826

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import com.facebook.react.bridge.Arguments;
1111
import com.facebook.react.bridge.WritableMap;
1212
import com.facebook.react.uimanager.events.Event;
13-
import com.facebook.react.uimanager.events.RCTEventEmitter;
13+
import com.facebook.react.uimanager.events.RCTModernEventEmitter;
1414

1515
/**
1616
* Event emitted when the user finishes dragging the slider.
@@ -46,7 +46,7 @@ public boolean canCoalesce() {
4646
}
4747

4848
@Override
49-
public void dispatch(RCTEventEmitter rctEventEmitter) {
49+
public void dispatchModern(RCTModernEventEmitter rctEventEmitter) {
5050
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
5151
}
5252

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import com.facebook.react.bridge.Arguments;
1111
import com.facebook.react.bridge.WritableMap;
1212
import com.facebook.react.uimanager.events.Event;
13-
import com.facebook.react.uimanager.events.RCTEventEmitter;
13+
import com.facebook.react.uimanager.events.RCTModernEventEmitter;
1414

1515
/**
1616
* Event emitted when the user starts dragging the slider.
@@ -46,7 +46,7 @@ public boolean canCoalesce() {
4646
}
4747

4848
@Override
49-
public void dispatch(RCTEventEmitter rctEventEmitter) {
49+
public void dispatchModern(RCTModernEventEmitter rctEventEmitter) {
5050
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
5151
}
5252

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

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import com.facebook.react.bridge.ReactContext;
77
import com.facebook.react.bridge.ReadableArray;
88
import com.facebook.react.bridge.ReadableMap;
9-
import com.facebook.react.common.MapBuilder;
10-
import com.facebook.react.uimanager.LayoutShadowNode;
119
import com.facebook.react.uimanager.SimpleViewManager;
1210
import com.facebook.react.uimanager.ThemedReactContext;
1311
import com.facebook.react.uimanager.UIManagerHelper;
@@ -85,16 +83,6 @@ public String getName() {
8583
return ReactSliderManagerImpl.REACT_CLASS;
8684
}
8785

88-
@Override
89-
public LayoutShadowNode createShadowNodeInstance() {
90-
return new ReactSliderManagerImpl.ReactSliderShadowNode();
91-
}
92-
93-
@Override
94-
public Class getShadowNodeClass() {
95-
return ReactSliderManagerImpl.ReactSliderShadowNode.class;
96-
}
97-
9886
@Override
9987
protected ReactSlider createViewInstance(ThemedReactContext context) {
10088
return ReactSliderManagerImpl.createViewInstance(context);

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

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,21 @@
44
import com.facebook.react.bridge.ReactContext;
55
import com.facebook.react.bridge.ReadableArray;
66
import com.facebook.react.bridge.ReadableMap;
7-
import com.facebook.react.common.MapBuilder;
87
import com.facebook.react.uimanager.LayoutShadowNode;
98
import com.facebook.react.uimanager.SimpleViewManager;
109
import com.facebook.react.uimanager.ThemedReactContext;
1110
import com.facebook.react.uimanager.UIManagerModule;
1211
import com.facebook.react.uimanager.ViewProps;
1312
import com.facebook.react.uimanager.annotations.ReactProp;
1413
import java.util.Map;
14+
import android.view.View;
1515
import javax.annotation.Nullable;
1616

17+
import com.facebook.yoga.YogaMeasureFunction;
18+
import com.facebook.yoga.YogaMeasureMode;
19+
import com.facebook.yoga.YogaMeasureOutput;
20+
import com.facebook.yoga.YogaNode;
21+
1722
/**
1823
* Manages instances of {@code ReactSlider}.
1924
*/
@@ -60,15 +65,50 @@ public void onStopTrackingTouch(SeekBar seekbar) {
6065
public String getName() {
6166
return ReactSliderManagerImpl.REACT_CLASS;
6267
}
68+
69+
static class ReactSliderShadowNode extends LayoutShadowNode implements
70+
YogaMeasureFunction {
71+
72+
private int mWidth;
73+
private int mHeight;
74+
private boolean mMeasured;
75+
76+
private ReactSliderShadowNode() {
77+
initMeasureFunction();
78+
}
79+
80+
private void initMeasureFunction() {
81+
setMeasureFunction(this);
82+
}
83+
84+
@Override
85+
public long measure(
86+
YogaNode node,
87+
float width,
88+
YogaMeasureMode widthMode,
89+
float height,
90+
YogaMeasureMode heightMode) {
91+
if (!mMeasured) {
92+
SeekBar reactSlider = new ReactSlider(getThemedContext(), null);
93+
final int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
94+
reactSlider.measure(spec, spec);
95+
mWidth = reactSlider.getMeasuredWidth();
96+
mHeight = reactSlider.getMeasuredHeight();
97+
mMeasured = true;
98+
}
99+
100+
return YogaMeasureOutput.make(mWidth, mHeight);
101+
}
102+
}
63103

64104
@Override
65105
public LayoutShadowNode createShadowNodeInstance() {
66-
return new ReactSliderManagerImpl.ReactSliderShadowNode();
106+
return new ReactSliderShadowNode();
67107
}
68108

69109
@Override
70110
public Class getShadowNodeClass() {
71-
return ReactSliderManagerImpl.ReactSliderShadowNode.class;
111+
return ReactSliderShadowNode.class;
72112
}
73113

74114
@Override

0 commit comments

Comments
 (0)