diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index 36a789a6de0..db1c2680a9d 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -5167,11 +5167,13 @@ public abstract interface annotation class com/facebook/react/uimanager/common/U public static final field Companion Lcom/facebook/react/uimanager/common/UIManagerType$Companion; public static final field DEFAULT I public static final field FABRIC I + public static final field LEGACY I } public final class com/facebook/react/uimanager/common/UIManagerType$Companion { public static final field DEFAULT I public static final field FABRIC I + public static final field LEGACY I } public final class com/facebook/react/uimanager/common/ViewUtil { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java index a42933c8a5a..8c41b589ac2 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java @@ -9,8 +9,8 @@ package com.facebook.react; import static com.facebook.infer.annotation.ThreadConfined.UI; import static com.facebook.react.uimanager.BlendModeHelper.needsIsolatedLayer; -import static com.facebook.react.uimanager.common.UIManagerType.DEFAULT; import static com.facebook.react.uimanager.common.UIManagerType.FABRIC; +import static com.facebook.react.uimanager.common.UIManagerType.LEGACY; import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE; import android.content.Context; @@ -114,7 +114,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot { private int mLastHeight = 0; private int mLastOffsetX = Integer.MIN_VALUE; private int mLastOffsetY = Integer.MIN_VALUE; - private @UIManagerType int mUIManagerType = DEFAULT; + private @UIManagerType int mUIManagerType = LEGACY; private final AtomicInteger mState = new AtomicInteger(STATE_STOPPED); public ReactRootView(Context context) { @@ -817,7 +817,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot { } public void setIsFabric(boolean isFabric) { - mUIManagerType = isFabric ? FABRIC : DEFAULT; + mUIManagerType = isFabric ? FABRIC : LEGACY; } @Override diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java index cf14e51cf5f..c2526ee217d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java @@ -232,7 +232,7 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec private boolean mInitializedForFabric = false; private boolean mInitializedForNonFabric = false; private boolean mEnqueuedAnimationOnFrame = false; - private @UIManagerType int mUIManagerType = UIManagerType.DEFAULT; + private @UIManagerType int mUIManagerType = UIManagerType.LEGACY; private int mNumFabricAnimations = 0; private int mNumNonFabricAnimations = 0; @@ -542,8 +542,8 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec mUIManagerType = UIManagerType.FABRIC; } else if (mNumFabricAnimations == 0 && mNumNonFabricAnimations > 0 - && mUIManagerType != UIManagerType.DEFAULT) { - mUIManagerType = UIManagerType.DEFAULT; + && mUIManagerType != UIManagerType.LEGACY) { + mUIManagerType = UIManagerType.LEGACY; } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java index 6ce016f9130..c5004369b89 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java @@ -181,7 +181,7 @@ public class UIManagerHelper { int reactTag = view.getId(); // In non-Fabric we don't have (or use) SurfaceId - if (getUIManagerType(reactTag) == UIManagerType.DEFAULT) { + if (getUIManagerType(reactTag) == UIManagerType.LEGACY) { return -1; } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java index 512212d17ae..4a06bb35f55 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java @@ -9,8 +9,8 @@ package com.facebook.react.uimanager; import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_END; import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_START; -import static com.facebook.react.uimanager.common.UIManagerType.DEFAULT; import static com.facebook.react.uimanager.common.UIManagerType.FABRIC; +import static com.facebook.react.uimanager.common.UIManagerType.LEGACY; import android.content.ComponentCallbacks2; import android.content.res.Configuration; @@ -185,7 +185,7 @@ public class UIManagerModule extends ReactContextBaseJavaModule getReactApplicationContext().registerComponentCallbacks(mMemoryTrimCallback); getReactApplicationContext().registerComponentCallbacks(mViewManagerRegistry); mEventDispatcher.registerEventEmitter( - DEFAULT, getReactApplicationContext().getJSModule(RCTEventEmitter.class)); + LEGACY, getReactApplicationContext().getJSModule(RCTEventEmitter.class)); } @Override @@ -851,7 +851,7 @@ public class UIManagerModule extends ReactContextBaseJavaModule @Override public void receiveEvent( int surfaceId, int reactTag, String eventName, @Nullable WritableMap event) { - assert ViewUtil.getUIManagerType(reactTag) == DEFAULT; + assert ViewUtil.getUIManagerType(reactTag) == LEGACY; getReactApplicationContext() .getJSModule(RCTEventEmitter.class) .receiveEvent(reactTag, eventName, event); diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt index 9a0a31f221f..f0c97b73222 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt @@ -11,11 +11,15 @@ import androidx.annotation.IntDef import com.facebook.react.common.annotations.DeprecatedInNewArchitecture @Retention(AnnotationRetention.SOURCE) -@IntDef(UIManagerType.DEFAULT, UIManagerType.FABRIC) +@Suppress("DEPRECATION") +@IntDef(UIManagerType.DEFAULT, UIManagerType.LEGACY, UIManagerType.FABRIC) @DeprecatedInNewArchitecture public annotation class UIManagerType { public companion object { + @Deprecated( + "UIManagerType.DEFAULT will be deleted in the next release of React Native. Use [LEGACY] instead.") public const val DEFAULT: Int = 1 + public const val LEGACY: Int = 1 public const val FABRIC: Int = 2 } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt index d0367c83d0a..16952d8c7b5 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt @@ -25,7 +25,7 @@ public object ViewUtil { if (viewTag % 2 == 0) { UIManagerType.FABRIC } else { - UIManagerType.DEFAULT + UIManagerType.LEGACY } /** @@ -55,8 +55,8 @@ public object ViewUtil { // by RN and is essentially a random number. // At some point it would be great to pass the SurfaceContext here instead. @UIManagerType - val uiManagerType = if (surfaceId == -1) UIManagerType.DEFAULT else UIManagerType.FABRIC - if (uiManagerType == UIManagerType.DEFAULT && !isRootTag(viewTag)) { + val uiManagerType = if (surfaceId == -1) UIManagerType.LEGACY else UIManagerType.FABRIC + if (uiManagerType == UIManagerType.LEGACY && !isRootTag(viewTag)) { // TODO (T123064648): Some events for Fabric still didn't have the surfaceId set, so if it's // not a React RootView, double check if the tag belongs to Fabric. if (viewTag % 2 == 0) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt index 39362ac9db4..2234c0f113b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt @@ -32,12 +32,12 @@ internal class ReactEventEmitter(private val reactContext: ReactApplicationConte } fun register(@UIManagerType uiManagerType: Int, eventEmitter: RCTEventEmitter?) { - check(uiManagerType == UIManagerType.DEFAULT) + check(uiManagerType == UIManagerType.LEGACY) defaultEventEmitter = eventEmitter } fun unregister(@UIManagerType uiManagerType: Int) { - if (uiManagerType == UIManagerType.DEFAULT) { + if (uiManagerType == UIManagerType.LEGACY) { defaultEventEmitter = null } else { fabricEventEmitter = null @@ -73,7 +73,7 @@ internal class ReactEventEmitter(private val reactContext: ReactApplicationConte val reactTag = touches.getMap(0)?.getInt(TouchesHelper.TARGET_KEY) ?: 0 @UIManagerType val uiManagerType = getUIManagerType(reactTag) - if (uiManagerType == UIManagerType.DEFAULT) { + if (uiManagerType == UIManagerType.LEGACY) { ensureDefaultEventEmitter()?.receiveTouches(eventName, touches, changedIndices) } } @@ -83,7 +83,7 @@ internal class ReactEventEmitter(private val reactContext: ReactApplicationConte @UIManagerType val uiManagerType = getUIManagerType(event.viewTag, event.surfaceId) if (uiManagerType == UIManagerType.FABRIC) { fabricEventEmitter?.let { TouchesHelper.sendTouchEvent(it, event) } - } else if (uiManagerType == UIManagerType.DEFAULT) { + } else if (uiManagerType == UIManagerType.LEGACY) { ensureDefaultEventEmitter()?.let { TouchesHelper.sendTouchesLegacy(it, event) } } } @@ -119,7 +119,7 @@ internal class ReactEventEmitter(private val reactContext: ReactApplicationConte if (uiManagerType == UIManagerType.FABRIC) { fabricEventEmitter?.receiveEvent( surfaceId, targetTag, eventName, canCoalesceEvent, customCoalesceKey, params, category) - } else if (uiManagerType == UIManagerType.DEFAULT) { + } else if (uiManagerType == UIManagerType.LEGACY) { ensureDefaultEventEmitter()?.receiveEvent(targetTag, eventName, params) } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt index 5b3f661c634..1e920bc36c1 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt @@ -312,7 +312,7 @@ public object ReactScrollViewHelper { FLog.i( TAG, "updateFabricScrollState[%d] scrollX %d scrollY %d", scrollView.id, scrollX, scrollY) } - if (ViewUtil.getUIManagerType(scrollView.id) == UIManagerType.DEFAULT) { + if (ViewUtil.getUIManagerType(scrollView.id) == UIManagerType.LEGACY) { return } // NOTE: if the state wrapper is null, we shouldn't even update diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java index a4f0f8139b9..0d3aaf8c4c3 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java @@ -217,7 +217,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie ReactContext reactContext = getReactContext(); UIManager uiManager = - Assertions.assertNotNull(UIManagerHelper.getUIManager(reactContext, UIManagerType.DEFAULT)); + Assertions.assertNotNull(UIManagerHelper.getUIManager(reactContext, UIManagerType.LEGACY)); Spanned text = (Spanned) getText(); Layout layout = getLayout();