Evacuate part of optimized bundle logic from react code

Reviewed By: lexs

Differential Revision: D3735936

fbshipit-source-id: b38960a8f25be15ccce70296980d78c0a7fa8de5
This commit is contained in:
Michał Gregorczyk 2016-09-06 19:39:29 -07:00 committed by Facebook Github Bot 8
parent 0c2fdf4b6a
commit d3238569bf
3 changed files with 3 additions and 31 deletions

View File

@ -12,9 +12,6 @@ package com.facebook.react.cxxbridge;
import android.content.Context;
import com.facebook.react.devsupport.DebugServerException;
import com.facebook.react.devsupport.DevServerHelper;
import java.io.File;
/**
* A class that stores JS bundle information and allows {@link CatalystInstance} to load a correct
@ -108,20 +105,6 @@ public abstract class JSBundleLoader {
};
}
public static JSBundleLoader createUnpackingBundleLoader(
final Context context,
final String sourceURL,
final String bundleName) {
return UnpackingJSBundleLoader.newBuilder()
.setContext(context)
.setSourceURL(sourceURL)
.setDestinationPath(new File(context.getFilesDir(), "optimized-bundle"))
.checkAndUnpackFile(bundleName + ".meta", "bundle.meta")
.unpackFile(bundleName, "bundle.js")
.setLoadFlags(UnpackingJSBundleLoader.UNPACKED_JS_SOURCE)
.build();
}
public abstract void loadScript(CatalystInstanceImpl instance);
public abstract String getSourceUrl();
}

View File

@ -38,18 +38,6 @@ import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
*/
public class UnpackingJSBundleLoader extends JSBundleLoader {
/**
* Flag passed to loadScriptFromOptimizedBundle to let the bridge know that
* the unpacker unpacked js source file.
*/
public static final int UNPACKED_JS_SOURCE = (1 << 0);
/**
* Flag passed to loadScriptFromOptimizedBundle to let the bridge know that
* the unpacker unpacked bytecode cache files.
*/
public static final int UNPACKED_BC_CACHE = (1 << 1);
/**
* Name of the lock files. Multiple processes can be spawned off the same app
* and we need to guarantee that at most one unpacks files at any time. To

View File

@ -43,6 +43,7 @@ public class UnpackingJSBundleLoaderTest {
private static final String URL = "http://this.is.an.url";
private static final int MOCK_UNPACKERS_NUM = 2;
private static final int UNPACKER_TEST_FLAGS = 129;
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@ -111,13 +112,13 @@ public class UnpackingJSBundleLoaderTest {
@Test
public void testSetLoadFlags() throws IOException {
mBuilder.setLoadFlags(UnpackingJSBundleLoader.UNPACKED_JS_SOURCE)
mBuilder.setLoadFlags(UNPACKER_TEST_FLAGS)
.build()
.loadScript(mCatalystInstanceImpl);
verify(mCatalystInstanceImpl).loadScriptFromOptimizedBundle(
eq(mDestinationPath.getPath()),
eq(URL),
eq(UnpackingJSBundleLoader.UNPACKED_JS_SOURCE));
eq(UNPACKER_TEST_FLAGS));
}
@Test