@@ -41,82 +41,83 @@ internal class RNTesterApplication : Application(), ReactApplication {
41
41
@Deprecated(
42
42
" You should not use ReactNativeHost directly in the New Architecture. Use ReactHost instead." ,
43
43
replaceWith = ReplaceWith (" reactHost" ))
44
- override val reactNativeHost: ReactNativeHost by lazy {
45
- object : DefaultReactNativeHost (this ) {
46
- public override fun getJSMainModuleName (): String = BuildConfig .JS_MAIN_MODULE_NAME
47
-
48
- public override fun getBundleAssetName (): String = BuildConfig .BUNDLE_ASSET_NAME
49
-
50
- override fun getUseDeveloperSupport (): Boolean = BuildConfig .DEBUG
51
-
52
- public override fun getPackages (): List <ReactPackage > {
53
- return listOf (
54
- MainReactPackage (),
55
- PopupMenuPackage (),
56
- object : BaseReactPackage () {
57
- override fun getModule (
58
- name : String ,
59
- reactContext : ReactApplicationContext
60
- ): NativeModule ? =
61
- when {
62
- SampleTurboModule .NAME == name -> SampleTurboModule (reactContext)
63
- SampleLegacyModule .NAME == name -> SampleLegacyModule (reactContext)
64
- else -> null
65
- }
66
-
67
- // Note: Specialized annotation processor for @ReactModule isn't configured in OSS
68
- // yet. For now, hardcode this information, though it's not necessary for most
69
- // modules.
70
- override fun getReactModuleInfoProvider (): ReactModuleInfoProvider =
71
- ReactModuleInfoProvider {
72
- mapOf (
73
- SampleTurboModule .NAME to
74
- ReactModuleInfo (
75
- SampleTurboModule .NAME ,
76
- " SampleTurboModule" ,
77
- canOverrideExistingModule = false ,
78
- needsEagerInit = false ,
79
- isCxxModule = false ,
80
- isTurboModule = true ),
81
- SampleLegacyModule .NAME to
82
- ReactModuleInfo (
83
- SampleLegacyModule .NAME ,
84
- " SampleLegacyModule" ,
85
- canOverrideExistingModule = false ,
86
- needsEagerInit = false ,
87
- isCxxModule = false ,
88
- isTurboModule = false ))
89
- }
90
- },
91
- object : ReactPackage , ViewManagerOnDemandReactPackage {
92
- override fun getViewManagerNames (reactContext : ReactApplicationContext ) =
93
- listOf (" RNTMyNativeView" , " RNTMyLegacyNativeView" , " RNTReportFullyDrawnView" )
94
-
95
- override fun createViewManagers (
96
- reactContext : ReactApplicationContext
97
- ): List <ViewManager <* , * >> =
98
- listOf (
99
- MyNativeViewManager (),
100
- MyLegacyViewManager (reactContext),
101
- ReportFullyDrawnViewManager ())
102
-
103
- override fun createViewManager (
104
- reactContext : ReactApplicationContext ,
105
- viewManagerName : String
106
- ): ViewManager <* , out ReactShadowNode <* >>? =
107
- when (viewManagerName) {
108
- " RNTMyNativeView" -> MyNativeViewManager ()
109
- " RNTMyLegacyNativeView" -> MyLegacyViewManager (reactContext)
110
- " RNTReportFullyDrawnView" -> ReportFullyDrawnViewManager ()
111
- else -> null
112
- }
113
- })
44
+ override val reactNativeHost: ReactNativeHost by
45
+ lazy(LazyThreadSafetyMode .NONE ) {
46
+ object : DefaultReactNativeHost (this ) {
47
+ public override fun getJSMainModuleName (): String = BuildConfig .JS_MAIN_MODULE_NAME
48
+
49
+ public override fun getBundleAssetName (): String = BuildConfig .BUNDLE_ASSET_NAME
50
+
51
+ override fun getUseDeveloperSupport (): Boolean = BuildConfig .DEBUG
52
+
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
+ }
116
+
117
+ override val isNewArchEnabled: Boolean = BuildConfig .IS_NEW_ARCHITECTURE_ENABLED
118
+ }
114
119
}
115
120
116
- override val isNewArchEnabled: Boolean = BuildConfig .IS_NEW_ARCHITECTURE_ENABLED
117
- }
118
- }
119
-
120
121
override val reactHost: ReactHost
121
122
get() = DefaultReactHost .getDefaultReactHost(applicationContext, reactNativeHost)
122
123
0 commit comments