diff --git a/package/android/CMakeLists.txt b/package/android/CMakeLists.txt index 0306aaf8a9..03e6cfd03f 100644 --- a/package/android/CMakeLists.txt +++ b/package/android/CMakeLists.txt @@ -220,6 +220,8 @@ else() endif() message("-- TURBO : " ${TURBOMODULES_LIB}) +add_definitions(-DREACT_NATIVE_VERSION=${REACT_NATIVE_VERSION}) + # Link target_link_libraries( ${PACKAGE_NAME} diff --git a/package/android/build.gradle b/package/android/build.gradle index cec3e2f206..1e247574e1 100644 --- a/package/android/build.gradle +++ b/package/android/build.gradle @@ -172,13 +172,15 @@ android { ] } - if (REACT_NATIVE_VERSION >= 74) { + if (REACT_NATIVE_VERSION == 74) { srcDirs += [ "src/reactnative74/java" ] } else { + // the name latest here might be confusing as it applies for versions + // below 74 as well srcDirs += [ - "src/reactnative69/java" + "src/latest/java" ] } } diff --git a/package/android/cpp/jni/JniSkiaManager.cpp b/package/android/cpp/jni/JniSkiaManager.cpp index 9750f7f904..f5218d695a 100644 --- a/package/android/cpp/jni/JniSkiaManager.cpp +++ b/package/android/cpp/jni/JniSkiaManager.cpp @@ -20,12 +20,17 @@ class BridgelessJSCallInvoker : public facebook::react::CallInvoker { facebook::react::RuntimeExecutor runtimeExecutor) : runtimeExecutor_(std::move(runtimeExecutor)) {} - void invokeAsync(std::function &&func) noexcept override { - runtimeExecutor_( - [func = std::move(func)](facebook::jsi::Runtime &runtime) { func(); }); + void invokeAsync(facebook::react::CallFunc &&func) noexcept override { + runtimeExecutor_([func = std::move(func)](facebook::jsi::Runtime &runtime) { +#if REACT_NATIVE_VERSION >= 75 + func(runtime); +#else + func(); +#endif + }); } - void invokeSync(std::function &&func) override { + void invokeSync(facebook::react::CallFunc &&func) override { throw std::runtime_error( "Synchronous native -> JS calls are currently not supported."); } diff --git a/package/android/src/reactnative69/java/com/shopify/reactnative/skia/ReactNativeCompatible.java b/package/android/src/latest/java/com/shopify/reactnative/skia/ReactNativeCompatible.java similarity index 100% rename from package/android/src/reactnative69/java/com/shopify/reactnative/skia/ReactNativeCompatible.java rename to package/android/src/latest/java/com/shopify/reactnative/skia/ReactNativeCompatible.java