@@ -4,8 +4,9 @@ import android.os.Bundle
44import android.view.LayoutInflater
55import android.view.View
66import android.view.ViewGroup
7- import com.facebook.react.ReactApplication
7+ import com.facebook.react.ReactActivity
88import com.facebook.react.ReactRootView
9+ import com.facebook.react.interfaces.fabric.ReactSurface
910import com.google.android.material.bottomsheet.BottomSheetDialogFragment
1011import com.microsoft.reacttestapp.BuildConfig
1112
@@ -30,19 +31,33 @@ class ComponentBottomSheetDialogFragment : BottomSheetDialogFragment() {
3031 }
3132 }
3233
34+ private var surface: ReactSurface ? = null
35+
3336 override fun onCreateView (
3437 inflater : LayoutInflater ,
3538 container : ViewGroup ? ,
3639 savedInstanceState : Bundle ?
3740 ): View {
38- val reactApplication = requireActivity().application as ReactApplication
39- return ReactRootView (context).apply {
40- setIsFabric(BuildConfig .REACTAPP_USE_FABRIC )
41- startReactApplication(
42- reactApplication.reactNativeHost.reactInstanceManager,
43- requireArguments().getString(NAME ),
41+ val activity = requireActivity() as ReactActivity
42+ if (BuildConfig .REACTAPP_USE_BRIDGELESS ) {
43+ val surface = activity.reactActivityDelegate.reactHost?.createSurface(
44+ activity,
45+ requireNotNull(requireArguments().getString(NAME )),
4446 requireArguments().getBundle(INITIAL_PROPERTIES )
4547 )
48+ this .surface = requireNotNull(surface)
49+ surface.start()
50+ return surface.view as View
51+ } else {
52+ return ReactRootView (context).apply {
53+ setIsFabric(BuildConfig .REACTAPP_USE_FABRIC )
54+ @Suppress(" DEPRECATION" )
55+ startReactApplication(
56+ activity.reactActivityDelegate.reactInstanceManager,
57+ requireArguments().getString(NAME ),
58+ requireArguments().getBundle(INITIAL_PROPERTIES )
59+ )
60+ }
4661 }
4762 }
4863}
0 commit comments