mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-09 22:43:10 +08:00
Add API to set load flags used by UnpackingJSBundleLoader
Reviewed By: tadeuzagallo Differential Revision: D3557667 fbshipit-source-id: 5665667185cda10415210efce83685c3e3abee92
This commit is contained in:
committed by
Facebook Github Bot 6
parent
38979f9c68
commit
f08f23f8cb
@@ -104,6 +104,7 @@ public abstract class JSBundleLoader {
|
||||
.setDestinationPath(new File(context.getFilesDir(), "optimized-bundle"))
|
||||
.checkAndUnpackFile(bundleName + ".meta", "bundle.meta")
|
||||
.unpackFile(bundleName, "bundle.js")
|
||||
.setLoadFlags(UnpackingJSBundleLoader.UNPACKED_JS_SOURCE)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ public class UnpackingJSBundleLoader extends JSBundleLoader {
|
||||
* Flag passed to loadScriptFromOptimizedBundle to let the bridge know that
|
||||
* the unpacked unpacked js source file.
|
||||
*/
|
||||
static final int UNPACKED_JS_SOURCE = (1 << 0);
|
||||
public static final int UNPACKED_JS_SOURCE = (1 << 0);
|
||||
|
||||
/**
|
||||
* Name of the lock files. Multiple processes can be spawned off the same app
|
||||
@@ -71,6 +71,7 @@ public class UnpackingJSBundleLoader extends JSBundleLoader {
|
||||
|
||||
private final String mSourceURL;
|
||||
private final Context mContext;
|
||||
private final int mLoadFlags;
|
||||
|
||||
/**
|
||||
* Description of what needs to be unpacked.
|
||||
@@ -82,6 +83,7 @@ public class UnpackingJSBundleLoader extends JSBundleLoader {
|
||||
mDirectoryPath = Assertions.assertNotNull(builder.destinationPath);
|
||||
mSourceURL = Assertions.assertNotNull(builder.sourceURL);
|
||||
mUnpackers = builder.unpackers.toArray(new Unpacker[builder.unpackers.size()]);
|
||||
mLoadFlags = builder.loadFlags;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -150,7 +152,7 @@ public class UnpackingJSBundleLoader extends JSBundleLoader {
|
||||
instance.loadScriptFromOptimizedBundle(
|
||||
mDirectoryPath.getPath(),
|
||||
mSourceURL,
|
||||
UNPACKED_JS_SOURCE);
|
||||
mLoadFlags);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -204,12 +206,14 @@ public class UnpackingJSBundleLoader extends JSBundleLoader {
|
||||
private @Nullable File destinationPath;
|
||||
private @Nullable String sourceURL;
|
||||
private final ArrayList<Unpacker> unpackers;
|
||||
private int loadFlags;
|
||||
|
||||
public Builder() {
|
||||
this.unpackers = new ArrayList<Unpacker>();
|
||||
context = null;
|
||||
destinationPath = null;
|
||||
sourceURL = null;
|
||||
loadFlags = 0;
|
||||
}
|
||||
|
||||
public Builder setContext(Context context) {
|
||||
@@ -227,6 +231,11 @@ public class UnpackingJSBundleLoader extends JSBundleLoader {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setLoadFlags(int loadFlags) {
|
||||
this.loadFlags = loadFlags;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a file for unpacking. Content of extracted file is not checked on each
|
||||
* start against content of the file bundled in apk.
|
||||
|
||||
Reference in New Issue
Block a user