From 4435d7b8dcca73f8032a13d75d69abfcbcb66a9d Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Mon, 24 Mar 2025 05:06:53 -0700 Subject: [PATCH] Delete unnecessary DevSupportSoLoader (#50198) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50198 We don't really need another wrapper around SoLoader to decide when to load a library. SoLoader already does this for us. See: https://github.com/facebook/SoLoader/blob/62c2028a07f146bbc56c0337dacf226fcd6f95ef/java/com/facebook/soloader/SoLoader.java#L1070-L1139 I'm removing this extra unnecessary class. Changelog: [Internal] [Changed] - Delete unnecessary DevSupportSoLoader Reviewed By: huntie Differential Revision: D71636985 fbshipit-source-id: b6df35b61d4e376503c158e921ca970ad77a6deb --- .../CxxInspectorPackagerConnection.java | 3 ++- .../react/devsupport/DevSupportSoLoader.kt | 24 ------------------- .../react/devsupport/InspectorFlags.kt | 3 ++- 3 files changed, 4 insertions(+), 26 deletions(-) delete mode 100644 packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java index dd265211550..b8e4661b2b8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java @@ -13,6 +13,7 @@ import androidx.annotation.Nullable; import com.facebook.infer.annotation.Nullsafe; import com.facebook.jni.HybridData; import com.facebook.proguard.annotations.DoNotStrip; +import com.facebook.soloader.SoLoader; import java.io.Closeable; import java.util.concurrent.TimeUnit; import okhttp3.OkHttpClient; @@ -25,7 +26,7 @@ import okhttp3.WebSocketListener; /* package */ @Nullsafe(Nullsafe.Mode.LOCAL) class CxxInspectorPackagerConnection implements IInspectorPackagerConnection { static { - DevSupportSoLoader.staticInit(); + SoLoader.loadLibrary("react_devsupportjni"); } @DoNotStrip private final HybridData mHybridData; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt deleted file mode 100644 index a7887ad88a7..00000000000 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -package com.facebook.react.devsupport - -import com.facebook.soloader.SoLoader - -internal object DevSupportSoLoader { - @Volatile private var didInit: Boolean = false - - @JvmStatic - @Synchronized - fun staticInit() { - if (didInit) { - return - } - SoLoader.loadLibrary("react_devsupportjni") - didInit = true - } -} diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt index 0d25b2600c4..8cb59abb19e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt @@ -8,12 +8,13 @@ package com.facebook.react.devsupport import com.facebook.proguard.annotations.DoNotStrip +import com.facebook.soloader.SoLoader /** JNI wrapper for `jsinspector_modern::InspectorFlags`. */ @DoNotStrip internal object InspectorFlags { init { - DevSupportSoLoader.staticInit() + SoLoader.loadLibrary("react_devsupportjni") } @DoNotStrip @JvmStatic external fun getFuseboxEnabled(): Boolean