From 6464ef0a924a6d36e4009053186a71e6a4d84908 Mon Sep 17 00:00:00 2001 From: Emily Janzer Date: Tue, 24 Sep 2019 09:34:14 -0700 Subject: [PATCH] Add @DoNotStrip to JavaScriptModule interfaces Summary: Adding `DoNotStrip` to all the interfaces that extend `JavaScriptModule` to ensure they don't get stripped from release builds (because they have no Java implementors). Reviewed By: emma0303 Differential Revision: D17534719 fbshipit-source-id: a793764caf17040bf1252be7ec4c72176d6989d4 --- .../facebook/react/modules/core/DeviceEventManagerModule.java | 2 ++ .../src/main/java/com/facebook/react/modules/core/JSTimers.java | 2 ++ .../facebook/react/modules/core/RCTNativeAppEventEmitter.java | 2 ++ .../com/facebook/react/uimanager/events/RCTEventEmitter.java | 2 ++ 4 files changed, 8 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java index 6a9ae95c62f..5924c80e2fd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java @@ -9,6 +9,7 @@ package com.facebook.react.modules.core; import android.net.Uri; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.ReactApplicationContext; @@ -23,6 +24,7 @@ import com.facebook.react.module.annotations.ReactModule; public class DeviceEventManagerModule extends ReactContextBaseJavaModule { public static final String NAME = "DeviceEventManager"; + @DoNotStrip public interface RCTDeviceEventEmitter extends JavaScriptModule { void emit(@NonNull String eventName, @Nullable Object data); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java index ed7e1cf94cb..343cd970875 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java @@ -6,9 +6,11 @@ */ package com.facebook.react.modules.core; +import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.WritableArray; +@DoNotStrip public interface JSTimers extends JavaScriptModule { void callTimers(WritableArray timerIDs); diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java index 00d0eff9dec..8177f589d4d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java @@ -7,9 +7,11 @@ package com.facebook.react.modules.core; import androidx.annotation.Nullable; +import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.JavaScriptModule; /** Module that handles global application events. */ +@DoNotStrip public interface RCTNativeAppEventEmitter extends JavaScriptModule { void emit(String eventName, @Nullable Object data); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java index f622373558e..5c73283f2c2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java @@ -7,10 +7,12 @@ package com.facebook.react.uimanager.events; import androidx.annotation.Nullable; +import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.WritableArray; import com.facebook.react.bridge.WritableMap; +@DoNotStrip public interface RCTEventEmitter extends JavaScriptModule { void receiveEvent(int targetTag, String eventName, @Nullable WritableMap event);