Skip to content

Commit bbc1e12

Browse files
Maddie Lordfacebook-github-bot
Maddie Lord
authored andcommitted
Allow Custom ReactNativeFeatureFlags for Shell 2.0 (#51177)
Summary: Pull Request resolved: #51177 Introduce DefaultNewArchitectureEntryPoint.loadWithFeatureFlags() to allow custom feature flags while using DefaultNewArchitectureEntryPoint Reviewed By: arushikesarwani94 Differential Revision: D74228467 fbshipit-source-id: ec3fe7edd31cc9713498b316d6306eaa3686398b
1 parent a96aeab commit bbc1e12

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

packages/react-native/ReactAndroid/api/ReactAndroid.api

+1
Original file line numberDiff line numberDiff line change
@@ -1895,6 +1895,7 @@ public final class com/facebook/react/defaults/DefaultNewArchitectureEntryPoint
18951895
public static final fun load (ZZ)V
18961896
public static final fun load (ZZZ)V
18971897
public static synthetic fun load$default (ZZZILjava/lang/Object;)V
1898+
public static final fun loadWithFeatureFlags (Lcom/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider;)V
18981899
public final fun setReleaseLevel (Lcom/facebook/react/common/ReleaseLevel;)V
18991900
}
19001901

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt

+13
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
1515
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android
1616
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android
1717
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android
18+
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsProvider
1819

1920
/**
2021
* A utility class that serves as an entry point for users setup the New Architecture.
@@ -68,6 +69,18 @@ public object DefaultNewArchitectureEntryPoint {
6869
DefaultSoLoader.maybeLoadSoLibrary()
6970
}
7071

72+
@JvmStatic
73+
public fun loadWithFeatureFlags(featureFlags: ReactNativeFeatureFlagsProvider) {
74+
ReactNativeFeatureFlags.override(featureFlags)
75+
76+
privateFabricEnabled = featureFlags.enableFabricRenderer()
77+
privateTurboModulesEnabled = featureFlags.useTurboModules()
78+
privateConcurrentReactEnabled = featureFlags.enableFabricRenderer()
79+
privateBridgelessEnabled = featureFlags.enableBridgelessArchitecture()
80+
81+
DefaultSoLoader.maybeLoadSoLibrary()
82+
}
83+
7184
private var privateFabricEnabled: Boolean = false
7285

7386
@JvmStatic

0 commit comments

Comments
 (0)