react-native-video-trim 3.0.10 → 4.0.0
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/LICENSE +1 -1
- package/README.md +46 -57
- package/VideoTrim.podspec +24 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +76 -51
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifest.xml +4 -2
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/videotrim/VideoTrim.kt +629 -0
- package/android/src/main/java/com/margelo/nitro/videotrim/VideoTrimPackage.kt +22 -0
- package/android/src/main/java/com/{videotrim → margelo/nitro/videotrim}/enums/ErrorCode.java +1 -1
- package/android/src/main/java/com/{videotrim → margelo/nitro/videotrim}/interfaces/IVideoTrimmerView.java +1 -1
- package/android/src/main/java/com/{videotrim → margelo/nitro/videotrim}/interfaces/VideoTrimListener.java +6 -5
- package/android/src/main/java/com/{videotrim → margelo/nitro/videotrim}/utils/MediaMetadataUtil.java +1 -1
- package/android/src/main/java/com/{videotrim → margelo/nitro/videotrim}/utils/StorageUtil.java +3 -1
- package/android/src/main/java/com/{videotrim → margelo/nitro/videotrim}/utils/VideoTrimmerUtil.java +22 -20
- package/android/src/main/java/com/{videotrim → margelo/nitro/videotrim}/widgets/VideoTrimmerView.java +38 -66
- package/ios/AssetLoader.swift +2 -2
- package/ios/ErrorCode.swift +2 -2
- package/ios/ProgressAlertController.swift +2 -2
- package/ios/VideoTrim.swift +48 -838
- package/ios/VideoTrimImpl.swift +860 -0
- package/ios/VideoTrimmer.swift +2 -3
- package/ios/VideoTrimmerThumb.swift +33 -26
- package/ios/VideoTrimmerViewController.swift +47 -28
- package/lib/module/VideoTrim.nitro.js +4 -0
- package/lib/module/VideoTrim.nitro.js.map +1 -0
- package/lib/module/index.js +71 -22
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/{index.d.ts → src/VideoTrim.nitro.d.ts} +63 -89
- package/lib/typescript/src/VideoTrim.nitro.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +41 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JEditorConfig.hpp +229 -0
- package/nitrogen/generated/android/c++/JFileValidationResult.hpp +61 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +74 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__unordered_map_std__string__std__string_.hpp +89 -0
- package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.cpp +131 -0
- package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.hpp +67 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/EditorConfig.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/FileValidationResult.kt +28 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/Func_void_std__string_std__unordered_map_std__string__std__string_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/HybridVideoTrimSpec.kt +82 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/videotrimOnLoad.kt +35 -0
- package/nitrogen/generated/android/videotrim+autolinking.cmake +78 -0
- package/nitrogen/generated/android/videotrim+autolinking.gradle +27 -0
- package/nitrogen/generated/android/videotrimOnLoad.cpp +50 -0
- package/nitrogen/generated/android/videotrimOnLoad.hpp +25 -0
- package/nitrogen/generated/ios/VideoTrim+autolinking.rb +60 -0
- package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.cpp +88 -0
- package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.hpp +331 -0
- package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Umbrella.hpp +53 -0
- package/nitrogen/generated/ios/VideoTrimAutolinking.mm +33 -0
- package/nitrogen/generated/ios/VideoTrimAutolinking.swift +25 -0
- package/nitrogen/generated/ios/c++/HybridVideoTrimSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridVideoTrimSpecSwift.hpp +116 -0
- package/nitrogen/generated/ios/swift/EditorConfig.swift +519 -0
- package/nitrogen/generated/ios/swift/FileValidationResult.swift +57 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_FileValidationResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_double.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string_std__unordered_map_std__string__std__string_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridVideoTrimSpec.swift +53 -0
- package/nitrogen/generated/ios/swift/HybridVideoTrimSpec_cxx.swift +222 -0
- package/nitrogen/generated/shared/c++/EditorConfig.hpp +245 -0
- package/nitrogen/generated/shared/c++/FileValidationResult.hpp +77 -0
- package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.hpp +76 -0
- package/package.json +75 -71
- package/src/VideoTrim.nitro.ts +244 -0
- package/src/index.tsx +87 -258
- package/android/src/main/AndroidManifestDeprecated.xml +0 -3
- package/android/src/main/java/com/videotrim/VideoTrimModule.java +0 -603
- package/android/src/main/java/com/videotrim/VideoTrimPackage.java +0 -28
- package/ios/VideoTrim-Bridging-Header.h +0 -2
- package/ios/VideoTrim.mm +0 -17
- package/ios/VideoTrim.xcodeproj/project.pbxproj +0 -283
- package/lib/commonjs/index.js +0 -87
- package/lib/commonjs/index.js.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/react-native-video-trim.podspec +0 -43
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2025 Mai Trung Duc
|
|
4
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
5
|
of this software and associated documentation files (the "Software"), to deal
|
|
6
6
|
in the Software without restriction, including without limitation the rights
|
package/README.md
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
- [Installation](#installation)
|
|
2
|
+
* [For iOS (React Native CLI project)](#for-ios-react-native-cli-project)
|
|
3
|
+
* [For Expo project](#for-expo-project)
|
|
4
|
+
* [Usage](#usage)
|
|
5
|
+
- [Methods](#methods)
|
|
6
|
+
* [showEditor(videoPath: string, config?: EditorConfig, onEvent?: (eventName: string, payload: Record<string, string>) => void)](#showeditorvideopath-string-config-editorconfig-onevent-eventname-string-payload-record--void)
|
|
7
|
+
* [isValidFile(videoPath: string)](#isvalidfilevideopath-string)
|
|
8
|
+
* [closeEditor()](#closeeditor)
|
|
9
|
+
* [listFiles()](#listfiles)
|
|
10
|
+
* [cleanFiles()](#cleanfiles)
|
|
11
|
+
* [deleteFile()](#deletefile)
|
|
12
|
+
- [Callbacks (New arch)](#callbacks-new-arch)
|
|
13
|
+
* [showEditor](#showeditor)
|
|
14
|
+
* [closeEditor](#closeeditor-1)
|
|
15
|
+
- [Events (Old arch)](#events-old-arch)
|
|
16
|
+
- [Audio support](#audio-support)
|
|
17
|
+
- [Cancel trimming](#cancel-trimming)
|
|
18
|
+
- [Fail to load media](#fail-to-load-media)
|
|
19
|
+
- [Android: update SDK version](#android-update-sdk-version)
|
|
20
|
+
- [Thanks](#thanks)
|
|
21
|
+
|
|
22
|
+
<!-- TOC end -->
|
|
23
|
+
|
|
1
24
|
# React Native Video Trim
|
|
2
25
|
<div align="center">
|
|
3
26
|
<h2>Video trimmer for your React Native app</h2>
|
|
@@ -19,7 +42,7 @@
|
|
|
19
42
|
<img src="images/share_sheet.png" width="300" />
|
|
20
43
|
</div>
|
|
21
44
|
|
|
22
|
-
|
|
45
|
+
# Installation
|
|
23
46
|
|
|
24
47
|
```sh
|
|
25
48
|
# new arch
|
|
@@ -36,6 +59,9 @@ yarn add react-native-video-trim react-native-nitro-modules
|
|
|
36
59
|
# old arch
|
|
37
60
|
yarn add react-native-video-trim@^3.0.0
|
|
38
61
|
```
|
|
62
|
+
|
|
63
|
+
> `react-native-nitro-modules` is required in New Arch as this library relies on [Nitro Modules](https://nitro.margelo.com/).
|
|
64
|
+
|
|
39
65
|
## For iOS (React Native CLI project)
|
|
40
66
|
Run the following command to setup for iOS:
|
|
41
67
|
```
|
|
@@ -79,62 +105,8 @@ import {
|
|
|
79
105
|
} from 'react-native';
|
|
80
106
|
import { isValidFile, showEditor } from 'react-native-video-trim';
|
|
81
107
|
import { launchImageLibrary } from 'react-native-image-picker';
|
|
82
|
-
import { useEffect } from 'react';
|
|
83
108
|
|
|
84
109
|
export default function App() {
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
const eventEmitter = new NativeEventEmitter(NativeModules.VideoTrim);
|
|
87
|
-
const subscription = eventEmitter.addListener('VideoTrim', (event) => {
|
|
88
|
-
switch (event.name) {
|
|
89
|
-
case 'onLoad': {
|
|
90
|
-
// on media loaded successfully
|
|
91
|
-
console.log('onLoadListener', event);
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
case 'onShow': {
|
|
95
|
-
console.log('onShowListener', event);
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
case 'onHide': {
|
|
99
|
-
console.log('onHide', event);
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
case 'onStartTrimming': {
|
|
103
|
-
console.log('onStartTrimming', event);
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
case 'onFinishTrimming': {
|
|
107
|
-
console.log('onFinishTrimming', event);
|
|
108
|
-
break;
|
|
109
|
-
}
|
|
110
|
-
case 'onCancelTrimming': {
|
|
111
|
-
console.log('onCancelTrimming', event);
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
case 'onCancel': {
|
|
115
|
-
console.log('onCancel', event);
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
case 'onError': {
|
|
119
|
-
console.log('onError', event);
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
|
-
case 'onLog': {
|
|
123
|
-
console.log('onLog', event);
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
case 'onStatistics': {
|
|
127
|
-
console.log('onStatistics', event);
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
return () => {
|
|
134
|
-
subscription.remove();
|
|
135
|
-
};
|
|
136
|
-
}, []);
|
|
137
|
-
|
|
138
110
|
return (
|
|
139
111
|
<View style={styles.container}>
|
|
140
112
|
<TouchableOpacity
|
|
@@ -150,7 +122,11 @@ export default function App() {
|
|
|
150
122
|
|
|
151
123
|
showEditor(result.assets![0]?.uri || '', {
|
|
152
124
|
maxDuration: 20,
|
|
153
|
-
}
|
|
125
|
+
},
|
|
126
|
+
(eventName, payload) => {
|
|
127
|
+
console.log('Event:', eventName, 'Payload:', payload);
|
|
128
|
+
}
|
|
129
|
+
);
|
|
154
130
|
}}
|
|
155
131
|
style={{ padding: 10, backgroundColor: 'red' }}
|
|
156
132
|
>
|
|
@@ -183,7 +159,7 @@ const styles = StyleSheet.create({
|
|
|
183
159
|
|
|
184
160
|
# Methods
|
|
185
161
|
|
|
186
|
-
## showEditor(videoPath: string, config?: EditorConfig)
|
|
162
|
+
## showEditor(videoPath: string, config?: EditorConfig, onEvent?: (eventName: string, payload: Record<string, string>) => void)
|
|
187
163
|
Main method to show Video Editor UI.
|
|
188
164
|
|
|
189
165
|
*Params*:
|
|
@@ -286,8 +262,21 @@ Delete a file in app storage. Return `true` if success
|
|
|
286
262
|
|
|
287
263
|
## showEditor
|
|
288
264
|
|
|
265
|
+
```ts
|
|
266
|
+
showEditor('file', config, (eventName, payload) => {
|
|
267
|
+
console.log(eventName, payload)
|
|
268
|
+
})
|
|
269
|
+
```
|
|
270
|
+
|
|
289
271
|
## closeEditor
|
|
290
272
|
|
|
273
|
+
```ts
|
|
274
|
+
closeEditor(() => {
|
|
275
|
+
console.log('Editor closed')
|
|
276
|
+
})
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
|
|
291
280
|
# Events (Old arch)
|
|
292
281
|
To listen for events you interest, do the following:
|
|
293
282
|
```js
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = "VideoTrim"
|
|
7
|
+
s.version = package["version"]
|
|
8
|
+
s.summary = package["description"]
|
|
9
|
+
s.homepage = package["homepage"]
|
|
10
|
+
s.license = package["license"]
|
|
11
|
+
s.authors = package["author"]
|
|
12
|
+
|
|
13
|
+
s.platforms = { :ios => min_ios_version_supported }
|
|
14
|
+
s.source = { :git => "https://github.com/maitrungduc1410/react-native-video-trim.git", :tag => "#{s.version}" }
|
|
15
|
+
|
|
16
|
+
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
17
|
+
|
|
18
|
+
s.dependency 'ffmpeg-mobile-min', '~> 6.0'
|
|
19
|
+
|
|
20
|
+
load 'nitrogen/generated/ios/VideoTrim+autolinking.rb'
|
|
21
|
+
add_nitrogen_files(s)
|
|
22
|
+
|
|
23
|
+
install_modules_dependencies(s)
|
|
24
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
project(videotrim)
|
|
2
|
+
cmake_minimum_required(VERSION 3.9.0)
|
|
3
|
+
|
|
4
|
+
set(PACKAGE_NAME videotrim)
|
|
5
|
+
set(CMAKE_VERBOSE_MAKEFILE ON)
|
|
6
|
+
set(CMAKE_CXX_STANDARD 20)
|
|
7
|
+
|
|
8
|
+
# Define C++ library and add all sources
|
|
9
|
+
add_library(${PACKAGE_NAME} SHARED src/main/cpp/cpp-adapter.cpp)
|
|
10
|
+
|
|
11
|
+
# Add Nitrogen specs :)
|
|
12
|
+
include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/videotrim+autolinking.cmake)
|
|
13
|
+
|
|
14
|
+
# Set up local includes
|
|
15
|
+
include_directories("src/main/cpp" "../cpp")
|
|
16
|
+
|
|
17
|
+
find_library(LOG_LIB log)
|
|
18
|
+
|
|
19
|
+
# Link all libraries together
|
|
20
|
+
target_link_libraries(
|
|
21
|
+
${PACKAGE_NAME}
|
|
22
|
+
${LOG_LIB}
|
|
23
|
+
android # <-- Android core
|
|
24
|
+
)
|
package/android/build.gradle
CHANGED
|
@@ -1,70 +1,94 @@
|
|
|
1
1
|
buildscript {
|
|
2
|
+
ext.getExtOrDefault = {name ->
|
|
3
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['VideoTrim_' + name]
|
|
4
|
+
}
|
|
5
|
+
|
|
2
6
|
repositories {
|
|
3
7
|
google()
|
|
4
8
|
mavenCentral()
|
|
5
9
|
}
|
|
6
10
|
|
|
7
11
|
dependencies {
|
|
8
|
-
classpath "com.android.tools.build:gradle:7.2
|
|
12
|
+
classpath "com.android.tools.build:gradle:8.7.2"
|
|
13
|
+
// noinspection DifferentKotlinGradleVersion
|
|
14
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
|
|
9
15
|
}
|
|
10
16
|
}
|
|
11
17
|
|
|
12
|
-
def
|
|
13
|
-
|
|
18
|
+
def reactNativeArchitectures() {
|
|
19
|
+
def value = rootProject.getProperties().get("reactNativeArchitectures")
|
|
20
|
+
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
|
|
14
21
|
}
|
|
15
22
|
|
|
16
23
|
apply plugin: "com.android.library"
|
|
24
|
+
apply plugin: "kotlin-android"
|
|
25
|
+
apply from: '../nitrogen/generated/android/videotrim+autolinking.gradle'
|
|
17
26
|
|
|
18
|
-
|
|
19
|
-
def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
|
|
20
|
-
|
|
21
|
-
if (isNewArchitectureEnabled()) {
|
|
22
|
-
apply plugin: "com.facebook.react"
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
def getExtOrDefault(name) {
|
|
26
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["VideoTrim_" + name]
|
|
27
|
-
}
|
|
27
|
+
apply plugin: "com.facebook.react"
|
|
28
28
|
|
|
29
29
|
def getExtOrIntegerDefault(name) {
|
|
30
30
|
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["VideoTrim_" + name]).toInteger()
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def major = parsed[0].toInteger()
|
|
36
|
-
def minor = parsed[1].toInteger()
|
|
37
|
-
|
|
38
|
-
// Namespace support was added in 7.3.0
|
|
39
|
-
if (major == 7 && minor >= 3) {
|
|
40
|
-
return true
|
|
41
|
-
}
|
|
33
|
+
android {
|
|
34
|
+
namespace "com.margelo.nitro.videotrim"
|
|
42
35
|
|
|
43
|
-
|
|
44
|
-
}
|
|
36
|
+
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
|
45
37
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
defaultConfig {
|
|
39
|
+
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
|
40
|
+
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
|
49
41
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
42
|
+
externalNativeBuild {
|
|
43
|
+
cmake {
|
|
44
|
+
cppFlags "-frtti -fexceptions -Wall -fstack-protector-all"
|
|
45
|
+
arguments "-DANDROID_STL=c++_shared"
|
|
46
|
+
abiFilters (*reactNativeArchitectures())
|
|
47
|
+
|
|
48
|
+
buildTypes {
|
|
49
|
+
debug {
|
|
50
|
+
cppFlags "-O1 -g"
|
|
51
|
+
}
|
|
52
|
+
release {
|
|
53
|
+
cppFlags "-O2"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
externalNativeBuild {
|
|
61
|
+
cmake {
|
|
62
|
+
path "CMakeLists.txt"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
62
65
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
packagingOptions {
|
|
67
|
+
excludes = [
|
|
68
|
+
"META-INF",
|
|
69
|
+
"META-INF/**",
|
|
70
|
+
"**/libc++_shared.so",
|
|
71
|
+
"**/libfbjni.so",
|
|
72
|
+
"**/libjsi.so",
|
|
73
|
+
"**/libfolly_json.so",
|
|
74
|
+
"**/libfolly_runtime.so",
|
|
75
|
+
"**/libglog.so",
|
|
76
|
+
"**/libhermes.so",
|
|
77
|
+
"**/libhermes-executor-debug.so",
|
|
78
|
+
"**/libhermes_executor.so",
|
|
79
|
+
"**/libreactnative.so",
|
|
80
|
+
"**/libreactnativejni.so",
|
|
81
|
+
"**/libturbomodulejsijni.so",
|
|
82
|
+
"**/libreact_nativemodule_core.so",
|
|
83
|
+
"**/libjscexecutor.so"
|
|
84
|
+
]
|
|
67
85
|
}
|
|
86
|
+
|
|
87
|
+
buildFeatures {
|
|
88
|
+
buildConfig true
|
|
89
|
+
prefab true
|
|
90
|
+
}
|
|
91
|
+
|
|
68
92
|
buildTypes {
|
|
69
93
|
release {
|
|
70
94
|
minifyEnabled false
|
|
@@ -80,6 +104,14 @@ android {
|
|
|
80
104
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
81
105
|
}
|
|
82
106
|
|
|
107
|
+
sourceSets {
|
|
108
|
+
main {
|
|
109
|
+
java.srcDirs += [
|
|
110
|
+
"generated/java",
|
|
111
|
+
"generated/jni"
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
}
|
|
83
115
|
}
|
|
84
116
|
|
|
85
117
|
repositories {
|
|
@@ -87,20 +119,13 @@ repositories {
|
|
|
87
119
|
google()
|
|
88
120
|
}
|
|
89
121
|
|
|
122
|
+
def kotlin_version = getExtOrDefault("kotlinVersion")
|
|
90
123
|
|
|
91
124
|
dependencies {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
implementation 'androidx.recyclerview:recyclerview:1.3.1'
|
|
125
|
+
implementation "com.facebook.react:react-android"
|
|
126
|
+
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
127
|
+
implementation project(":react-native-nitro-modules")
|
|
128
|
+
|
|
97
129
|
implementation 'io.github.maitrungduc1410:ffmpeg-kit-min:6.0.0'
|
|
98
130
|
}
|
|
99
131
|
|
|
100
|
-
if (isNewArchitectureEnabled()) {
|
|
101
|
-
react {
|
|
102
|
-
jsRootDir = file("../src/")
|
|
103
|
-
libraryName = "VideoTrim"
|
|
104
|
-
codegenJavaPackageName = "com.videotrim"
|
|
105
|
-
}
|
|
106
|
-
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
VideoTrim_kotlinVersion=
|
|
2
|
-
VideoTrim_minSdkVersion=
|
|
3
|
-
VideoTrim_targetSdkVersion=
|
|
4
|
-
VideoTrim_compileSdkVersion=
|
|
5
|
-
|
|
1
|
+
VideoTrim_kotlinVersion=2.0.21
|
|
2
|
+
VideoTrim_minSdkVersion=24
|
|
3
|
+
VideoTrim_targetSdkVersion=34
|
|
4
|
+
VideoTrim_compileSdkVersion=35
|
|
5
|
+
VideoTrim_ndkVersion=27.1.12297006
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
<manifest
|
|
1
|
+
<manifest
|
|
2
|
+
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
package="com.margelo.nitro.videotrim">
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<uses-permission android:name="android.permission.VIBRATE" />
|
|
4
6
|
|
|
5
7
|
<application>
|
|
6
8
|
<!-- FileProvider setup -->
|