Skip to content

Commit 934fba4

Browse files
committed
Deprecate Legacy Architecture UIManagerModules class
Differential Revision: D79672294
1 parent 58c9373 commit 934fba4

File tree

9 files changed

+31
-22
lines changed

9 files changed

+31
-22
lines changed

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import com.facebook.react.modules.debug.DevSettingsModule
3030
import com.facebook.react.modules.debug.SourceCodeModule
3131
import com.facebook.react.modules.deviceinfo.DeviceInfoModule
3232
import com.facebook.react.modules.systeminfo.AndroidInfoModule
33-
import com.facebook.react.uimanager.UIManagerModule
3433
import com.facebook.react.uimanager.ViewManager
3534
import com.facebook.react.uimanager.ViewManagerResolver
3635
import com.facebook.systrace.Systrace
@@ -53,7 +52,7 @@ import com.facebook.systrace.Systrace
5352
HeadlessJsTaskSupportModule::class,
5453
SourceCodeModule::class,
5554
TimingModule::class,
56-
UIManagerModule::class])
55+
com.facebook.react.uimanager.UIManagerModule::class])
5756
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
5857
@Suppress("DEPRECATION")
5958
internal class CoreModulesPackage(
@@ -103,7 +102,7 @@ internal class CoreModulesPackage(
103102
HeadlessJsTaskSupportModule::class.java,
104103
SourceCodeModule::class.java,
105104
TimingModule::class.java,
106-
UIManagerModule::class.java,
105+
com.facebook.react.uimanager.UIManagerModule::class.java,
107106
)
108107

109108
val reactModuleInfoMap: MutableMap<String, ReactModuleInfo> = HashMap<String, ReactModuleInfo>()
@@ -140,15 +139,17 @@ internal class CoreModulesPackage(
140139
HeadlessJsTaskSupportModule.NAME -> HeadlessJsTaskSupportModule(reactContext)
141140
SourceCodeModule.NAME -> SourceCodeModule(reactContext)
142141
TimingModule.NAME -> TimingModule(reactContext, reactInstanceManager.devSupportManager)
143-
UIManagerModule.NAME -> createUIManager(reactContext)
142+
com.facebook.react.uimanager.UIManagerModule.NAME -> createUIManager(reactContext)
144143
DeviceInfoModule.NAME -> DeviceInfoModule(reactContext)
145144
else ->
146145
throw IllegalArgumentException(
147146
"In CoreModulesPackage, could not find Native module for $name")
148147
}
149148
}
150149

151-
private fun createUIManager(reactContext: ReactApplicationContext): UIManagerModule {
150+
private fun createUIManager(
151+
reactContext: ReactApplicationContext
152+
): com.facebook.react.uimanager.UIManagerModule {
152153
ReactMarker.logMarker(ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_START)
153154
Systrace.beginSection(Systrace.TRACE_TAG_REACT, "createUIManagerModule")
154155

@@ -165,9 +166,10 @@ internal class CoreModulesPackage(
165166
}
166167
}
167168

168-
return UIManagerModule(reactContext, resolver, minTimeLeftInFrameForNonBatchedOperationMs)
169+
return com.facebook.react.uimanager.UIManagerModule(
170+
reactContext, resolver, minTimeLeftInFrameForNonBatchedOperationMs)
169171
} else {
170-
return UIManagerModule(
172+
return com.facebook.react.uimanager.UIManagerModule(
171173
reactContext,
172174
reactInstanceManager.getOrCreateViewManagers(reactContext),
173175
minTimeLeftInFrameForNonBatchedOperationMs)

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import com.facebook.react.modules.core.ReactChoreographer
2828
import com.facebook.react.uimanager.GuardedFrameCallback
2929
import com.facebook.react.uimanager.UIBlock
3030
import com.facebook.react.uimanager.UIManagerHelper
31-
import com.facebook.react.uimanager.UIManagerModule
3231
import com.facebook.react.uimanager.common.UIManagerType
3332
import com.facebook.react.uimanager.common.ViewUtil
3433
import java.util.ArrayList
@@ -74,9 +73,9 @@ import kotlin.concurrent.Volatile
7473
* that coordinates all the action: [NativeAnimatedNodesManager]. Since all the methods from
7574
* [NativeAnimatedNodesManager] need to be called from the UI thread, we we create a queue of
7675
* animated graph operations that is then enqueued to be executed in the UI Thread at the end of the
77-
* batch of JS->native calls (similarly to how it's handled in [UIManagerModule]). This isolates us
78-
* from the problems that may be caused by concurrent updates of animated graph while UI thread is
79-
* "executing" the animation loop.
76+
* batch of JS->native calls (similarly to how it's handled in
77+
* [com.facebook.react.uimanager.UIManagerModule]). This isolates us from the problems that may be
78+
* caused by concurrent updates of animated graph while UI thread is "executing" the animation loop.
8079
*/
8180
@OptIn(UnstableReactNativeAPI::class)
8281
@ReactModule(name = NativeAnimatedModuleSpec.NAME)
@@ -306,6 +305,7 @@ public class NativeAnimatedModule(reactContext: ReactApplicationContext) :
306305
}
307306

308307
// For non-FabricUIManager only
308+
@Suppress("DEPRECATION")
309309
@UiThread
310310
override fun willDispatchViewUpdates(uiManager: UIManager) {
311311
if (operations.isEmpty && preOperations.isEmpty) {
@@ -325,8 +325,8 @@ public class NativeAnimatedModule(reactContext: ReactApplicationContext) :
325325

326326
val operationsUIBlock = UIBlock { operations.executeBatch(frameNo, nodesManager) }
327327

328-
assert(uiManager is UIManagerModule)
329-
val uiManagerModule = uiManager as UIManagerModule
328+
assert(uiManager is com.facebook.react.uimanager.UIManagerModule)
329+
val uiManagerModule = uiManager as com.facebook.react.uimanager.UIManagerModule
330330
uiManagerModule.prependUIBlock(preOperationsUIBlock)
331331
uiManagerModule.addUIBlock(operationsUIBlock)
332332
}

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import android.view.Choreographer
1111
import com.facebook.react.bridge.ReactContext
1212
import com.facebook.react.bridge.UiThreadUtil
1313
import com.facebook.react.common.build.ReactBuildConfig
14-
import com.facebook.react.uimanager.UIManagerModule
1514

1615
/**
1716
* Each time a frame is drawn, records whether it should have expected any more callbacks since the
@@ -62,7 +61,8 @@ internal class FpsDebugFrameCallback(private val reactContext: ReactContext) :
6261
// removeBridgeIdleDebugListener for Bridgeless
6362
@Suppress("DEPRECATION")
6463
if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
65-
val uiManagerModule = reactContext.getNativeModule(UIManagerModule::class.java)
64+
val uiManagerModule =
65+
reactContext.getNativeModule(com.facebook.react.uimanager.UIManagerModule::class.java)
6666
if (!reactContext.isBridgeless) {
6767
reactContext.catalystInstance.addBridgeIdleDebugListener(didJSUpdateUiDuringFrameDetector)
6868
isRunningOnFabric = false
@@ -83,7 +83,8 @@ internal class FpsDebugFrameCallback(private val reactContext: ReactContext) :
8383
fun stop() {
8484
@Suppress("DEPRECATION")
8585
if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
86-
val uiManagerModule = reactContext.getNativeModule(UIManagerModule::class.java)
86+
val uiManagerModule =
87+
reactContext.getNativeModule(com.facebook.react.uimanager.UIManagerModule::class.java)
8788
if (!reactContext.isBridgeless) {
8889
reactContext.catalystInstance.removeBridgeIdleDebugListener(
8990
didJSUpdateUiDuringFrameDetector)

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ import com.facebook.react.runtime.internal.bolts.Task
6161
import com.facebook.react.runtime.internal.bolts.TaskCompletionSource
6262
import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder
6363
import com.facebook.react.uimanager.DisplayMetricsHolder
64-
import com.facebook.react.uimanager.UIManagerModule
6564
import com.facebook.react.uimanager.events.BlackHoleEventDispatcher
6665
import com.facebook.react.uimanager.events.EventDispatcher
6766
import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper
@@ -523,9 +522,10 @@ public class ReactHostImpl(
523522
internal val nativeModules: Collection<NativeModule>
524523
get() = reactInstance?.nativeModules ?: listOf()
525524

525+
@Suppress("DEPRECATION")
526526
internal fun <T : NativeModule> getNativeModule(nativeModuleInterface: Class<T>): T? {
527527
if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE &&
528-
nativeModuleInterface == UIManagerModule::class.java) {
528+
nativeModuleInterface == com.facebook.react.uimanager.UIManagerModule::class.java) {
529529
ReactSoftExceptionLogger.logSoftExceptionVerbose(
530530
TAG,
531531
ReactNoCrashSoftException(

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8+
@file:Suppress("DEPRECATION")
9+
810
package com.facebook.react.uimanager
911

1012
import android.util.SparseArray

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@
8888
*/
8989
@ReactModule(name = UIManagerModule.NAME)
9090
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
91+
@Deprecated(
92+
since = "This class is part of Legacy Architecture and will be removed in a future release")
9193
public class UIManagerModule extends ReactContextBaseJavaModule
9294
implements OnBatchCompleteListener, LifecycleEventListener, UIManager {
9395
static {

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8+
@file:Suppress("DEPRECATION")
9+
810
package com.facebook.react.uimanager
911

1012
import com.facebook.react.common.annotations.internal.LegacyArchitecture

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.facebook.react.common.build.ReactBuildConfig
1919
import com.facebook.react.uimanager.PixelUtil.pxToDp
2020
import com.facebook.react.uimanager.StateWrapper
2121
import com.facebook.react.uimanager.ThemedReactContext
22-
import com.facebook.react.uimanager.UIManagerModule
2322

2423
internal class ReactSafeAreaView(val reactContext: ThemedReactContext) : ViewGroup(reactContext) {
2524
internal var stateWrapper: StateWrapper? = null
@@ -39,6 +38,7 @@ internal class ReactSafeAreaView(val reactContext: ThemedReactContext) : ViewGro
3938

4039
override fun onLayout(p0: Boolean, p1: Int, p2: Int, p3: Int, p4: Int): Unit = Unit
4140

41+
@Suppress("DEPRECATION")
4242
@UiThread
4343
private fun updateState(insets: Insets) {
4444
val sw = stateWrapper
@@ -57,7 +57,7 @@ internal class ReactSafeAreaView(val reactContext: ThemedReactContext) : ViewGro
5757
object : GuardedRunnable(reactContext) {
5858
override fun runGuarded() {
5959
this@ReactSafeAreaView.reactContext.reactApplicationContext
60-
.getNativeModule(UIManagerModule::class.java)
60+
.getNativeModule(com.facebook.react.uimanager.UIManagerModule::class.java)
6161
?.updateInsetsPadding(id, insets.top, insets.left, insets.bottom, insets.right)
6262
}
6363
})

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ import com.facebook.react.uimanager.PixelUtil.toDIPFromPixel
6363
import com.facebook.react.uimanager.ReactAccessibilityDelegate
6464
import com.facebook.react.uimanager.StateWrapper
6565
import com.facebook.react.uimanager.UIManagerHelper
66-
import com.facebook.react.uimanager.UIManagerModule
6766
import com.facebook.react.uimanager.common.UIManagerType
6867
import com.facebook.react.uimanager.common.ViewUtil.getUIManagerType
6968
import com.facebook.react.uimanager.events.EventDispatcher
@@ -850,7 +849,8 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
850849
@Suppress("DEPRECATION")
851850
if (stateWrapper == null && !reactContext.isBridgeless) {
852851
val localData = ReactTextInputLocalData(this)
853-
val uiManager = reactContext.getNativeModule(UIManagerModule::class.java)
852+
val uiManager =
853+
reactContext.getNativeModule(com.facebook.react.uimanager.UIManagerModule::class.java)
854854
uiManager?.setViewLocalData(id, localData)
855855
}
856856
}

0 commit comments

Comments
 (0)