From 220ff2321a104584849cf7fbf8c937d63bc0a4fc Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Thu, 1 Jun 2017 13:33:37 -0700 Subject: [PATCH] Avoid calls to ReactBridge.staticInit being stripped Reviewed By: michalgr Differential Revision: D5166720 fbshipit-source-id: 15ce78b2bbafa9506e9023d7d931092ebd963eea --- .../com/facebook/react/bridge/CatalystInstanceImpl.java | 1 - .../com/facebook/react/bridge/CxxModuleWrapperBase.java | 1 - .../com/facebook/react/bridge/JSCJavaScriptExecutor.java | 1 - .../main/java/com/facebook/react/bridge/NativeArray.java | 1 - .../src/main/java/com/facebook/react/bridge/NativeMap.java | 1 - .../com/facebook/react/bridge/ProxyJavaScriptExecutor.java | 1 - .../main/java/com/facebook/react/bridge/ReactBridge.java | 7 ++----- .../com/facebook/react/bridge/WritableNativeArray.java | 1 - .../java/com/facebook/react/bridge/WritableNativeMap.java | 1 - 9 files changed, 2 insertions(+), 13 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java index f2777dca9..b8986a9c5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java @@ -30,7 +30,6 @@ import com.facebook.react.bridge.queue.ReactQueueConfigurationImpl; import com.facebook.react.bridge.queue.ReactQueueConfigurationSpec; import com.facebook.react.common.ReactConstants; import com.facebook.react.common.annotations.VisibleForTesting; -import com.facebook.soloader.SoLoader; import com.facebook.systrace.Systrace; import com.facebook.systrace.TraceListener; diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java index 61a8ffc4e..d10cbb0aa 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java @@ -4,7 +4,6 @@ package com.facebook.react.bridge; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.soloader.SoLoader; /** * A Java Object which represents a cross-platform C++ module diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java index cefa0de59..31b2f3548 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java @@ -11,7 +11,6 @@ package com.facebook.react.bridge; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.soloader.SoLoader; @DoNotStrip public class JSCJavaScriptExecutor extends JavaScriptExecutor { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java index d4c46f723..26cd356cb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java @@ -11,7 +11,6 @@ package com.facebook.react.bridge; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.soloader.SoLoader; /** * Base class for an array whose members are stored in native code (C++). diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java index 9e192dc4e..ea0b6b142 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java @@ -11,7 +11,6 @@ package com.facebook.react.bridge; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.soloader.SoLoader; /** * Base class for a Map whose keys and values are stored in native code (C++). diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java index 59e30eaa6..ae25e0cd9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java @@ -12,7 +12,6 @@ package com.facebook.react.bridge; import javax.annotation.Nullable; import com.facebook.jni.HybridData; -import com.facebook.soloader.SoLoader; import com.facebook.proguard.annotations.DoNotStrip; /** diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java index 3f7aa5a6f..f0b7449e2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java @@ -12,11 +12,8 @@ package com.facebook.react.bridge; import com.facebook.soloader.SoLoader; public class ReactBridge { - static { + public static void staticInit() { + // Ideally we'd put this in static and only run it once, but that causes this method to get stripped SoLoader.loadLibrary("reactnativejni"); } - - public static void staticInit() { - // This method only exists to trigger the static initializer above - } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java index e6c343264..6b30bc326 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java @@ -12,7 +12,6 @@ package com.facebook.react.bridge; import com.facebook.infer.annotation.Assertions; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.soloader.SoLoader; /** * Implementation of a write-only array stored in native memory. Use diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java index 6b6c639d2..04e5bdfdc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java @@ -12,7 +12,6 @@ package com.facebook.react.bridge; import com.facebook.jni.HybridData; import com.facebook.infer.annotation.Assertions; import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.soloader.SoLoader; /** * Implementation of a write-only map stored in native memory. Use