From 2c12166b54740170049d63064f825fe1a9c65116 Mon Sep 17 00:00:00 2001 From: Razvan Racasanu Date: Tue, 4 Apr 2023 11:25:23 -0700 Subject: [PATCH] Add Flipper support for secondary processes in Messenger VR 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: passy Differential Revision: D44566060 fbshipit-source-id: 605264c230956f4c9643c95c610ec40d736547ac --- .../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) {