Refactor DefaultReactNativeHost to use the new way of Fabric initialization (#41739)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41739

Refactoring `DefaultReactNativeHost` to use the new way of Fabric initialization through `FabricUIManagerProviderImpl`

Reviewed By: philIip

Differential Revision: D51719555

fbshipit-source-id: bad471a8a273accecb0641ccaa77223534cd45fd
This commit is contained in:
Arushi Kesarwani 2023-12-01 12:19:07 -08:00 коммит произвёл Facebook GitHub Bot
Родитель 288708f411
Коммит c30f2b6205
1 изменённых файлов: 11 добавлений и 25 удалений

Просмотреть файл

@ -14,12 +14,8 @@ import com.facebook.react.ReactHost
import com.facebook.react.ReactInstanceManager
import com.facebook.react.ReactNativeHost
import com.facebook.react.ReactPackageTurboModuleManagerDelegate
import com.facebook.react.bridge.JSIModulePackage
import com.facebook.react.bridge.JSIModuleProvider
import com.facebook.react.bridge.JSIModuleSpec
import com.facebook.react.bridge.JSIModuleType
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.bridge.UIManager
import com.facebook.react.bridge.UIManagerProvider
import com.facebook.react.fabric.ComponentFactory
import com.facebook.react.fabric.FabricUIManagerProviderImpl
import com.facebook.react.fabric.ReactNativeConfig
@ -46,30 +42,20 @@ protected constructor(
null
}
override fun getJSIModulePackage(): JSIModulePackage? =
override fun getUIManagerProvider(): UIManagerProvider? =
if (isNewArchEnabled) {
JSIModulePackage { reactApplicationContext: ReactApplicationContext, _ ->
listOf(
object : JSIModuleSpec<UIManager> {
override fun getJSIModuleType(): JSIModuleType = JSIModuleType.UIManager
override fun getJSIModuleProvider(): JSIModuleProvider<UIManager> {
UIManagerProvider { reactApplicationContext: ReactApplicationContext ->
val componentFactory = ComponentFactory()
DefaultComponentsRegistry.register(componentFactory)
val reactInstanceManager: ReactInstanceManager = getReactInstanceManager()
val viewManagers =
reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)
val viewManagers = reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)
val viewManagerRegistry = ViewManagerRegistry(viewManagers)
return FabricUIManagerProviderImpl(
reactApplicationContext,
componentFactory,
ReactNativeConfig.DEFAULT_CONFIG,
viewManagerRegistry)
}
})
FabricUIManagerProviderImpl(
componentFactory, ReactNativeConfig.DEFAULT_CONFIG, viewManagerRegistry)
.createUIManager(reactApplicationContext)
}
} else {
null