From c3381a3c9f5bce9612f1ab162f675814c0b7d71f Mon Sep 17 00:00:00 2001 From: Razvan Racasanu Date: Fri, 7 Apr 2023 12:58:52 -0700 Subject: [PATCH] Add Flipper support for secondary processes Summary: Allow callers to pass id, deviceName, processName, and packageName when initializing Flipper. Since these are used to create the connection id, callers can use these to configure Flipper to work for secondary processes. Reviewed By: calebgomer Differential Revision: D44719389 fbshipit-source-id: 3df6d47855c113f454f37031df32c4891626aa66 --- .../flipper/android/AndroidFlipperClient.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java b/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java index d0e1f6ff5..3ae551480 100644 --- a/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java +++ b/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java @@ -26,7 +26,8 @@ public final class AndroidFlipperClient { private static final String[] REQUIRED_PERMISSIONS = new String[] {"android.permission.INTERNET", "android.permission.ACCESS_WIFI_STATE"}; - public static synchronized FlipperClient getInstance(Context context) { + public static synchronized FlipperClient getInstance( + Context context, String id, String deviceName, String processName, String packageName) { if (!sIsInitialized) { if (!(BuildConfig.IS_INTERNAL_BUILD || BuildConfig.LOAD_FLIPPER_EXPLICIT)) { Log.e("Flipper", "Attempted to initialize in non-internal build"); @@ -58,16 +59,23 @@ public final class AndroidFlipperClient { FlipperProps.getAltSecurePort(), getServerHost(app), "Android", - getFriendlyDeviceName(), - getId(), - getRunningAppName(app), - getPackageName(app), + deviceName, + id, + processName, + packageName, privateAppDirectory); sIsInitialized = true; } return FlipperClientImpl.getInstance(); } + public static synchronized FlipperClient getInstance(Context context) { + final Context app = + context.getApplicationContext() == null ? context : context.getApplicationContext(); + return getInstance( + context, getId(), getFriendlyDeviceName(), getRunningAppName(app), getPackageName(app)); + } + @Nullable public static synchronized FlipperClient getInstanceIfInitialized() { if (!sIsInitialized) {