Skip to content

Commit bf010a4

Browse files
cjhopmanFacebook Github Bot 2
authored andcommitted
Invert native dependency of new bridge -> old bridge
Reviewed By: mhorowitz Differential Revision: D3374937 fbshipit-source-id: 58b082bba727e33a3b08361be3630d669fc8dc5b
1 parent 26a9222 commit bf010a4

36 files changed

+71
-71
lines changed

ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@
1414

1515
@DoNotStrip
1616
public class JSCJavaScriptExecutor extends JavaScriptExecutor {
17+
static {
18+
ReactBridge.staticInit();
19+
}
20+
1721
public static class Factory implements JavaScriptExecutor.Factory {
1822
@Override
1923
public JavaScriptExecutor create(WritableNativeMap jscConfig) throws Exception {
2024
return new JSCJavaScriptExecutor(jscConfig);
2125
}
2226
}
2327

24-
static {
25-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
26-
}
27-
2828
public JSCJavaScriptExecutor(WritableNativeMap jscConfig) {
2929
initialize(jscConfig);
3030
}

ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
@DoNotStrip
2020
public abstract class NativeArray {
2121
static {
22-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
22+
ReactBridge.staticInit();
2323
}
2424

2525
protected NativeArray(HybridData hybridData) {

ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
@DoNotStrip
2020
public abstract class NativeMap {
2121
static {
22-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
22+
ReactBridge.staticInit();
2323
}
2424

2525
public NativeMap(HybridData hybridData) {

ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
*/
2525
@DoNotStrip
2626
public class ProxyJavaScriptExecutor extends JavaScriptExecutor {
27+
static {
28+
ReactBridge.staticInit();
29+
}
30+
2731
public static class Factory implements JavaScriptExecutor.Factory {
2832
private final JavaJSExecutor.Factory mJavaJSExecutorFactory;
2933

@@ -37,10 +41,6 @@ public JavaScriptExecutor create(WritableNativeMap jscConfig) throws Exception {
3741
}
3842
}
3943

40-
static {
41-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
42-
}
43-
4444
private @Nullable JavaJSExecutor mJavaJSExecutor;
4545

4646
/**

ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,22 @@
2424
@DoNotStrip
2525
public class ReactBridge extends Countable {
2626

27-
/* package */ static final String REACT_NATIVE_LIB = "reactnativejni";
27+
private static final String REACT_NATIVE_LIB = "reactnativejni";
28+
private static final String XREACT_NATIVE_LIB = "reactnativejnifb";
2829

2930
static {
3031
SoLoader.loadLibrary(REACT_NATIVE_LIB);
32+
SoLoader.loadLibrary(XREACT_NATIVE_LIB);
3133
}
3234

3335
private final ReactCallback mCallback;
3436
private final JavaScriptExecutor mJSExecutor;
3537
private final MessageQueueThread mNativeModulesQueueThread;
3638

39+
public static void staticInit() {
40+
// This is just called to ensure that ReactBridge's static initialization has taken place.
41+
}
42+
3743
/**
3844
* @param jsExecutor the JS executor to use to run JS
3945
* @param callback the callback class used to invoke native modules

ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@
2121
*/
2222
@DoNotStrip
2323
public class ReadableNativeArray extends NativeArray implements ReadableArray {
24-
2524
static {
26-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
25+
ReactBridge.staticInit();
2726
}
2827

2928
protected ReadableNativeArray(HybridData hybridData) {

ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@
2222
*/
2323
@DoNotStrip
2424
public class ReadableNativeMap extends NativeMap implements ReadableMap {
25-
2625
static {
27-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
26+
ReactBridge.staticInit();
2827
}
2928

3029
protected ReadableNativeMap(HybridData hybridData) {

ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@
2121
*/
2222
@DoNotStrip
2323
public class WritableNativeArray extends ReadableNativeArray implements WritableArray {
24-
2524
static {
26-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
25+
ReactBridge.staticInit();
2726
}
2827

2928
public WritableNativeArray() {

ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
@DoNotStrip
2323
public class WritableNativeMap extends ReadableNativeMap implements WritableMap {
2424
static {
25-
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
25+
ReactBridge.staticInit();
2626
}
2727

2828
@Override

ReactAndroid/src/main/jni/react/jni/Android.mk

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,8 @@ LOCAL_SRC_FILES := \
1111
JSLoader.cpp \
1212
JSLogging.cpp \
1313
JniJSModulesUnbundle.cpp \
14-
NativeArray.cpp \
15-
NativeCommon.cpp \
16-
NativeMap.cpp \
1714
OnLoad.cpp \
1815
ProxyExecutor.cpp \
19-
ReadableNativeArray.cpp \
20-
ReadableNativeMap.cpp \
21-
WritableNativeArray.cpp \
22-
WritableNativeMap.cpp \
2316

2417
LOCAL_C_INCLUDES := $(LOCAL_PATH)
2518
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../.. $(LOCAL_PATH)/..
@@ -30,7 +23,7 @@ LOCAL_CFLAGS += $(CXX11_FLAGS)
3023
LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS)
3124

3225
LOCAL_LDLIBS += -landroid
33-
LOCAL_SHARED_LIBRARIES := libfolly_json libfb libjsc libglog_init
26+
LOCAL_SHARED_LIBRARIES := libfolly_json libfb libjsc libglog_init libreactnativejnifb
3427
LOCAL_STATIC_LIBRARIES := libreactnative
3528

3629
include $(BUILD_SHARED_LIBRARY)
@@ -41,3 +34,4 @@ $(call import-module,folly)
4134
$(call import-module,fbgloginit)
4235
$(call import-module,fb)
4336
$(call import-module,jsc)
37+
$(call import-module,xreact/jni)

0 commit comments

Comments
 (0)