diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricBinding.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricBinding.java index a65481f099a..ffc1512b09d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricBinding.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricBinding.java @@ -1,37 +1,31 @@ /** * Copyright (c) Facebook, Inc. and its affiliates. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + *
This source code is licensed under the MIT license found in the LICENSE file in the root
+ * directory of this source tree.
*/
-
package com.facebook.react.fabric;
import com.facebook.react.bridge.JavaScriptContextHolder;
import com.facebook.react.bridge.NativeMap;
-import com.facebook.react.bridge.UIManager;
public interface FabricBinding {
- void installFabric(JavaScriptContextHolder jsContext, FabricBinder fabricBinder);
+ // TODO: T31905686 change types of UIManager and EventBeatManager when moving to OSS
+ void installFabric(
+ JavaScriptContextHolder jsContext, FabricBinder fabricBinder, Object eventBeatManager);
void releaseEventTarget(long jsContextNativePointer, long eventTargetPointer);
void releaseEventHandler(long jsContextNativePointer, long eventHandlerPointer);
void dispatchEventToEmptyTarget(
- long jsContextNativePointer,
- long eventHandlerPointer,
- String type,
- NativeMap payload
- );
+ long jsContextNativePointer, long eventHandlerPointer, String type, NativeMap payload);
void dispatchEventToTarget(
- long jsContextNativePointer,
- long eventHandlerPointer,
- long eventTargetPointer,
- String type,
- NativeMap payload
- );
-
+ long jsContextNativePointer,
+ long eventHandlerPointer,
+ long eventTargetPointer,
+ String type,
+ NativeMap payload);
}
diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BatchEventDispatchedListener.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BatchEventDispatchedListener.java
new file mode 100644
index 00000000000..f7ce2baccf9
--- /dev/null
+++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BatchEventDispatchedListener.java
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+package com.facebook.react.uimanager.events;
+
+public interface BatchEventDispatchedListener {
+
+ /**
+ * Called after a batch of low priority events has been dispatched.
+ */
+ void onBatchEventDispatched();
+
+}
diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java
index 7bd7f0613f2..f8506c8aad7 100644
--- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java
+++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java
@@ -20,6 +20,7 @@ import com.facebook.systrace.Systrace;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import javax.annotation.Nullable;
@@ -90,6 +91,7 @@ public class EventDispatcher implements LifecycleEventListener {
private final DispatchEventsRunnable mDispatchEventsRunnable = new DispatchEventsRunnable();
private final ArrayList