From 5249d558a391fa2163f4869b918b7f32d6fa1079 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Fri, 21 Mar 2025 11:17:51 -0700 Subject: [PATCH] Delete unnecessary DevSupportSoLoader Summary: 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 Differential Revision: D71636985 --- .../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 dd2652115500..b8e4661b2b89 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 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 @@ /* 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 a7887ad88a7c..000000000000 --- 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 0d25b2600c4b..8cb59abb19ee 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