react-native-nitro-unzip 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +25 -0
- package/android/src/main/java/com/margelo/nitro/unzip/HybridUnzip.kt +0 -2
- package/android/src/main/java/com/margelo/nitro/unzip/HybridUnzipTask.kt +0 -2
- package/android/src/main/java/com/margelo/nitro/unzip/HybridZipTask.kt +0 -2
- package/android/src/main/java/com/margelo/nitro/unzip/NitroUnzipPackage.java +29 -0
- package/package.json +2 -1
- package/react-native.config.js +8 -0
package/android/build.gradle
CHANGED
|
@@ -30,6 +30,7 @@ android {
|
|
|
30
30
|
externalNativeBuild {
|
|
31
31
|
cmake {
|
|
32
32
|
cppFlags "-O2 -frtti -fexceptions -Wall -fstack-protector-all"
|
|
33
|
+
arguments "-DANDROID_STL=c++_shared"
|
|
33
34
|
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
|
34
35
|
}
|
|
35
36
|
}
|
|
@@ -43,6 +44,29 @@ android {
|
|
|
43
44
|
jvmTarget = '17'
|
|
44
45
|
}
|
|
45
46
|
|
|
47
|
+
packagingOptions {
|
|
48
|
+
excludes = [
|
|
49
|
+
"META-INF",
|
|
50
|
+
"META-INF/**",
|
|
51
|
+
"**/libNitroModules.so",
|
|
52
|
+
"**/libc++_shared.so",
|
|
53
|
+
"**/libfbjni.so",
|
|
54
|
+
"**/libjsi.so",
|
|
55
|
+
"**/libfolly_json.so",
|
|
56
|
+
"**/libfolly_runtime.so",
|
|
57
|
+
"**/libglog.so",
|
|
58
|
+
"**/libhermes.so",
|
|
59
|
+
"**/libreactnative.so",
|
|
60
|
+
"**/libreactnativejni.so",
|
|
61
|
+
"**/libturbomodulejsijni.so",
|
|
62
|
+
"**/libreact_nativemodule_core.so",
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
buildFeatures {
|
|
67
|
+
prefab true
|
|
68
|
+
}
|
|
69
|
+
|
|
46
70
|
sourceSets {
|
|
47
71
|
main {
|
|
48
72
|
java.srcDirs += ['src/main/java']
|
|
@@ -64,6 +88,7 @@ repositories {
|
|
|
64
88
|
dependencies {
|
|
65
89
|
implementation "com.facebook.react:react-android:+"
|
|
66
90
|
implementation "com.facebook.react:react-native:+"
|
|
91
|
+
implementation project(":react-native-nitro-modules")
|
|
67
92
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3"
|
|
68
93
|
// zip4j — needed for password-protected zip/unzip (java.util.zip has no password API)
|
|
69
94
|
implementation "net.lingala.zip4j:zip4j:2.11.5"
|
|
@@ -9,8 +9,6 @@ import com.facebook.proguard.annotations.DoNotStrip
|
|
|
9
9
|
@DoNotStrip
|
|
10
10
|
@Keep
|
|
11
11
|
class HybridUnzip : HybridUnzipSpec() {
|
|
12
|
-
override val memorySize: Long = 0L
|
|
13
|
-
|
|
14
12
|
override fun extract(zipPath: String, destinationPath: String): HybridUnzipTaskSpec {
|
|
15
13
|
return HybridUnzipTask(zipPath, destinationPath)
|
|
16
14
|
}
|
|
@@ -29,8 +29,6 @@ class HybridUnzipTask(
|
|
|
29
29
|
private val password: String? = null
|
|
30
30
|
) : HybridUnzipTaskSpec() {
|
|
31
31
|
|
|
32
|
-
override val memorySize: Long = 0L
|
|
33
|
-
|
|
34
32
|
override val taskId: String = "unzip_${System.nanoTime()}_${(Math.random() * 1e9).toLong()}"
|
|
35
33
|
|
|
36
34
|
private var progressCallback: ((UnzipProgress) -> Unit)? = null
|
|
@@ -26,8 +26,6 @@ class HybridZipTask(
|
|
|
26
26
|
private val password: String? = null
|
|
27
27
|
) : HybridZipTaskSpec() {
|
|
28
28
|
|
|
29
|
-
override val memorySize: Long = 0L
|
|
30
|
-
|
|
31
29
|
override val taskId: String = "zip_${System.nanoTime()}_${(Math.random() * 1e9).toLong()}"
|
|
32
30
|
|
|
33
31
|
private var progressCallback: ((ZipProgress) -> Unit)? = null
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package com.margelo.nitro.unzip;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.Nullable;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.bridge.NativeModule;
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
7
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
8
|
+
import com.facebook.react.TurboReactPackage;
|
|
9
|
+
|
|
10
|
+
import java.util.HashMap;
|
|
11
|
+
|
|
12
|
+
public class NitroUnzipPackage extends TurboReactPackage {
|
|
13
|
+
@Nullable
|
|
14
|
+
@Override
|
|
15
|
+
public NativeModule getModule(String name, ReactApplicationContext reactContext) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@Override
|
|
20
|
+
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
21
|
+
return () -> {
|
|
22
|
+
return new HashMap<>();
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static {
|
|
27
|
+
NitroUnzipOnLoad.initializeNative();
|
|
28
|
+
}
|
|
29
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-unzip",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "High-performance ZIP extraction for React Native, powered by Nitro Modules",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"android",
|
|
23
23
|
"nitrogen",
|
|
24
24
|
"react-native-nitro-unzip.podspec",
|
|
25
|
+
"react-native.config.js",
|
|
25
26
|
"nitro.json",
|
|
26
27
|
"!**/__tests__",
|
|
27
28
|
"!**/__fixtures__",
|