From c1c1f0d6b91bfae7d7702cce708a29f35f197c9e Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Tue, 30 Jan 2024 09:26:56 -0800 Subject: [PATCH] Use xplat-init for internal builds (#42738) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/42738 Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D53087308 fbshipit-source-id: a1d9365fe74ada58d94719a8598134a1a6cd6067 --- .../src/main/jni/react/jni/OnLoad.cpp | 26 ++++++++++++------- .../src/main/jni/react/jni/OnLoad.h | 16 ------------ .../src/main/jni/react/jni/ProxyExecutor.cpp | 3 --- .../src/main/jni/react/jni/ProxyExecutor.h | 1 - 4 files changed, 16 insertions(+), 30 deletions(-) delete mode 100644 packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.h diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp index 1a7e18b654f..c8832b1f504 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp @@ -10,7 +10,6 @@ #include #include -#include #include #include "CatalystInstanceImpl.h" @@ -27,27 +26,29 @@ #define WITH_GLOGINIT 1 #endif -using namespace facebook::jni; +#ifdef WITH_XPLATINIT +#include +#endif namespace facebook::react { namespace { -struct JavaJSExecutor : public JavaClass { +struct JavaJSExecutor : public jni::JavaClass { static constexpr auto kJavaDescriptor = "Lcom/facebook/react/bridge/JavaJSExecutor;"; }; -class ProxyJavaScriptExecutorHolder : public HybridClass< - ProxyJavaScriptExecutorHolder, - JavaScriptExecutorHolder> { +class ProxyJavaScriptExecutorHolder + : public jni:: + HybridClass { public: static constexpr auto kJavaDescriptor = "Lcom/facebook/react/bridge/ProxyJavaScriptExecutor;"; - static local_ref initHybrid( - alias_ref, - alias_ref executorInstance) { + static jni::local_ref initHybrid( + jni::alias_ref, + jni::alias_ref executorInstance) { return makeCxxInstance(std::make_shared( make_global(executorInstance))); } @@ -67,11 +68,16 @@ class ProxyJavaScriptExecutorHolder : public HybridClass< } // namespace extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) { - return initialize(vm, [] { +#ifdef WITH_XPLATINIT + return facebook::xplat::initialize(vm, [] { +#else + return jni::initialize(vm, [] { +#endif #if WITH_GLOGINIT gloginit::initialize(); FLAGS_minloglevel = 0; #endif + ProxyJavaScriptExecutorHolder::registerNatives(); CatalystInstanceImpl::registerNatives(); CxxModuleWrapperBase::registerNatives(); diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.h b/packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.h deleted file mode 100644 index 54c83cb1faa..00000000000 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/OnLoad.h +++ /dev/null @@ -1,16 +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. - */ - -#pragma once - -#include - -namespace facebook::react { - -jmethodID getLogMarkerMethod(); - -} // namespace facebook::react diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp index f7b2d2b9d40..68a121f909e 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp @@ -11,10 +11,7 @@ #include #include #include -// #include #include -// #include -// #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h b/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h index 2d080c546bf..7bf7342a422 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h @@ -11,7 +11,6 @@ #include #include #include -#include "OnLoad.h" namespace facebook::react {