Revert D51224854: Refactor DefaultReactNativeHost to use the new way of Fabric initialization

Differential Revision:
D51224854

Original commit changeset: 2af802140436

Original Phabricator Diff: D51224854

fbshipit-source-id: 039337be7057c9625d4a6e53520a18cd5071813e
This commit is contained in:
Arushi Kesarwani
2023-11-29 12:01:12 -08:00
committed by Facebook GitHub Bot
parent 56291fadd4
commit 93be03056b
@@ -14,8 +14,12 @@ 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.UIManagerProvider
import com.facebook.react.bridge.UIManager
import com.facebook.react.fabric.ComponentFactory
import com.facebook.react.fabric.FabricUIManagerProviderImpl
import com.facebook.react.fabric.ReactNativeConfig
@@ -42,20 +46,30 @@ protected constructor(
null
}
override fun getUIManagerProvider(): UIManagerProvider? =
override fun getJSIModulePackage(): JSIModulePackage? =
if (isNewArchEnabled) {
UIManagerProvider { reactApplicationContext: ReactApplicationContext ->
val componentFactory = ComponentFactory()
JSIModulePackage { reactApplicationContext: ReactApplicationContext, _ ->
listOf(
object : JSIModuleSpec<UIManager> {
override fun getJSIModuleType(): JSIModuleType = JSIModuleType.UIManager
DefaultComponentsRegistry.register(componentFactory)
override fun getJSIModuleProvider(): JSIModuleProvider<UIManager> {
val componentFactory = ComponentFactory()
val reactInstanceManager: ReactInstanceManager = getReactInstanceManager()
DefaultComponentsRegistry.register(componentFactory)
val viewManagers = reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)
val viewManagerRegistry = ViewManagerRegistry(viewManagers)
FabricUIManagerProviderImpl(
componentFactory, ReactNativeConfig.DEFAULT_CONFIG, viewManagerRegistry)
.createUIManager(reactApplicationContext)
val reactInstanceManager: ReactInstanceManager = getReactInstanceManager()
val viewManagers =
reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)
val viewManagerRegistry = ViewManagerRegistry(viewManagers)
return FabricUIManagerProviderImpl(
reactApplicationContext,
componentFactory,
ReactNativeConfig.DEFAULT_CONFIG,
viewManagerRegistry)
}
})
}
} else {
null