@@ -13,29 +13,25 @@ import android.app.Application
1313import com.facebook.fbreact.specs.SampleLegacyModule
1414import com.facebook.fbreact.specs.SampleTurboModule
1515import com.facebook.react.BaseReactPackage
16+ import com.facebook.react.PackageList
1617import com.facebook.react.ReactApplication
1718import com.facebook.react.ReactHost
19+ import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
1820import com.facebook.react.ReactNativeHost
1921import com.facebook.react.ReactPackage
2022import com.facebook.react.ViewManagerOnDemandReactPackage
2123import com.facebook.react.bridge.NativeModule
2224import com.facebook.react.bridge.ReactApplicationContext
2325import com.facebook.react.common.assets.ReactFontManager
24- import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
2526import com.facebook.react.defaults.DefaultReactHost
2627import com.facebook.react.defaults.DefaultReactNativeHost
2728import com.facebook.react.module.model.ReactModuleInfo
2829import com.facebook.react.module.model.ReactModuleInfoProvider
29- import com.facebook.react.popupmenu.PopupMenuPackage
30- import com.facebook.react.shell.MainReactPackage
31- import com.facebook.react.soloader.OpenSourceMergedSoMapping
3230import com.facebook.react.uiapp.component.MyLegacyViewManager
3331import com.facebook.react.uiapp.component.MyNativeViewManager
3432import com.facebook.react.uiapp.component.ReportFullyDrawnViewManager
3533import com.facebook.react.uimanager.ReactShadowNode
3634import com.facebook.react.uimanager.ViewManager
37- import com.facebook.react.views.view.setEdgeToEdgeFeatureFlagOn
38- import com.facebook.soloader.SoLoader
3935
4036internal class RNTesterApplication : Application (), ReactApplication {
4137 @Deprecated(
@@ -50,69 +46,70 @@ internal class RNTesterApplication : Application(), ReactApplication {
5046
5147 override fun getUseDeveloperSupport (): Boolean = BuildConfig .DEBUG
5248
53- public override fun getPackages (): List <ReactPackage > {
54- return listOf (
55- MainReactPackage (),
56- PopupMenuPackage (),
57- object : BaseReactPackage () {
58- override fun getModule (
59- name : String ,
60- reactContext : ReactApplicationContext
61- ): NativeModule ? =
62- when {
63- SampleTurboModule .NAME == name -> SampleTurboModule (reactContext)
64- SampleLegacyModule .NAME == name -> SampleLegacyModule (reactContext)
65- else -> null
66- }
67-
68- // Note: Specialized annotation processor for @ReactModule isn't configured in OSS
69- // yet. For now, hardcode this information, though it's not necessary for most
70- // modules.
71- override fun getReactModuleInfoProvider (): ReactModuleInfoProvider =
72- ReactModuleInfoProvider {
73- mapOf (
74- SampleTurboModule .NAME to
75- ReactModuleInfo (
76- SampleTurboModule .NAME ,
77- " SampleTurboModule" ,
78- canOverrideExistingModule = false ,
79- needsEagerInit = false ,
80- isCxxModule = false ,
81- isTurboModule = true ),
82- SampleLegacyModule .NAME to
83- ReactModuleInfo (
84- SampleLegacyModule .NAME ,
85- " SampleLegacyModule" ,
86- canOverrideExistingModule = false ,
87- needsEagerInit = false ,
88- isCxxModule = false ,
89- isTurboModule = false ))
90- }
91- },
92- object : ReactPackage , ViewManagerOnDemandReactPackage {
93- override fun getViewManagerNames (reactContext : ReactApplicationContext ) =
94- listOf (" RNTMyNativeView" , " RNTMyLegacyNativeView" , " RNTReportFullyDrawnView" )
95-
96- override fun createViewManagers (
97- reactContext : ReactApplicationContext
98- ): List <ViewManager <* , * >> =
99- listOf (
100- MyNativeViewManager (),
101- MyLegacyViewManager (reactContext),
102- ReportFullyDrawnViewManager ())
103-
104- override fun createViewManager (
105- reactContext : ReactApplicationContext ,
106- viewManagerName : String
107- ): ViewManager <* , out ReactShadowNode <* >>? =
108- when (viewManagerName) {
109- " RNTMyNativeView" -> MyNativeViewManager ()
110- " RNTMyLegacyNativeView" -> MyLegacyViewManager (reactContext)
111- " RNTReportFullyDrawnView" -> ReportFullyDrawnViewManager ()
112- else -> null
113- }
114- })
115- }
49+ public override fun getPackages (): List <ReactPackage > =
50+ PackageList (this ).packages.apply {
51+ add(
52+ object : BaseReactPackage () {
53+ override fun getModule (
54+ name : String ,
55+ reactContext : ReactApplicationContext
56+ ): NativeModule ? =
57+ when {
58+ SampleTurboModule .NAME == name -> SampleTurboModule (reactContext)
59+ SampleLegacyModule .NAME == name -> SampleLegacyModule (reactContext)
60+ else -> null
61+ }
62+
63+ // Note: Specialized annotation processor for @ReactModule isn't configured in
64+ // OSS yet. For now, hardcode this information, though it's not necessary for
65+ // most modules.
66+ override fun getReactModuleInfoProvider (): ReactModuleInfoProvider =
67+ ReactModuleInfoProvider {
68+ mapOf (
69+ SampleTurboModule .NAME to
70+ ReactModuleInfo (
71+ SampleTurboModule .NAME ,
72+ " SampleTurboModule" ,
73+ canOverrideExistingModule = false ,
74+ needsEagerInit = false ,
75+ isCxxModule = false ,
76+ isTurboModule = true ),
77+ SampleLegacyModule .NAME to
78+ ReactModuleInfo (
79+ SampleLegacyModule .NAME ,
80+ " SampleLegacyModule" ,
81+ canOverrideExistingModule = false ,
82+ needsEagerInit = false ,
83+ isCxxModule = false ,
84+ isTurboModule = false ))
85+ }
86+ })
87+ add(
88+ object : ReactPackage , ViewManagerOnDemandReactPackage {
89+ override fun getViewManagerNames (reactContext : ReactApplicationContext ) =
90+ listOf (
91+ " RNTMyNativeView" , " RNTMyLegacyNativeView" , " RNTReportFullyDrawnView" )
92+
93+ override fun createViewManagers (
94+ reactContext : ReactApplicationContext
95+ ): List <ViewManager <* , * >> =
96+ listOf (
97+ MyNativeViewManager (),
98+ MyLegacyViewManager (reactContext),
99+ ReportFullyDrawnViewManager ())
100+
101+ override fun createViewManager (
102+ reactContext : ReactApplicationContext ,
103+ viewManagerName : String
104+ ): ViewManager <* , out ReactShadowNode <* >>? =
105+ when (viewManagerName) {
106+ " RNTMyNativeView" -> MyNativeViewManager ()
107+ " RNTMyLegacyNativeView" -> MyLegacyViewManager (reactContext)
108+ " RNTReportFullyDrawnView" -> ReportFullyDrawnViewManager ()
109+ else -> null
110+ }
111+ })
112+ }
116113
117114 override val isNewArchEnabled: Boolean = BuildConfig .IS_NEW_ARCHITECTURE_ENABLED
118115 }
@@ -124,21 +121,6 @@ internal class RNTesterApplication : Application(), ReactApplication {
124121 override fun onCreate () {
125122 ReactFontManager .getInstance().addCustomFont(this , " Rubik" , R .font.rubik)
126123 super .onCreate()
127-
128- if (BuildConfig .IS_INTERNAL_BUILD ) {
129- // For Buck we call the simple init() as the SoMapping is built-from-source inside SoLoader
130- SoLoader .init (this , false )
131- } else {
132- // For Gradle instead, we need to specify it as constructor parameter.
133- SoLoader .init (this , OpenSourceMergedSoMapping )
134- }
135-
136- if (BuildConfig .IS_NEW_ARCHITECTURE_ENABLED ) {
137- load()
138- }
139-
140- if (BuildConfig .IS_EDGE_TO_EDGE_ENABLED ) {
141- setEdgeToEdgeFeatureFlagOn()
142- }
124+ loadReactNative(this )
143125 }
144126}
0 commit comments