Skip to content

Commit 143b9d1

Browse files
mdvaccafacebook-github-bot
authored andcommitted
Expose JSBundleLoader as parameter of DefaultReactHost (#47179)
Summary: Pull Request resolved: #47179 In this diff I'm exposing the new parameter (JSBundleLoader) as parameter of DefaultReactHost. changelog: [Android][Breaking] Added JSBundleLoader as parameter of DefaultReactHost Reviewed By: cortinico Differential Revision: D64381501 fbshipit-source-id: dd0d56441802f7db53c67c659bbcae63c4b1b613
1 parent 80f8469 commit 143b9d1

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2059,8 +2059,8 @@ public class com/facebook/react/defaults/DefaultReactActivityDelegate : com/face
20592059
public final class com/facebook/react/defaults/DefaultReactHost {
20602060
public static final field INSTANCE Lcom/facebook/react/defaults/DefaultReactHost;
20612061
public static final fun getDefaultReactHost (Landroid/content/Context;Lcom/facebook/react/ReactNativeHost;)Lcom/facebook/react/ReactHost;
2062-
public static final fun getDefaultReactHost (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;)Lcom/facebook/react/ReactHost;
2063-
public static synthetic fun getDefaultReactHost$default (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;ILjava/lang/Object;)Lcom/facebook/react/ReactHost;
2062+
public static final fun getDefaultReactHost (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;Lcom/facebook/react/bridge/JSBundleLoader;)Lcom/facebook/react/ReactHost;
2063+
public static synthetic fun getDefaultReactHost$default (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;Lcom/facebook/react/bridge/JSBundleLoader;ILjava/lang/Object;)Lcom/facebook/react/ReactHost;
20642064
}
20652065

20662066
public abstract class com/facebook/react/defaults/DefaultReactNativeHost : com/facebook/react/ReactNativeHost {

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

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public object DefaultReactHost {
4545
* @param useDevSupport whether to enable dev support, default to ReactBuildConfig.DEBUG.
4646
* @param cxxReactPackageProviders a list of cxxreactpackage providers (to register c++ turbo
4747
* modules)
48+
* @param jsBundleLoader a [JSBundleLoader] to use for creating the [ReactHost]
4849
*
4950
* TODO(T186951312): Should this be @UnstableReactNativeAPI?
5051
*/
@@ -59,25 +60,28 @@ public object DefaultReactHost {
5960
isHermesEnabled: Boolean = true,
6061
useDevSupport: Boolean = ReactBuildConfig.DEBUG,
6162
cxxReactPackageProviders: List<(ReactContext) -> CxxReactPackage> = emptyList(),
63+
jsBundleLoader: JSBundleLoader? = null,
6264
): ReactHost {
6365
if (reactHost == null) {
64-
val jsBundleLoader =
65-
if (jsBundleFilePath != null) {
66-
if (jsBundleFilePath.startsWith("assets://")) {
67-
JSBundleLoader.createAssetLoader(context, jsBundleFilePath, true)
68-
} else {
69-
JSBundleLoader.createFileLoader(jsBundleFilePath)
70-
}
71-
} else {
72-
JSBundleLoader.createAssetLoader(context, "assets://$jsBundleAssetPath", true)
73-
}
66+
67+
val bundleLoader =
68+
jsBundleLoader
69+
?: if (jsBundleFilePath != null) {
70+
if (jsBundleFilePath.startsWith("assets://")) {
71+
JSBundleLoader.createAssetLoader(context, jsBundleFilePath, true)
72+
} else {
73+
JSBundleLoader.createFileLoader(jsBundleFilePath)
74+
}
75+
} else {
76+
JSBundleLoader.createAssetLoader(context, "assets://$jsBundleAssetPath", true)
77+
}
7478
val jsRuntimeFactory = if (isHermesEnabled) HermesInstance() else JSCInstance()
7579
val defaultTmmDelegateBuilder = DefaultTurboModuleManagerDelegate.Builder()
7680
cxxReactPackageProviders.forEach { defaultTmmDelegateBuilder.addCxxReactPackage(it) }
7781
val defaultReactHostDelegate =
7882
DefaultReactHostDelegate(
7983
jsMainModulePath = jsMainModulePath,
80-
jsBundleLoader = jsBundleLoader,
84+
jsBundleLoader = bundleLoader,
8185
reactPackages = packageList,
8286
jsRuntimeFactory = jsRuntimeFactory,
8387
turboModuleManagerDelegateBuilder = defaultTmmDelegateBuilder)

0 commit comments

Comments
 (0)