diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java index 6fd291bbbdf..b3f9c642f46 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java @@ -91,7 +91,8 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener { UIManager uiManager = UIManagerHelper.getUIManager(mReactApplicationContext, uiManagerType); if (uiManager != null) { - uiManager.getEventDispatcher().addListener(this); + EventDispatcher eventDispatcher = (EventDispatcher) uiManager.getEventDispatcher(); + eventDispatcher.addListener(this); if (uiManagerType == UIManagerType.FABRIC) { mEventListenerInitializedForFabric = true; } else { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt index 6aab9810556..f893f0ea209 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt @@ -78,7 +78,7 @@ public interface UIManager : PerformanceCounter { public fun dispatchCommand(reactTag: Int, commandId: String, commandArgs: ReadableArray?) /** @return the [EventDispatcher] object that is used by this class. */ - public fun getEventDispatcher(): T + public val eventDispatcher: Any? /** * Used by native animated module to bypass the process of updating the values through the shadow diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index e73cdff47d3..8ad955bc966 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -1025,7 +1025,6 @@ public class FabricUIManager @Override @NonNull - @SuppressWarnings("unchecked") public EventDispatcher getEventDispatcher() { return mEventDispatcher; } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java index 2152d87657c..76b604715ce 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java @@ -577,20 +577,19 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper { UIManager uiManager = UIManagerHelper.getUIManager(reactContext, ViewUtil.getUIManagerType(reactTag)); if (uiManager != null) { - uiManager - .getEventDispatcher() - .dispatchEvent( - new Event(surfaceId, reactTag) { - @Override - public String getEventName() { - return TOP_ACCESSIBILITY_ACTION_EVENT; - } + EventDispatcher eventDispatcher = (EventDispatcher) uiManager.getEventDispatcher(); + eventDispatcher.dispatchEvent( + new Event(surfaceId, reactTag) { + @Override + public String getEventName() { + return TOP_ACCESSIBILITY_ACTION_EVENT; + } - @Override - protected WritableMap getEventData() { - return event; - } - }); + @Override + protected WritableMap getEventData() { + return event; + } + }); } } else { ReactSoftExceptionLogger.logSoftException( diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.kt index c68e1bbedb1..4285a84fb12 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.kt @@ -92,7 +92,7 @@ class RootViewTest { val eventEmitterModuleMock = mock(RCTEventEmitter::class.java) whenever(catalystInstanceMock.getNativeModule(UIManagerModule::class.java)) .thenReturn(uiManager) - whenever(uiManager.getEventDispatcher()).thenReturn(eventDispatcher) + whenever(uiManager.eventDispatcher).thenReturn(eventDispatcher) // RootView IDs is React Native follow the 11, 21, 31, ... progression. val rootViewId = 11 diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.kt index 5807188f02a..514f817f07d 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.kt @@ -86,7 +86,7 @@ class NativeAnimatedNodeTraversalTest { uiManagerMock = mock(UIManagerModule::class.java) eventDispatcherMock = mock(EventDispatcher::class.java) - whenever(uiManagerMock.getEventDispatcher()).thenAnswer { eventDispatcherMock } + whenever(uiManagerMock.eventDispatcher).thenAnswer { eventDispatcherMock } whenever(uiManagerMock.constants).thenAnswer { mapOf("customDirectEventTypes" to emptyMap()) } diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt index 454982113c3..4ecd8ef01de 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt @@ -488,7 +488,7 @@ class TouchEventDispatchTest { spy(FabricUIManager(reactContext, viewManagerRegistry, batchEventDispatchedListener)) uiManager.initialize() - eventDispatcher = uiManager.getEventDispatcher() + eventDispatcher = uiManager.eventDispatcher // Ignore scheduled choreographer work val reactChoreographerMock = mock(ReactChoreographer::class.java) diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/testutils/fakes/FakeUIManager.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/testutils/fakes/FakeUIManager.kt index 55f287820a5..b37693bd51f 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/testutils/fakes/FakeUIManager.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/testutils/fakes/FakeUIManager.kt @@ -65,9 +65,8 @@ class FakeUIManager : UIManager, UIBlockViewResolver { error("Not yet implemented") } - override fun getEventDispatcher(): T { - error("Not yet implemented") - } + override val eventDispatcher: Any? + get() = TODO("Not yet implemented") override fun synchronouslyUpdateViewOnUIThread(reactTag: Int, props: ReadableMap?) { error("Not yet implemented")