From 972330aa5c99f9470d32701eea3a4969f2203bae Mon Sep 17 00:00:00 2001 From: Truitt Janney Date: Fri, 29 Aug 2025 16:35:08 -0500 Subject: [PATCH] removed old arch files, updated readme --- README.md | 11 +++++- android/build.gradle | 50 ++++++------------------- android/src/main/AndroidManifest.xml | 3 +- android/src/main/AndroidManifestNew.xml | 2 - ios/RNSketchCanvasViewManager.mm | 23 ------------ 5 files changed, 22 insertions(+), 67 deletions(-) delete mode 100644 android/src/main/AndroidManifestNew.xml delete mode 100644 ios/RNSketchCanvasViewManager.mm diff --git a/README.md b/README.md index dfc3f226..3844dc1a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A React Native component for drawing by touching on both iOS and Android, with T ## Features -- Supports New Architecture +- Supports New Architecture only - Support iOS and Android - Full TypeScript support - Stroke thickness and color are changeable while drawing @@ -28,6 +28,15 @@ A React Native component for drawing by touching on both iOS and Android, with T - Initial paths loading with native batch processing for optimal performance - Real-time path loading feedback with onInitialPathsLoaded callback +## Compatibility + +| Sketch Canvas Version | React Native Version | New Architecture Support | Old Architecture Support | +|-----------------------|----------------------|--------------------------|--------------------------| +| 2.4.0 and above | 0.76.7 and above | Yes | No | +| 2.3.x and below | 0.76.6 and below | Yes | Yes | + +> **Note**: Starting from version 2.4.0, this library only supports React Native's New Architecture. For projects still using the old architecture, please use version 2.3.x or below. + ## Installation --- diff --git a/android/build.gradle b/android/build.gradle index 60845070..9af32776 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -19,16 +19,9 @@ def reactNativeArchitectures() { return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] } -def isNewArchitectureEnabled() { - return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true" -} - apply plugin: "com.android.library" apply plugin: "kotlin-android" - -if (isNewArchitectureEnabled()) { - apply plugin: "com.facebook.react" -} +apply plugin: "com.facebook.react" def getExtOrDefault(name) { return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["RNTSketchCanvas_" + name] @@ -38,32 +31,15 @@ def getExtOrIntegerDefault(name) { return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RNTSketchCanvas_" + name]).toInteger() } -def supportsNamespace() { - def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.') - def major = parsed[0].toInteger() - def minor = parsed[1].toInteger() - - // Namespace support was added in 7.3.0 - return (major == 7 && minor >= 3) || major >= 8 -} - android { - if (supportsNamespace()) { - namespace "com.sourcetoad.reactnativesketchcanvas" - - sourceSets { - main { - manifest.srcFile "src/main/AndroidManifestNew.xml" - } - } - } + namespace "com.sourcetoad.reactnativesketchcanvas" compileSdkVersion getExtOrIntegerDefault("compileSdkVersion") defaultConfig { minSdkVersion getExtOrIntegerDefault("minSdkVersion") targetSdkVersion getExtOrIntegerDefault("targetSdkVersion") - buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() + buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", "true" } @@ -88,12 +64,10 @@ android { sourceSets { main { - if (isNewArchitectureEnabled()) { - java.srcDirs += [ - "generated/java", - "generated/jni" - ] - } + java.srcDirs += [ + "generated/java", + "generated/jni" + ] } } } @@ -114,10 +88,8 @@ dependencies { implementation 'androidx.exifinterface:exifinterface:1.3.6' } -if (isNewArchitectureEnabled()) { - react { - jsRootDir = file("../src/") - libraryName = "RNTSketchCanvasView" - codegenJavaPackageName = "com.sourcetoad.reactnativesketchcanvas" - } +react { + jsRootDir = file("../src/") + libraryName = "RNTSketchCanvasView" + codegenJavaPackageName = "com.sourcetoad.reactnativesketchcanvas" } diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 58b0cab9..a2f47b60 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,3 +1,2 @@ - + diff --git a/android/src/main/AndroidManifestNew.xml b/android/src/main/AndroidManifestNew.xml deleted file mode 100644 index a2f47b60..00000000 --- a/android/src/main/AndroidManifestNew.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/ios/RNSketchCanvasViewManager.mm b/ios/RNSketchCanvasViewManager.mm deleted file mode 100644 index 5b8739a1..00000000 --- a/ios/RNSketchCanvasViewManager.mm +++ /dev/null @@ -1,23 +0,0 @@ -#import -#import -#import "RCTBridge.h" - -@interface RNSketchCanvasViewManager : RCTViewManager -@end - -@implementation RNSketchCanvasViewManager - -RCT_EXPORT_MODULE(RNTSketchCanvas) - -- (UIView *)view -{ - return [[UIView alloc] init]; -} - -RCT_EXPORT_VIEW_PROPERTY(localSourceImage, NSDictionary) -RCT_EXPORT_VIEW_PROPERTY(text, NSArray) -RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock) -RCT_EXPORT_VIEW_PROPERTY(onGenerateBase64, RCTDirectEventBlock) -RCT_EXPORT_VIEW_PROPERTY(onCanvasReady, RCTDirectEventBlock) - -@end