From 912bfed0f8c81a7330df353e2c95e4f23424231b Mon Sep 17 00:00:00 2001 From: Janic Duplessis Date: Mon, 10 Feb 2020 05:52:11 -0800 Subject: [PATCH] Allow Flipper module instances to be created by applications (#786) Summary: This allows using the flipper RN module with TurboModules instead of using FlipperPackage. ## Changelog [react-native-flipper] Allow Flipper module instances to be created by applications Pull Request resolved: https://github.com/facebook/flipper/pull/786 Test Plan: An instance of the Flipper module can now be created like this when using TurboModules: ```java Override public NativeModule getModule(String name, ReactApplicationContext reactContext) { switch (name) { ... case FlipperModule.NAME: return new FlipperModule(FlipperReactNativeJavaScriptPluginManager.getInstance(), reactContext); ... } } ``` Tested that it builds Reviewed By: mweststrate Differential Revision: D19812912 Pulled By: passy fbshipit-source-id: 401b3e4552ea0cdb7444a2cf5d170c408edab4db --- .../java/com/facebook/flipper/reactnative/FlipperModule.java | 2 +- .../FlipperReactNativeJavaScriptPluginManager.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperModule.java b/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperModule.java index 223519292..8564e4477 100644 --- a/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperModule.java +++ b/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperModule.java @@ -30,7 +30,7 @@ public class FlipperModule extends ReactContextBaseJavaModule { private final FlipperReactNativeJavaScriptPluginManager mManager; - FlipperModule( + public FlipperModule( FlipperReactNativeJavaScriptPluginManager manager, ReactApplicationContext reactContext) { super(reactContext); mManager = manager; diff --git a/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperReactNativeJavaScriptPluginManager.java b/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperReactNativeJavaScriptPluginManager.java index 67f705a81..82d785076 100644 --- a/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperReactNativeJavaScriptPluginManager.java +++ b/react-native/react-native-flipper/android/src/main/java/com/facebook/flipper/reactnative/FlipperReactNativeJavaScriptPluginManager.java @@ -30,10 +30,10 @@ import org.json.JSONTokener; *

Note that this manager is not bound to a specific FlipperModule instance, as that might be * swapped in and out over time. */ -final class FlipperReactNativeJavaScriptPluginManager { +public final class FlipperReactNativeJavaScriptPluginManager { private static FlipperReactNativeJavaScriptPluginManager sInstance; - static synchronized FlipperReactNativeJavaScriptPluginManager getInstance() { + public static synchronized FlipperReactNativeJavaScriptPluginManager getInstance() { if (sInstance == null) { sInstance = new FlipperReactNativeJavaScriptPluginManager(); }