You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 965141e
Browse filesBrowse the repository at this point in the historyBrowse files
Summary:
Widen Android event payload contracts from `WritableMap` to `ReadableMap` across the event emitters, UI managers and Fabric dispatch pipeline, including `Event.getEventData`. Existing event producers can continue returning writable maps. Build native touch payloads as a complete `folly::dynamic` and return them through `ReadableNativeMap::createWithContents` without constructing and populating a writable Java map.
Document Fabric’s native-backed, consumed-payload contract, update the touch test shadow to return a read-only native map and regenerate the Android API snapshot.
Changelog:
[Android][Breaking] - Change Android event payload APIs from `WritableMap` to `ReadableMap`; update custom emitter and UI manager implementations to match.
Differential Revision: D128208007
Copy file name to clipboardExpand all lines: packages/react-native/ReactAndroid/api/ReactAndroid.api
+22-18Lines changed: 22 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -1372,8 +1372,8 @@ public abstract interface class com/facebook/react/bridge/UIManager : com/facebo
1372
1372
public abstract fun initialize ()V
1373
1373
public abstract fun invalidate ()V
1374
1374
public abstract fun markActiveTouchForTag (II)V
1375
-
public abstract fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
1376
-
public abstract fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
1375
+
public abstract fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
1376
+
public abstract fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
1377
1377
public abstract fun removeUIManagerEventListener (Lcom/facebook/react/bridge/UIManagerListener;)V
1378
1378
public abstract fun resolveCustomDirectEventName (Ljava/lang/String;)Ljava/lang/String;
1379
1379
public abstract fun resolveView (I)Landroid/view/View;
@@ -2275,11 +2275,11 @@ public class com/facebook/react/fabric/FabricUIManager : com/facebook/react/brid
2275
2275
public fun onRequestEventBeat ()V
2276
2276
public fun prependUIBlock (Lcom/facebook/react/fabric/interop/UIBlock;)V
2277
2277
public fun profileNextBatch ()V
2278
-
public fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
2279
-
public fun receiveEvent (IILjava/lang/String;ZLcom/facebook/react/bridge/WritableMap;I)V
2280
-
public fun receiveEvent (IILjava/lang/String;ZLcom/facebook/react/bridge/WritableMap;IZ)V
2281
-
public fun receiveEvent (IILjava/lang/String;ZLcom/facebook/react/bridge/WritableMap;IZJ)V
2282
-
public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
2278
+
public fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
2279
+
public fun receiveEvent (IILjava/lang/String;ZLcom/facebook/react/bridge/ReadableMap;I)V
2280
+
public fun receiveEvent (IILjava/lang/String;ZLcom/facebook/react/bridge/ReadableMap;IZ)V
2281
+
public fun receiveEvent (IILjava/lang/String;ZLcom/facebook/react/bridge/ReadableMap;IZJ)V
2282
+
public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
2283
2283
public fun removeUIManagerEventListener (Lcom/facebook/react/bridge/UIManagerListener;)V
2284
2284
public fun resolveCustomDirectEventName (Ljava/lang/String;)Ljava/lang/String;
2285
2285
public fun resolveView (I)Landroid/view/View;
@@ -3503,6 +3503,7 @@ public final class com/facebook/react/uimanager/NativeViewHierarchyOptimizer {
3503
3503
3504
3504
public final class com/facebook/react/uimanager/OnLayoutEvent : com/facebook/react/uimanager/events/Event {
3505
3505
public static final field Companion Lcom/facebook/react/uimanager/OnLayoutEvent$Companion;
3506
+
public synthetic fun getEventData ()Lcom/facebook/react/bridge/ReadableMap;
3506
3507
public fun getEventName ()Ljava/lang/String;
3507
3508
public static final fun obtain (IIIII)Lcom/facebook/react/uimanager/OnLayoutEvent;
3508
3509
public static final fun obtain (IIIIII)Lcom/facebook/react/uimanager/OnLayoutEvent;
@@ -4275,8 +4276,8 @@ public class com/facebook/react/uimanager/UIManagerModule : com/facebook/react/b
4275
4276
public fun onHostResume ()V
4276
4277
public fun prependUIBlock (Lcom/facebook/react/uimanager/UIBlock;)V
4277
4278
public fun profileNextBatch ()V
4278
-
public fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4279
-
public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4279
+
public fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
4280
+
public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
4280
4281
public fun removeRootView (I)V
4281
4282
public fun removeUIManagerEventListener (Lcom/facebook/react/bridge/UIManagerListener;)V
4282
4283
public fun resolveCustomDirectEventName (Ljava/lang/String;)Ljava/lang/String;
@@ -4679,6 +4680,7 @@ public abstract interface class com/facebook/react/uimanager/events/BatchEventDi
4679
4680
public final class com/facebook/react/uimanager/events/ContentSizeChangeEvent : com/facebook/react/uimanager/events/Event {
4680
4681
public fun <init> (III)V
4681
4682
public fun <init> (IIII)V
4683
+
public synthetic fun getEventData ()Lcom/facebook/react/bridge/ReadableMap;
4682
4684
public fun getEventName ()Ljava/lang/String;
4683
4685
}
4684
4686
@@ -4695,7 +4697,7 @@ public abstract class com/facebook/react/uimanager/events/Event {
4695
4697
public fun getCoalescingKey ()S
4696
4698
public fun getEventAnimationDriverMatchSpec ()Lcom/facebook/react/uimanager/events/Event$EventAnimationDriverMatchSpec;
4697
4699
protected fun getEventCategory ()I
4698
-
protected fun getEventData ()Lcom/facebook/react/bridge/WritableMap;
4700
+
protected fun getEventData ()Lcom/facebook/react/bridge/ReadableMap;
4699
4701
public abstract fun getEventName ()Ljava/lang/String;
4700
4702
public final fun getSurfaceId ()I
4701
4703
public final fun getTimestampMs ()J
@@ -4734,7 +4736,7 @@ public final class com/facebook/react/uimanager/events/NativeGestureUtil {
4734
4736
}
4735
4737
4736
4738
public abstract interface class com/facebook/react/uimanager/events/RCTEventEmitter : com/facebook/react/bridge/JavaScriptModule {
4737
-
public abstract fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4739
+
public abstract fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
4738
4740
public fun receiveTouches (Ljava/lang/String;Lcom/facebook/react/bridge/WritableArray;Lcom/facebook/react/bridge/WritableArray;)V
4739
4741
}
4740
4742
@@ -4743,16 +4745,16 @@ public final class com/facebook/react/uimanager/events/RCTEventEmitter$DefaultIm
4743
4745
}
4744
4746
4745
4747
public abstract interface class com/facebook/react/uimanager/events/RCTModernEventEmitter : com/facebook/react/uimanager/events/RCTEventEmitter {
4746
-
public fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4747
-
public abstract fun receiveEvent (IILjava/lang/String;ZILcom/facebook/react/bridge/WritableMap;I)V
4748
-
public fun receiveEvent (IILjava/lang/String;ZILcom/facebook/react/bridge/WritableMap;IJ)V
4749
-
public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4748
+
public fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
4749
+
public abstract fun receiveEvent (IILjava/lang/String;ZILcom/facebook/react/bridge/ReadableMap;I)V
4750
+
public fun receiveEvent (IILjava/lang/String;ZILcom/facebook/react/bridge/ReadableMap;IJ)V
4751
+
public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
4750
4752
}
4751
4753
4752
4754
public final class com/facebook/react/uimanager/events/RCTModernEventEmitter$DefaultImpls {
4753
-
public static fun receiveEvent (Lcom/facebook/react/uimanager/events/RCTModernEventEmitter;IILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4754
-
public static fun receiveEvent (Lcom/facebook/react/uimanager/events/RCTModernEventEmitter;IILjava/lang/String;ZILcom/facebook/react/bridge/WritableMap;IJ)V
4755
-
public static fun receiveEvent (Lcom/facebook/react/uimanager/events/RCTModernEventEmitter;ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4755
+
public static fun receiveEvent (Lcom/facebook/react/uimanager/events/RCTModernEventEmitter;IILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
4756
+
public static fun receiveEvent (Lcom/facebook/react/uimanager/events/RCTModernEventEmitter;IILjava/lang/String;ZILcom/facebook/react/bridge/ReadableMap;IJ)V
4757
+
public static fun receiveEvent (Lcom/facebook/react/uimanager/events/RCTModernEventEmitter;ILjava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V
4756
4758
public static fun receiveTouches (Lcom/facebook/react/uimanager/events/RCTModernEventEmitter;Ljava/lang/String;Lcom/facebook/react/bridge/WritableArray;Lcom/facebook/react/bridge/WritableArray;)V
4757
4759
}
4758
4760
@@ -5238,6 +5240,7 @@ public final class com/facebook/react/views/image/ImageLoadEvent : com/facebook/
5238
5240
public static final fun createProgressEvent (ILjava/lang/String;II)Lcom/facebook/react/views/image/ImageLoadEvent;
5239
5241
public static final fun eventNameForType (I)Ljava/lang/String;
5240
5242
public fun getCoalescingKey ()S
5243
+
public synthetic fun getEventData ()Lcom/facebook/react/bridge/ReadableMap;
5241
5244
public fun getEventName ()Ljava/lang/String;
5242
5245
}
5243
5246
@@ -5924,6 +5927,7 @@ public final class com/facebook/react/views/scroll/ReactScrollViewManager$Compan
5924
5927
public final class com/facebook/react/views/scroll/ScrollEvent : com/facebook/react/uimanager/events/Event {
5925
5928
public static final field Companion Lcom/facebook/react/views/scroll/ScrollEvent$Companion;
5926
5929
public fun canCoalesce ()Z
5930
+
public synthetic fun getEventData ()Lcom/facebook/react/bridge/ReadableMap;
5927
5931
public fun getEventName ()Ljava/lang/String;
5928
5932
public static final fun obtain (IILcom/facebook/react/views/scroll/ScrollEventType;FFFFIIII)Lcom/facebook/react/views/scroll/ScrollEvent;
5929
5933
public static final fun obtain (ILcom/facebook/react/views/scroll/ScrollEventType;FFFFIIII)Lcom/facebook/react/views/scroll/ScrollEvent;
Copy file name to clipboardExpand all lines: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt
Copy file name to clipboardExpand all lines: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt
0 commit comments