From bc11e9c7f1a0e1376d4a1bb1fec318aca36d01ed Mon Sep 17 00:00:00 2001 From: David Vacca Date: Tue, 10 Dec 2019 20:30:08 -0800 Subject: [PATCH] Expose getEventDispatcher() method into UIManager interface Summary: This diff promotes the UIManagerModule.getEventDispatcher() to the interface UIManager and it implements this method in FabricUIManager class. Changelog: [internal] Reviewed By: JoshuaGross Differential Revision: D18862862 fbshipit-source-id: 424f0e601ed1807dbd5d33048daf7dc3bb200dcd --- .../src/main/java/com/facebook/react/bridge/UIManager.java | 3 +++ .../java/com/facebook/react/fabric/FabricUIManager.java | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java index 73e815306cf..450f81ad6e1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java @@ -56,6 +56,9 @@ public interface UIManager extends JSIModule, PerformanceCounter { */ void dispatchCommand(int reactTag, String commandId, @Nullable ReadableArray commandArgs); + /** @return the {@link EventDispatcher} object that is used by this class. */ + T getEventDispatcher(); + /** * Used by native animated module to bypass the process of updating the values through the shadow * view hierarchy. This method will directly update native views, which means that updates for diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index 1509f49963e..5516ede6533 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -693,6 +693,13 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { .postFrameCallback(ReactChoreographer.CallbackType.DISPATCH_UI, mDispatchUIFrameCallback); } + @Override + @NonNull + @SuppressWarnings("unchecked") + public EventDispatcher getEventDispatcher() { + return mEventDispatcher; + } + @Override public void onHostPause() { ReactChoreographer.getInstance()