From e5a4d9550e98d803f48cc37ad160171cd905c991 Mon Sep 17 00:00:00 2001 From: Joshua Gross Date: Fri, 19 Jun 2020 11:14:08 -0700 Subject: [PATCH] Replace direct ViewManager calls to old UIManager with Fabric/Venice-compatible calls Summary: Replace direct ViewManager calls to old UIManager with Fabric/Venice-compatible calls. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D22111396 fbshipit-source-id: 2de9df5a4b494f82049dba62325ee3119c80d3c3 --- .../views/modal/ReactModalHostManager.java | 38 +++++++++---------- .../textinput/ReactTextInputManager.java | 4 +- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java index 00e0066b97a..03a60ed27e1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java @@ -17,7 +17,7 @@ import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.ReactStylesDiffMap; import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.ThemedReactContext; -import com.facebook.react.uimanager.UIManagerModule; +import com.facebook.react.uimanager.UIManagerHelper; import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.ViewManagerDelegate; import com.facebook.react.uimanager.annotations.ReactProp; @@ -105,26 +105,24 @@ public class ReactModalHostManager extends ViewGroupManager @Override protected void addEventEmitters(ThemedReactContext reactContext, final ReactModalHostView view) { - UIManagerModule uiManager = reactContext.getNativeModule(UIManagerModule.class); - if (uiManager == null) { - return; + final EventDispatcher dispatcher = + UIManagerHelper.getEventDispatcherForReactTag(reactContext, view.getId()); + if (dispatcher != null) { + view.setOnRequestCloseListener( + new ReactModalHostView.OnRequestCloseListener() { + @Override + public void onRequestClose(DialogInterface dialog) { + dispatcher.dispatchEvent(new RequestCloseEvent(view.getId())); + } + }); + view.setOnShowListener( + new DialogInterface.OnShowListener() { + @Override + public void onShow(DialogInterface dialog) { + dispatcher.dispatchEvent(new ShowEvent(view.getId())); + } + }); } - - final EventDispatcher dispatcher = uiManager.getEventDispatcher(); - view.setOnRequestCloseListener( - new ReactModalHostView.OnRequestCloseListener() { - @Override - public void onRequestClose(DialogInterface dialog) { - dispatcher.dispatchEvent(new RequestCloseEvent(view.getId())); - } - }); - view.setOnShowListener( - new DialogInterface.OnShowListener() { - @Override - public void onShow(DialogInterface dialog) { - dispatcher.dispatchEvent(new ShowEvent(view.getId())); - } - }); } @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index 05084627a6d..f5c0584047e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -61,7 +61,6 @@ import com.facebook.react.uimanager.Spacing; import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.UIManagerHelper; -import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewDefaults; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; @@ -1100,8 +1099,7 @@ public class ReactTextInputManager extends BaseViewManager