Skip to content
Snippets Groups Projects
Commit 4a97c071 authored by Arushi Kesarwani's avatar Arushi Kesarwani Committed by Facebook GitHub Bot
Browse files

Refactor DefaultReactNativeHost to use the new way of Fabric initialization

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

Reviewed By: philIip

Differential Revision: D51719555
parent aaf6ef97
No related merge requests found
......@@ -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
UIManagerProvider { reactApplicationContext: ReactApplicationContext ->
val componentFactory = ComponentFactory()
override fun getJSIModuleProvider(): JSIModuleProvider<UIManager> {
val componentFactory = ComponentFactory()
DefaultComponentsRegistry.register(componentFactory)
DefaultComponentsRegistry.register(componentFactory)
val reactInstanceManager: ReactInstanceManager = getReactInstanceManager()
val reactInstanceManager: ReactInstanceManager = getReactInstanceManager()
val viewManagers =
reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)
val viewManagerRegistry = ViewManagerRegistry(viewManagers)
return FabricUIManagerProviderImpl(
reactApplicationContext,
componentFactory,
ReactNativeConfig.DEFAULT_CONFIG,
viewManagerRegistry)
}
})
val viewManagers = reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)
val viewManagerRegistry = ViewManagerRegistry(viewManagers)
FabricUIManagerProviderImpl(
componentFactory, ReactNativeConfig.DEFAULT_CONFIG, viewManagerRegistry)
.createUIManager(reactApplicationContext)
}
} else {
null
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment