Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[android][ios] Upgrade @shopify/react-native-skia to 0.1.153 #19360

Merged
merged 7 commits into from Oct 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -14,6 +14,7 @@ Package-specific changes not released in any SDK will be added here just before
- Updated `@react-native-community/netinfo` from `9.3.0` to `9.3.3`. ([#19421](https://github.com/expo/expo/pull/19421) by [@douglowder](https://github.com/douglowder))
- Updated `@react-native-picker/picker` from `2.4.2` to `2.4.6`. ([#19390](https://github.com/expo/expo/pull/19390) by [@aleqsio](https://github.com/aleqsio))
- Updated `react-native-screens` from `3.15.0` to `3.18.0`. ([#19383](https://github.com/expo/expo/pull/19383) by [@tsapeta](https://github.com/tsapeta))
- Updated `@shopify/react-native-skia` from `0.1.136` to `0.1.153`. ([#19360](https://github.com/expo/expo/pull/19360) by [@kudo](https://github.com/kudo))

### 🛠 Breaking changes

Expand Down
Expand Up @@ -138,7 +138,6 @@ android {
externalNativeBuild {
cmake {
path file('CMakeLists.txt')
version '3.10.2'
}
}

Expand Down
@@ -1,5 +1,11 @@
project(RNSkia)
cmake_minimum_required(VERSION 3.4.1)

if(${BUILD_TYPE} STREQUAL "debug")
set (CMAKE_BUILD_TYPE Debug)
message("-- Building with Debug Symbols")
endif()

set (CMAKE_VERBOSE_MAKEFILE ON)
set (CMAKE_CXX_STANDARD 17)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSK_GL -DSK_BUILD_FOR_ANDROID -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_HAVE_MEMRCHR=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_MOBILE=1 -DON_ANDROID -DONANDROID")
Expand Down Expand Up @@ -29,23 +35,21 @@ add_library(
SHARED
"${PROJECT_SOURCE_DIR}/cpp/jni/JniLoad.cpp"
"${PROJECT_SOURCE_DIR}/cpp/jni/JniSkiaManager.cpp"
"${PROJECT_SOURCE_DIR}/cpp/jni/JniSkiaDrawView.cpp"

"${PROJECT_SOURCE_DIR}/cpp/jni/JniPlatformContext.cpp"
"${PROJECT_SOURCE_DIR}/cpp/rnskia-android/RNSkDrawViewImpl.cpp"
"${PROJECT_SOURCE_DIR}/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp"
"${PROJECT_SOURCE_DIR}/cpp/rnskia-android/SkiaOpenGLRenderer.cpp"

"${PROJECT_SOURCE_DIR}/../cpp/jsi/JsiHostObject.cpp"

"${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkManager.cpp"
"${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkDrawView.cpp"
"${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkJsView.cpp"
"${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkDispatchQueue.cpp"


"${PROJECT_SOURCE_DIR}/../cpp/api/third_party/CSSColorParser.cpp"

)


target_include_directories(
${PACKAGE_NAME}
PRIVATE
Expand Down

This file was deleted.

Expand Up @@ -127,7 +127,9 @@ android {
arguments '-DANDROID_STL=c++_shared',
"-DREACT_NATIVE_VERSION=${REACT_NATIVE_VERSION}",
"-DNODE_MODULES_DIR=${nodeModules}",
"-DPREBUILT_DIR=${prebuiltDir}"
"-DPREBUILT_DIR=${prebuiltDir}",
"-DBUILD_TYPE=${buildType}"

}
}
}
Expand All @@ -137,8 +139,7 @@ android {

externalNativeBuild {
cmake {
path file('CMakeLists.txt')
version '3.10.2'
Kudo marked this conversation as resolved.
Show resolved Hide resolved
path file('CMakeLists.txt')
}
}

Expand Down Expand Up @@ -260,7 +261,7 @@ def nativeBuildDependsOn(dependsOnTask, variant) {

afterEvaluate {
nativeBuildDependsOn(extractAARHeaders, null)
nativeBuildDependsOn(extractJNIFiles, null)
nativeBuildDependsOn(extractJNIFiles, null)
}

tasks.whenTaskAdded { task ->
Expand Down
@@ -1,13 +1,15 @@
#include "JniPlatformContext.h"
#include "JniSkiaDrawView.h"
#include "JniSkiaPictureView.h"
#include "JniSkiaManager.h"
#include <fbjni/fbjni.h>
#include <jni.h>

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
return facebook::jni::initialize(vm, [] {
RNSkia::JniSkiaManager::registerNatives();
RNSkia::JniSkiaDrawView::registerNatives();
RNSkia::JniPlatformContext::registerNatives();
});
return facebook::jni::initialize(vm, [] {
RNSkia::JniSkiaManager::registerNatives();
RNSkia::JniSkiaDrawView::registerNatives();
RNSkia::JniSkiaPictureView::registerNatives();
RNSkia::JniPlatformContext::registerNatives();
});
}

This file was deleted.

Expand Up @@ -16,13 +16,8 @@ using namespace facebook;
void JniSkiaManager::registerNatives() {
registerHybrid({
makeNativeMethod("initHybrid", JniSkiaManager::initHybrid),
makeNativeMethod(
"initializeRuntime", JniSkiaManager::initializeRuntime),
makeNativeMethod("registerSkiaView", JniSkiaManager::registerSkiaView),
makeNativeMethod(
"unregisterSkiaView", JniSkiaManager::unregisterSkiaView),
makeNativeMethod(
"invalidate", JniSkiaManager::invalidate),
makeNativeMethod("initializeRuntime", JniSkiaManager::initializeRuntime),
makeNativeMethod("invalidate", JniSkiaManager::invalidate),
});
}

Expand All @@ -46,12 +41,4 @@ void JniSkiaManager::initializeRuntime() {
_skManager = std::make_shared<RNSkManager>(_jsRuntime, _jsCallInvoker, _context);
}

void JniSkiaManager::registerSkiaView(int viewTag, JniSkiaDrawView *skiaView) {
_skManager->registerSkiaDrawView(viewTag, skiaView->getDrawViewImpl());
}

void JniSkiaManager::unregisterSkiaView(int viewTag) {
_skManager->unregisterSkiaDrawView(viewTag);
}

} // namespace RNSkia
@@ -0,0 +1,68 @@
#pragma once

#include <memory>

#include <fbjni/fbjni.h>
#include <jni.h>
#include <jsi/jsi.h>

#include <JniSkiaManager.h>

namespace RNSkia {
using namespace facebook;
using namespace jni;

class JniSkiaBaseView {
public:
JniSkiaBaseView(jni::alias_ref<JniSkiaManager::javaobject> skiaManager,
std::shared_ptr<RNSkBaseAndroidView> skiaView) :
_manager(skiaManager->cthis()),
_skiaView(skiaView) {}

~JniSkiaBaseView() {}

std::shared_ptr<RNSkManager> getSkiaManager() { return _manager->getSkiaManager(); };

protected:
virtual void updateTouchPoints(jni::JArrayDouble touches) {
_skiaView->updateTouchPoints(touches);
}

virtual void surfaceAvailable(jobject surface, int width, int height) {
_skiaView->surfaceAvailable(surface, width, height);
}

virtual void surfaceSizeChanged(int width, int height) {
_skiaView->surfaceSizeChanged(width, height);
}

virtual void surfaceDestroyed() {
_skiaView->surfaceDestroyed();
}

virtual void setMode(std::string mode) {
_skiaView->setMode(mode);
}

virtual void setDebugMode(bool show) {
_skiaView->setShowDebugInfo(show);
}

virtual void registerView(int nativeId) {
getSkiaManager()->registerSkiaView(nativeId,
_skiaView->getSkiaView());
}

virtual void unregisterView() {
getSkiaManager()->setSkiaView(_skiaView->getSkiaView()->getNativeId(), nullptr);
getSkiaManager()->unregisterSkiaView(
_skiaView->getSkiaView()->getNativeId());
_skiaView->viewDidUnmount();
}

private:
JniSkiaManager *_manager;
std::shared_ptr<RNSkBaseAndroidView> _skiaView;
};

} // namespace RNSkia