diff --git a/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java b/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java index 700577ae451282..464346b068800d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java @@ -32,7 +32,6 @@ import com.facebook.react.modules.deviceinfo.DeviceInfoModule; import com.facebook.react.modules.systeminfo.AndroidInfoModule; import com.facebook.react.turbomodule.core.interfaces.TurboModule; -import com.facebook.react.uimanager.UIImplementationProvider; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewManager; import com.facebook.react.uimanager.ViewManagerResolver; @@ -70,7 +69,6 @@ public class CoreModulesPackage extends TurboReactPackage implements ReactPackag public CoreModulesPackage( ReactInstanceManager reactInstanceManager, DefaultHardwareBackBtnHandler hardwareBackBtnHandler, - @Nullable UIImplementationProvider uiImplementationProvider, boolean lazyViewManagersEnabled, int minTimeLeftInFrameForNonBatchedOperationMs) { mReactInstanceManager = reactInstanceManager; diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index 38daad2048783c..0fe6100cacc89d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -99,7 +99,6 @@ import com.facebook.react.turbomodule.core.interfaces.TurboModuleRegistry; import com.facebook.react.uimanager.DisplayMetricsHolder; import com.facebook.react.uimanager.ReactRoot; -import com.facebook.react.uimanager.UIImplementationProvider; import com.facebook.react.uimanager.UIManagerHelper; import com.facebook.react.uimanager.ViewManager; import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper; @@ -225,7 +224,6 @@ public static ReactInstanceManagerBuilder builder() { boolean requireActivity, @Nullable NotThreadSafeBridgeIdleDebugListener bridgeIdleDebugListener, LifecycleState initialLifecycleState, - @Nullable UIImplementationProvider mUIImplementationProvider, JSExceptionHandler jSExceptionHandler, @Nullable RedBoxHandler redBoxHandler, boolean lazyViewManagersEnabled, @@ -282,7 +280,6 @@ public void invokeDefaultOnBackPressed() { ReactInstanceManager.this.invokeDefaultOnBackPressed(); } }, - mUIImplementationProvider, lazyViewManagersEnabled, minTimeLeftInFrameForNonBatchedOperationMs)); if (mUseDeveloperSupport) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java index 1ac1c2f09130ed..6dcb191808611f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java @@ -33,7 +33,6 @@ import com.facebook.react.jscexecutor.JSCExecutorFactory; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.packagerconnection.RequestHandler; -import com.facebook.react.uimanager.UIImplementationProvider; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -52,7 +51,6 @@ public class ReactInstanceManagerBuilder { private @Nullable DevSupportManagerFactory mDevSupportManagerFactory; private boolean mRequireActivity; private @Nullable LifecycleState mInitialLifecycleState; - private @Nullable UIImplementationProvider mUIImplementationProvider; private @Nullable JSExceptionHandler mJSExceptionHandler; private @Nullable Activity mCurrentActivity; private @Nullable DefaultHardwareBackBtnHandler mDefaultHardwareBackBtnHandler; @@ -70,13 +68,6 @@ public class ReactInstanceManagerBuilder { /* package protected */ ReactInstanceManagerBuilder() {} - /** Sets a provider of {@link UIImplementation}. Uses default provider if null is passed. */ - public ReactInstanceManagerBuilder setUIImplementationProvider( - @Nullable UIImplementationProvider uiImplementationProvider) { - mUIImplementationProvider = uiImplementationProvider; - return this; - } - public ReactInstanceManagerBuilder setJSIModulesPackage( @Nullable JSIModulePackage jsiModulePackage) { mJSIModulesPackage = jsiModulePackage; @@ -325,11 +316,6 @@ public ReactInstanceManager build() { mJSMainModulePath != null || mJSBundleAssetUrl != null || mJSBundleLoader != null, "Either MainModulePath or JS Bundle File needs to be provided"); - if (mUIImplementationProvider == null) { - // create default UIImplementationProvider if the provided one is null. - mUIImplementationProvider = new UIImplementationProvider(); - } - // We use the name of the device and the app for debugging & metrics //noinspection ConstantConditions String appName = mApplication.getPackageName(); @@ -355,7 +341,6 @@ public ReactInstanceManager build() { mRequireActivity, mBridgeIdleDebugListener, Assertions.assertNotNull(mInitialLifecycleState, "Initial lifecycle state was not set"), - mUIImplementationProvider, mJSExceptionHandler, mRedBoxHandler, mLazyViewManagersEnabled, diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java b/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java index ac27d16dc2ea7e..02a23c36a10bb1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java @@ -19,7 +19,6 @@ import com.facebook.react.common.SurfaceDelegateFactory; import com.facebook.react.devsupport.DevSupportManagerFactory; import com.facebook.react.devsupport.interfaces.RedBoxHandler; -import com.facebook.react.uimanager.UIImplementationProvider; import java.util.List; /** @@ -77,7 +76,6 @@ protected ReactInstanceManager createReactInstanceManager() { .setLazyViewManagersEnabled(getLazyViewManagersEnabled()) .setRedBoxHandler(getRedBoxHandler()) .setJavaScriptExecutorFactory(getJavaScriptExecutorFactory()) - .setUIImplementationProvider(getUIImplementationProvider()) .setJSIModulesPackage(getJSIModulePackage()) .setInitialLifecycleState(LifecycleState.BEFORE_CREATE) .setReactPackageTurboModuleManagerDelegateBuilder( @@ -117,16 +115,6 @@ protected final Application getApplication() { return mApplication; } - /** - * Get the {@link UIImplementationProvider} to use. Override this method if you want to use a - * custom UI implementation. - * - *

Note: this is very advanced functionality, in 99% of cases you don't need to override this. - */ - protected UIImplementationProvider getUIImplementationProvider() { - return new UIImplementationProvider(); - } - protected @Nullable JSIModulePackage getJSIModulePackage() { return null; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java index 9e3ee72e62f746..55939a9679dde9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java @@ -30,7 +30,6 @@ import com.facebook.yoga.YogaConstants; import com.facebook.yoga.YogaDirection; import java.util.Arrays; -import java.util.List; import java.util.Map; /** @@ -65,30 +64,6 @@ public interface LayoutUpdateListener { void onLayoutUpdated(ReactShadowNode root); } - public UIImplementation( - ReactApplicationContext reactContext, - ViewManagerResolver viewManagerResolver, - EventDispatcher eventDispatcher, - int minTimeLeftInFrameForNonBatchedOperationMs) { - this( - reactContext, - new ViewManagerRegistry(viewManagerResolver), - eventDispatcher, - minTimeLeftInFrameForNonBatchedOperationMs); - } - - public UIImplementation( - ReactApplicationContext reactContext, - List viewManagers, - EventDispatcher eventDispatcher, - int minTimeLeftInFrameForNonBatchedOperationMs) { - this( - reactContext, - new ViewManagerRegistry(viewManagers), - eventDispatcher, - minTimeLeftInFrameForNonBatchedOperationMs); - } - UIImplementation( ReactApplicationContext reactContext, ViewManagerRegistry viewManagers, diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java deleted file mode 100644 index 65b85ed22da271..00000000000000 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * 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; - -import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.uimanager.events.EventDispatcher; -import com.facebook.systrace.Systrace; -import java.util.List; - -/** Provides UIImplementation to use in {@link UIManagerModule}. */ -@Deprecated -public class UIImplementationProvider { - - public UIImplementation createUIImplementation( - ReactApplicationContext reactContext, - ViewManagerResolver viewManagerResolver, - EventDispatcher eventDispatcher, - int minTimeLeftInFrameForNonBatchedOperationMs) { - Systrace.beginSection( - Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "UIImplementationProvider.createUIImplementation[1]"); - try { - return new UIImplementation( - reactContext, - viewManagerResolver, - eventDispatcher, - minTimeLeftInFrameForNonBatchedOperationMs); - } finally { - Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE); - } - } - - public UIImplementation createUIImplementation( - ReactApplicationContext reactContext, - List viewManagerList, - EventDispatcher eventDispatcher, - int minTimeLeftInFrameForNonBatchedOperationMs) { - Systrace.beginSection( - Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "UIImplementationProvider.createUIImplementation[2]"); - try { - return new UIImplementation( - reactContext, - viewManagerList, - eventDispatcher, - minTimeLeftInFrameForNonBatchedOperationMs); - } finally { - Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE); - } - } - - UIImplementation createUIImplementation( - ReactApplicationContext reactContext, - ViewManagerRegistry viewManagerRegistry, - EventDispatcher eventDispatcher, - int minTimeLeftInFrameForNonBatchedOperationMs) { - Systrace.beginSection( - Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "UIImplementationProvider.createUIImplementation[3]"); - try { - return new UIImplementation( - reactContext, - viewManagerRegistry, - eventDispatcher, - minTimeLeftInFrameForNonBatchedOperationMs); - } finally { - Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE); - } - } -} diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java index 2c21f9064ed509..752586990b6ddb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java @@ -115,36 +115,10 @@ public interface CustomEventNamesResolver { private int mBatchId = 0; private int mNumRootViews = 0; - @SuppressWarnings("deprecated") public UIManagerModule( ReactApplicationContext reactContext, ViewManagerResolver viewManagerResolver, int minTimeLeftInFrameForNonBatchedOperationMs) { - this( - reactContext, - viewManagerResolver, - new UIImplementationProvider(), - minTimeLeftInFrameForNonBatchedOperationMs); - } - - @SuppressWarnings("deprecated") - public UIManagerModule( - ReactApplicationContext reactContext, - List viewManagersList, - int minTimeLeftInFrameForNonBatchedOperationMs) { - this( - reactContext, - viewManagersList, - new UIImplementationProvider(), - minTimeLeftInFrameForNonBatchedOperationMs); - } - - @Deprecated - public UIManagerModule( - ReactApplicationContext reactContext, - ViewManagerResolver viewManagerResolver, - UIImplementationProvider uiImplementationProvider, - int minTimeLeftInFrameForNonBatchedOperationMs) { super(reactContext); DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext); mEventDispatcher = new EventDispatcherImpl(reactContext); @@ -152,7 +126,7 @@ public UIManagerModule( mCustomDirectEvents = UIManagerModuleConstants.getDirectEventTypeConstants(); mViewManagerRegistry = new ViewManagerRegistry(viewManagerResolver); mUIImplementation = - uiImplementationProvider.createUIImplementation( + new UIImplementation( reactContext, mViewManagerRegistry, mEventDispatcher, @@ -161,11 +135,9 @@ public UIManagerModule( reactContext.addLifecycleEventListener(this); } - @Deprecated public UIManagerModule( ReactApplicationContext reactContext, List viewManagersList, - UIImplementationProvider uiImplementationProvider, int minTimeLeftInFrameForNonBatchedOperationMs) { super(reactContext); DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext); @@ -174,7 +146,7 @@ public UIManagerModule( mModuleConstants = createConstants(viewManagersList, null, mCustomDirectEvents); mViewManagerRegistry = new ViewManagerRegistry(viewManagersList); mUIImplementation = - uiImplementationProvider.createUIImplementation( + new UIImplementation( reactContext, mViewManagerRegistry, mEventDispatcher, @@ -927,7 +899,7 @@ public void runGuarded() { } /** Listener that drops the CSSNode pool on low memory when the app is backgrounded. */ - private class MemoryTrimCallback implements ComponentCallbacks2 { + private static class MemoryTrimCallback implements ComponentCallbacks2 { @Override public void onTrimMemory(int level) {