From 90897a9f62d0e2327b3945087c3b660a7e7e2fc7 Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Tue, 25 Jun 2019 19:30:54 -0700 Subject: [PATCH] Prevent getLegacyCxxModule from being stripped Summary: `ReactPackageTurboModuleManagerDelegate.getLegacyCxxModule` isn't called from Java. Therefore, ProGuard will strip this method to reduce code size. To prevent this, we need to add the `DoNotStrip` annotation to this method. This annotation isn't necessary for the `getModule` method, since `getModule` is used in `TurboModuleManager.getJavaModule`. Reviewed By: fkgozali Differential Revision: D15996432 fbshipit-source-id: d34a7d28f7678e2dfc917f52d5cacc286bc33a0a --- .../src/main/java/com/facebook/react/turbomodule/core/BUCK | 1 + .../core/ReactPackageTurboModuleManagerDelegate.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK index 90437ec640b..43e4ba813d5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK @@ -13,6 +13,7 @@ rn_android_library( "PUBLIC", ], deps = [ + react_native_dep("java/com/facebook/proguard/annotations:annotations"), react_native_dep("java/com/facebook/systrace:systrace"), react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"), react_native_dep("third-party/java/infer-annotations:infer-annotations"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java index 4f5ba651247..19b7a8ccdfa 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/ReactPackageTurboModuleManagerDelegate.java @@ -3,6 +3,7 @@ package com.facebook.react.turbomodule.core; import com.facebook.infer.annotation.Assertions; +import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.ReactPackage; import com.facebook.react.TurboReactPackage; import com.facebook.react.bridge.CxxModuleWrapper; @@ -32,6 +33,7 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule @Nullable @Override + @DoNotStrip public TurboModule getModule(String moduleName) { TurboModule module = resolveModule(moduleName); if (module == null) {