react-native-compressor 1.6.4 → 1.7.1
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 +41 -27
- package/android/build.gradle +95 -42
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +0 -1
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/reactnativecompressor/CompressorModule.java +107 -43
- package/android/src/main/java/com/reactnativecompressor/CompressorPackage.java +47 -19
- package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressor.java +28 -16
- package/android/src/main/java/com/reactnativecompressor/Image/utils/ImageCompressorOptions.java +5 -1
- package/android/src/main/java/com/reactnativecompressor/Utils/MediaCache.java +65 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/Utils.java +162 -3
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressorHelper.java +7 -4
- package/android/src/main/java/com/reactnativecompressor/Video/VideoModule.java +11 -22
- package/android/src/newarch/CompressorSpec.java +9 -0
- package/android/src/newarch/VideoCompressorSpec.java +9 -0
- package/android/src/oldarch/CompressorSpec.java +34 -0
- package/android/src/oldarch/VideoCompressorSpec.java +26 -0
- package/ios/Compressor-Bridging-Header.h +1 -0
- package/ios/Compressor.h +9 -1
- package/ios/Compressor.mm +427 -0
- package/ios/Compressor.xcodeproj/project.pbxproj +6 -36
- package/ios/Image/ImageCompressor.h +12 -7
- package/ios/Image/ImageCompressor.m +164 -67
- package/ios/Image/ImageCompressorOptions.h +1 -0
- package/ios/Image/ImageCompressorOptions.m +5 -1
- package/ios/Utils/Downloader.h +16 -0
- package/ios/Utils/Downloader.m +150 -0
- package/ios/Utils/MediaCache.h +11 -0
- package/ios/Utils/MediaCache.m +51 -0
- package/ios/Video/VideoCompressor.swift +14 -5
- package/lib/commonjs/Audio/index.js +13 -14
- package/lib/commonjs/Audio/index.js.map +1 -1
- package/lib/commonjs/Image/index.js +26 -7
- package/lib/commonjs/Image/index.js.map +1 -1
- package/lib/commonjs/Main.js +29 -0
- package/lib/commonjs/Main.js.map +1 -0
- package/lib/commonjs/Spec/NativeCompressor.js +10 -0
- package/lib/commonjs/Spec/NativeCompressor.js.map +1 -0
- package/lib/commonjs/Spec/NativeVideoCompressor.js +10 -0
- package/lib/commonjs/Spec/NativeVideoCompressor.js.map +1 -0
- package/lib/commonjs/Video/index.js +17 -25
- package/lib/commonjs/Video/index.js.map +1 -1
- package/lib/commonjs/expo-plugin/compressor.js +1 -4
- package/lib/commonjs/expo-plugin/compressor.js.map +1 -1
- package/lib/commonjs/index.js +21 -28
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/index.js +32 -51
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/Audio/index.js +13 -11
- package/lib/module/Audio/index.js.map +1 -1
- package/lib/module/Image/index.js +27 -6
- package/lib/module/Image/index.js.map +1 -1
- package/lib/module/Main.js +22 -0
- package/lib/module/Main.js.map +1 -0
- package/lib/module/Spec/NativeCompressor.js +3 -0
- package/lib/module/Spec/NativeCompressor.js.map +1 -0
- package/lib/module/Spec/NativeVideoCompressor.js +3 -0
- package/lib/module/Spec/NativeVideoCompressor.js.map +1 -0
- package/lib/module/Video/index.js +18 -19
- package/lib/module/Video/index.js.map +1 -1
- package/lib/module/expo-plugin/compressor.js +1 -3
- package/lib/module/expo-plugin/compressor.js.map +1 -1
- package/lib/module/index.js +8 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/index.js +26 -34
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/Audio/index.d.ts +2 -1
- package/lib/typescript/Audio/index.d.ts.map +1 -0
- package/lib/typescript/Image/index.d.ts +11 -6
- package/lib/typescript/Image/index.d.ts.map +1 -0
- package/lib/typescript/Main.d.ts +4 -0
- package/lib/typescript/Main.d.ts.map +1 -0
- package/lib/typescript/Spec/NativeCompressor.d.ts +14 -0
- package/lib/typescript/Spec/NativeCompressor.d.ts.map +1 -0
- package/lib/typescript/Spec/NativeVideoCompressor.d.ts +13 -0
- package/lib/typescript/Spec/NativeVideoCompressor.d.ts.map +1 -0
- package/lib/typescript/Video/index.d.ts +5 -3
- package/lib/typescript/Video/index.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/compressor.d.ts +2 -3
- package/lib/typescript/expo-plugin/compressor.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +7 -3
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +6 -4
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/package.json +62 -38
- package/react-native-compressor.podspec +24 -1
- package/src/Audio/index.tsx +6 -4
- package/src/Image/index.tsx +38 -5
- package/src/Main.tsx +41 -0
- package/src/Spec/NativeCompressor.ts +15 -0
- package/src/Spec/NativeVideoCompressor.ts +14 -0
- package/src/Video/index.tsx +28 -11
- package/src/expo-plugin/compressor.ts +2 -1
- package/src/index.tsx +7 -2
- package/src/utils/index.tsx +11 -5
- package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/6.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/caches/build_file_checksums.ser +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/gradle.xml +0 -20
- package/android/.idea/jarRepositories.xml +0 -45
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +0 -24
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +0 -24
- package/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -24
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +0 -24
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -24
- package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -24
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_66_1_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_1.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_1.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_1_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_googlecode_mp4parser_isoparser_1_0_6.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_1.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_1.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +0 -13
- package/android/.idea/libraries/Gradle__io_github_lizhangqu_coreprogress_1_0_2_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
- package/android/.idea/libraries/Gradle__org_aspectj_aspectjrt_1_8_2.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_10.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_4_0.xml +0 -13
- package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_4_0.xml +0 -13
- package/android/.idea/misc.xml +0 -9
- package/android/.idea/modules/android.iml +0 -138
- package/android/.idea/modules.xml +0 -8
- package/android/.idea/vcs.xml +0 -6
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/android/gradlew +0 -183
- package/android/gradlew.bat +0 -100
- package/android/local.properties +0 -8
- package/ios/Compressor.m +0 -351
- package/ios/Compressor.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Compressor.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Compressor.xcodeproj/xcshareddata/xcschemes/Compressor.xcscheme +0 -67
- package/ios/Compressor.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist +0 -22
package/src/Audio/index.tsx
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Compressor } from '../Main';
|
|
2
|
+
|
|
2
3
|
import {
|
|
3
4
|
AUDIO_BITRATE,
|
|
4
|
-
AudioType,
|
|
5
5
|
DEFAULT_COMPRESS_AUDIO_OPTIONS,
|
|
6
|
-
defaultResultType,
|
|
7
6
|
checkUrlAndOptions,
|
|
8
7
|
} from '../utils';
|
|
9
|
-
|
|
8
|
+
import type { AudioType, defaultResultType } from '../utils';
|
|
9
|
+
const NativeAudio = Compressor;
|
|
10
10
|
|
|
11
11
|
const Audio: AudioType = {
|
|
12
12
|
compress: async (url, options = DEFAULT_COMPRESS_AUDIO_OPTIONS) => {
|
|
@@ -31,6 +31,7 @@ const Audio: AudioType = {
|
|
|
31
31
|
// Check and return the appropriate bitrate according to quality expected
|
|
32
32
|
for (let i = 0; i < AUDIO_BITRATE.length; i++) {
|
|
33
33
|
// Check a particular bitrate to return its nearest lower according to quality
|
|
34
|
+
//@ts-ignore
|
|
34
35
|
if (mediaDetails.bitrate > AUDIO_BITRATE[i]) {
|
|
35
36
|
if (i + 2 < AUDIO_BITRATE.length) {
|
|
36
37
|
if (options.quality === 'low') bitrate = AUDIO_BITRATE[i + 2];
|
|
@@ -46,6 +47,7 @@ const Audio: AudioType = {
|
|
|
46
47
|
|
|
47
48
|
// Check if the matching bitrate is the last in the array
|
|
48
49
|
if (
|
|
50
|
+
//@ts-ignore
|
|
49
51
|
mediaDetails.bitrate <= AUDIO_BITRATE[AUDIO_BITRATE.length - 1]
|
|
50
52
|
) {
|
|
51
53
|
bitrate = AUDIO_BITRATE[AUDIO_BITRATE.length - 1];
|
package/src/Image/index.tsx
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Compressor } from '../Main';
|
|
2
|
+
import { uuidv4 } from '../utils';
|
|
2
3
|
const base64UrlRegex = /^data:image\/.*;(?:charset=.{3,5};)?base64,/;
|
|
4
|
+
import type { NativeEventSubscription } from 'react-native';
|
|
5
|
+
import { NativeEventEmitter } from 'react-native';
|
|
3
6
|
|
|
4
7
|
export type InputType = 'base64' | 'uri';
|
|
5
8
|
|
|
@@ -38,23 +41,53 @@ export type CompressorOptions = {
|
|
|
38
41
|
* The output that will return to user.
|
|
39
42
|
*/
|
|
40
43
|
returnableOutputType?: ReturnableOutputType;
|
|
44
|
+
/***
|
|
45
|
+
* it is callback, only trigger when we pass image url from server
|
|
46
|
+
*/
|
|
47
|
+
downloadProgress?: (progress: number) => void;
|
|
41
48
|
};
|
|
42
49
|
|
|
43
|
-
const
|
|
50
|
+
const ImageCompressEventEmitter = new NativeEventEmitter(Compressor);
|
|
51
|
+
|
|
52
|
+
const NativeImage = Compressor;
|
|
44
53
|
|
|
45
54
|
type ImageType = {
|
|
46
55
|
compress(value: string, options?: CompressorOptions): Promise<string>;
|
|
47
56
|
};
|
|
48
57
|
|
|
49
58
|
const Image: ImageType = {
|
|
50
|
-
compress: (value, options) => {
|
|
59
|
+
compress: async (value, options = {}) => {
|
|
51
60
|
if (!value) {
|
|
52
61
|
throw new Error(
|
|
53
62
|
'Compression value is empty, please provide a value for compression.'
|
|
54
63
|
);
|
|
55
64
|
}
|
|
56
|
-
|
|
57
|
-
|
|
65
|
+
|
|
66
|
+
const uuid = uuidv4();
|
|
67
|
+
let subscription: NativeEventSubscription;
|
|
68
|
+
try {
|
|
69
|
+
if (options?.downloadProgress) {
|
|
70
|
+
//@ts-ignore
|
|
71
|
+
options.uuid = uuid;
|
|
72
|
+
subscription = ImageCompressEventEmitter.addListener(
|
|
73
|
+
'downloadProgress',
|
|
74
|
+
(event: any) => {
|
|
75
|
+
if (event.uuid === uuid) {
|
|
76
|
+
options.downloadProgress &&
|
|
77
|
+
options.downloadProgress(event.data.progress);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const cleanData = value.replace(base64UrlRegex, '');
|
|
84
|
+
return await NativeImage.image_compress(cleanData, options);
|
|
85
|
+
} finally {
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
if (subscription) {
|
|
88
|
+
subscription.remove();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
58
91
|
},
|
|
59
92
|
};
|
|
60
93
|
|
package/src/Main.tsx
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NativeModules, Platform } from 'react-native';
|
|
2
|
+
|
|
3
|
+
const LINKING_ERROR =
|
|
4
|
+
`The package 'react-native-compressor' doesn't seem to be linked. Make sure: \n\n` +
|
|
5
|
+
Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
|
|
6
|
+
'- You rebuilt the app after installing the package\n' +
|
|
7
|
+
'- You are not using Expo Go\n';
|
|
8
|
+
|
|
9
|
+
// @ts-expect-error
|
|
10
|
+
const isTurboModuleEnabled = global.__turboModuleProxy != null;
|
|
11
|
+
|
|
12
|
+
const CompressorModule = isTurboModuleEnabled
|
|
13
|
+
? require('./Spec/NativeCompressor').default
|
|
14
|
+
: NativeModules.Compressor;
|
|
15
|
+
const VideoCompressorModule = isTurboModuleEnabled
|
|
16
|
+
? require('./Spec/NativeVideoCompressor').default
|
|
17
|
+
: NativeModules.VideoCompressor;
|
|
18
|
+
|
|
19
|
+
const Compressor = CompressorModule
|
|
20
|
+
? CompressorModule
|
|
21
|
+
: new Proxy(
|
|
22
|
+
{},
|
|
23
|
+
{
|
|
24
|
+
get() {
|
|
25
|
+
throw new Error(LINKING_ERROR);
|
|
26
|
+
},
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
const VideoCompressor = VideoCompressorModule
|
|
31
|
+
? VideoCompressorModule
|
|
32
|
+
: new Proxy(
|
|
33
|
+
{},
|
|
34
|
+
{
|
|
35
|
+
get() {
|
|
36
|
+
throw new Error(LINKING_ERROR);
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
export { Compressor, VideoCompressor };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export interface Spec extends TurboModule {
|
|
5
|
+
image_compress(imagePath: string, optionMap: Object): Promise<string>;
|
|
6
|
+
compress_audio(fileUrl: string, optionMap: Object): Promise<string>;
|
|
7
|
+
generateFilePath(extension: string): Promise<string>;
|
|
8
|
+
getRealPath(path: string, type: string): Promise<string>;
|
|
9
|
+
getVideoMetaData(filePath: string): Promise<string>;
|
|
10
|
+
getFileSize(filePath: string): Promise<string>;
|
|
11
|
+
addListener(eventName: string): void;
|
|
12
|
+
removeListeners(count: number): void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default TurboModuleRegistry.getEnforcing<Spec>('Compressor');
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export interface Spec extends TurboModule {
|
|
5
|
+
compress(fileUrl: string, optionMap: Object): Promise<string>;
|
|
6
|
+
cancelCompression(uuid: string): void;
|
|
7
|
+
upload(fileUrl: string, options: Object): Promise<string>;
|
|
8
|
+
activateBackgroundTask(options: Object): Promise<string>;
|
|
9
|
+
deactivateBackgroundTask(options: Object): Promise<string>;
|
|
10
|
+
addListener(eventName: string): void;
|
|
11
|
+
removeListeners(count: number): void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default TurboModuleRegistry.getEnforcing<Spec>('VideoCompressor');
|
package/src/Video/index.tsx
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Platform,
|
|
5
|
-
NativeEventSubscription,
|
|
6
|
-
} from 'react-native';
|
|
1
|
+
import { NativeEventEmitter, Platform } from 'react-native';
|
|
2
|
+
import type { NativeEventSubscription } from 'react-native';
|
|
3
|
+
import { VideoCompressor } from '../Main';
|
|
7
4
|
import { uuidv4 } from '../utils';
|
|
8
5
|
|
|
9
6
|
export declare enum FileSystemUploadType {
|
|
@@ -22,6 +19,7 @@ type videoCompresssionType = {
|
|
|
22
19
|
compressionMethod?: compressionMethod;
|
|
23
20
|
minimumFileSizeForCompress?: number;
|
|
24
21
|
getCancellationId?: (cancellationId: string) => void;
|
|
22
|
+
downloadProgress?: (progress: number) => void;
|
|
25
23
|
};
|
|
26
24
|
|
|
27
25
|
export declare enum FileSystemSessionType {
|
|
@@ -68,11 +66,9 @@ export type VideoCompressorType = {
|
|
|
68
66
|
deactivateBackgroundTask(): Promise<any>;
|
|
69
67
|
};
|
|
70
68
|
|
|
71
|
-
const VideoCompressEventEmitter = new NativeEventEmitter(
|
|
72
|
-
NativeModules.VideoCompressor
|
|
73
|
-
);
|
|
69
|
+
const VideoCompressEventEmitter = new NativeEventEmitter(VideoCompressor);
|
|
74
70
|
|
|
75
|
-
const NativeVideoCompressor =
|
|
71
|
+
const NativeVideoCompressor = VideoCompressor;
|
|
76
72
|
|
|
77
73
|
export const backgroundUpload = async (
|
|
78
74
|
url: string,
|
|
@@ -123,6 +119,8 @@ const Video: VideoCompressorType = {
|
|
|
123
119
|
) => {
|
|
124
120
|
const uuid = uuidv4();
|
|
125
121
|
let subscription: NativeEventSubscription;
|
|
122
|
+
let subscription2: NativeEventSubscription;
|
|
123
|
+
|
|
126
124
|
try {
|
|
127
125
|
if (onProgress) {
|
|
128
126
|
subscription = VideoCompressEventEmitter.addListener(
|
|
@@ -134,6 +132,20 @@ const Video: VideoCompressorType = {
|
|
|
134
132
|
}
|
|
135
133
|
);
|
|
136
134
|
}
|
|
135
|
+
|
|
136
|
+
if (options?.downloadProgress) {
|
|
137
|
+
//@ts-ignore
|
|
138
|
+
subscription2 = VideoCompressEventEmitter.addListener(
|
|
139
|
+
'downloadProgress',
|
|
140
|
+
(event: any) => {
|
|
141
|
+
if (event.uuid === uuid) {
|
|
142
|
+
options.downloadProgress &&
|
|
143
|
+
options.downloadProgress(event.data.progress);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
|
|
137
149
|
const modifiedOptions: {
|
|
138
150
|
uuid: string;
|
|
139
151
|
bitrate?: number;
|
|
@@ -145,7 +157,7 @@ const Video: VideoCompressorType = {
|
|
|
145
157
|
if (options?.compressionMethod) {
|
|
146
158
|
modifiedOptions.compressionMethod = options?.compressionMethod;
|
|
147
159
|
} else {
|
|
148
|
-
modifiedOptions.compressionMethod = '
|
|
160
|
+
modifiedOptions.compressionMethod = 'auto';
|
|
149
161
|
}
|
|
150
162
|
if (options?.maxSize) {
|
|
151
163
|
modifiedOptions.maxSize = options?.maxSize;
|
|
@@ -159,6 +171,7 @@ const Video: VideoCompressorType = {
|
|
|
159
171
|
if (options?.getCancellationId) {
|
|
160
172
|
options?.getCancellationId(uuid);
|
|
161
173
|
}
|
|
174
|
+
|
|
162
175
|
const result = await NativeVideoCompressor.compress(
|
|
163
176
|
fileUrl,
|
|
164
177
|
modifiedOptions
|
|
@@ -169,6 +182,10 @@ const Video: VideoCompressorType = {
|
|
|
169
182
|
if (subscription) {
|
|
170
183
|
subscription.remove();
|
|
171
184
|
}
|
|
185
|
+
//@ts-ignore
|
|
186
|
+
if (subscription2) {
|
|
187
|
+
subscription2.remove();
|
|
188
|
+
}
|
|
172
189
|
}
|
|
173
190
|
},
|
|
174
191
|
backgroundUpload,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
//@ts-ignore
|
|
1
2
|
import { ConfigPlugin, createRunOncePlugin } from '@expo/config-plugins';
|
|
2
3
|
const pkg = require('../../../package.json');
|
|
3
4
|
|
|
4
5
|
type Props = {};
|
|
5
6
|
|
|
6
|
-
const withCompressor: ConfigPlugin<Props> = (config) => config;
|
|
7
|
+
const withCompressor: ConfigPlugin<Props> = (config:any) => config;
|
|
7
8
|
|
|
8
9
|
export default createRunOncePlugin(withCompressor, pkg.name, pkg.version);
|
package/src/index.tsx
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import Video, {
|
|
1
|
+
import Video, { backgroundUpload } from './Video';
|
|
2
|
+
import type { VideoCompressorType } from './Video';
|
|
2
3
|
import Audio from './Audio';
|
|
3
4
|
import Image from './Image';
|
|
4
5
|
import {
|
|
@@ -7,6 +8,7 @@ import {
|
|
|
7
8
|
generateFilePath,
|
|
8
9
|
getRealPath,
|
|
9
10
|
getVideoMetaData,
|
|
11
|
+
getFileSize,
|
|
10
12
|
} from './utils';
|
|
11
13
|
|
|
12
14
|
export {
|
|
@@ -15,13 +17,15 @@ export {
|
|
|
15
17
|
Image,
|
|
16
18
|
backgroundUpload,
|
|
17
19
|
//type
|
|
18
|
-
|
|
20
|
+
|
|
19
21
|
getDetails,
|
|
20
22
|
uuidv4,
|
|
21
23
|
generateFilePath,
|
|
22
24
|
getRealPath,
|
|
23
25
|
getVideoMetaData,
|
|
26
|
+
getFileSize,
|
|
24
27
|
};
|
|
28
|
+
export type { VideoCompressorType };
|
|
25
29
|
export default {
|
|
26
30
|
Video,
|
|
27
31
|
Audio,
|
|
@@ -32,4 +36,5 @@ export default {
|
|
|
32
36
|
generateFilePath,
|
|
33
37
|
getRealPath,
|
|
34
38
|
getVideoMetaData,
|
|
39
|
+
getFileSize,
|
|
35
40
|
};
|
package/src/utils/index.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-bitwise */
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { Compressor } from '../Main';
|
|
3
|
+
|
|
4
4
|
export const AUDIO_BITRATE = [256, 192, 160, 128, 96, 64, 32];
|
|
5
5
|
type qualityType = 'low' | 'medium' | 'high';
|
|
6
6
|
const INCORRECT_INPUT_PATH = 'Incorrect input path. Please provide a valid one';
|
|
@@ -76,8 +76,8 @@ const isFileNameError = (filename: string) => {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
const getFilename = (path: string | null) => {
|
|
79
|
-
const fullFilename = getFullFilename(path);
|
|
80
|
-
if (!isFileNameError(fullFilename)) {
|
|
79
|
+
const fullFilename: string | undefined = getFullFilename(path);
|
|
80
|
+
if (fullFilename && !isFileNameError(fullFilename)) {
|
|
81
81
|
const array = fullFilename.split('.');
|
|
82
82
|
return array.length > 1 ? array.slice(0, -1).join('') : array.join('');
|
|
83
83
|
}
|
|
@@ -85,7 +85,9 @@ const getFilename = (path: string | null) => {
|
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
const isRemoteMedia = (path: string | null) => {
|
|
88
|
-
return typeof path === 'string'
|
|
88
|
+
return typeof path === 'string'
|
|
89
|
+
? path?.split(':/')?.[0]?.includes('http')
|
|
90
|
+
: null;
|
|
89
91
|
};
|
|
90
92
|
|
|
91
93
|
export const getDetails = (
|
|
@@ -165,6 +167,10 @@ export const checkUrlAndOptions = async (
|
|
|
165
167
|
}
|
|
166
168
|
};
|
|
167
169
|
|
|
170
|
+
export const getFileSize = async (filePath: string): Promise<string> => {
|
|
171
|
+
return Compressor.getFileSize(filePath);
|
|
172
|
+
};
|
|
173
|
+
|
|
168
174
|
export const uuidv4 = () => {
|
|
169
175
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
170
176
|
const r =
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
package/android/.idea/gradle.xml
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="GradleMigrationSettings" migrationVersion="1" />
|
|
4
|
-
<component name="GradleSettings">
|
|
5
|
-
<option name="linkedExternalProjectsSettings">
|
|
6
|
-
<GradleProjectSettings>
|
|
7
|
-
<option name="testRunner" value="GRADLE" />
|
|
8
|
-
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
|
9
|
-
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
10
|
-
<option name="gradleJvm" value="1.8" />
|
|
11
|
-
<option name="modules">
|
|
12
|
-
<set>
|
|
13
|
-
<option value="$PROJECT_DIR$" />
|
|
14
|
-
</set>
|
|
15
|
-
</option>
|
|
16
|
-
<option name="resolveModulePerSourceSet" value="false" />
|
|
17
|
-
</GradleProjectSettings>
|
|
18
|
-
</option>
|
|
19
|
-
</component>
|
|
20
|
-
</project>
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="RemoteRepositoriesConfiguration">
|
|
4
|
-
<remote-repository>
|
|
5
|
-
<option name="id" value="central" />
|
|
6
|
-
<option name="name" value="Maven Central repository" />
|
|
7
|
-
<option name="url" value="https://repo1.maven.org/maven2" />
|
|
8
|
-
</remote-repository>
|
|
9
|
-
<remote-repository>
|
|
10
|
-
<option name="id" value="jboss.community" />
|
|
11
|
-
<option name="name" value="JBoss Community repository" />
|
|
12
|
-
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
|
13
|
-
</remote-repository>
|
|
14
|
-
<remote-repository>
|
|
15
|
-
<option name="id" value="MavenLocal" />
|
|
16
|
-
<option name="name" value="MavenLocal" />
|
|
17
|
-
<option name="url" value="file:$USER_HOME$/.m2/repository" />
|
|
18
|
-
</remote-repository>
|
|
19
|
-
<remote-repository>
|
|
20
|
-
<option name="id" value="maven" />
|
|
21
|
-
<option name="name" value="maven" />
|
|
22
|
-
<option name="url" value="file:$PROJECT_DIR$/../node_modules/react-native/android/" />
|
|
23
|
-
</remote-repository>
|
|
24
|
-
<remote-repository>
|
|
25
|
-
<option name="id" value="BintrayJCenter" />
|
|
26
|
-
<option name="name" value="BintrayJCenter" />
|
|
27
|
-
<option name="url" value="https://jcenter.bintray.com/" />
|
|
28
|
-
</remote-repository>
|
|
29
|
-
<remote-repository>
|
|
30
|
-
<option name="id" value="Google" />
|
|
31
|
-
<option name="name" value="Google" />
|
|
32
|
-
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
|
33
|
-
</remote-repository>
|
|
34
|
-
<remote-repository>
|
|
35
|
-
<option name="id" value="MavenRepo" />
|
|
36
|
-
<option name="name" value="MavenRepo" />
|
|
37
|
-
<option name="url" value="https://repo.maven.apache.org/maven2/" />
|
|
38
|
-
</remote-repository>
|
|
39
|
-
<remote-repository>
|
|
40
|
-
<option name="id" value="maven2" />
|
|
41
|
-
<option name="name" value="maven2" />
|
|
42
|
-
<option name="url" value="https://www.jitpack.io" />
|
|
43
|
-
</remote-repository>
|
|
44
|
-
</component>
|
|
45
|
-
</project>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.annotation:annotation:1.1.0">
|
|
3
|
-
<CLASSES>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar!/" />
|
|
5
|
-
</CLASSES>
|
|
6
|
-
<JAVADOC>
|
|
7
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/408af38ec57369afe3fd6466e1c4bfdd5f15fc92/annotation-1.1.0-javadoc.jar!/" />
|
|
8
|
-
</JAVADOC>
|
|
9
|
-
<SOURCES>
|
|
10
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/8b7bdc00eb4d998bfbc76767b098620990f2a805/annotation-1.1.0-sources.jar!/" />
|
|
11
|
-
</SOURCES>
|
|
12
|
-
</library>
|
|
13
|
-
</component>
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.appcompat:appcompat:1.0.2@aar">
|
|
3
|
-
<ANNOTATIONS>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/30dee279fe279f2d8889b10c7a04442b/appcompat-1.0.2/annotations.zip!/" />
|
|
5
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0cf0ce774afedddbfc813f566e3b2f9e/appcompat-1.0.2/annotations.zip!/" />
|
|
6
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/ec968be4d8af4539da789bc937baa773/transformed/appcompat-1.0.2/annotations.zip!/" />
|
|
7
|
-
</ANNOTATIONS>
|
|
8
|
-
<CLASSES>
|
|
9
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/30dee279fe279f2d8889b10c7a04442b/appcompat-1.0.2/res" />
|
|
10
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/30dee279fe279f2d8889b10c7a04442b/appcompat-1.0.2/AndroidManifest.xml" />
|
|
11
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/30dee279fe279f2d8889b10c7a04442b/appcompat-1.0.2/jars/classes.jar!/" />
|
|
12
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0cf0ce774afedddbfc813f566e3b2f9e/appcompat-1.0.2/AndroidManifest.xml" />
|
|
13
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0cf0ce774afedddbfc813f566e3b2f9e/appcompat-1.0.2/jars/classes.jar!/" />
|
|
14
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0cf0ce774afedddbfc813f566e3b2f9e/appcompat-1.0.2/res" />
|
|
15
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/ec968be4d8af4539da789bc937baa773/transformed/appcompat-1.0.2/res" />
|
|
16
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/ec968be4d8af4539da789bc937baa773/transformed/appcompat-1.0.2/AndroidManifest.xml" />
|
|
17
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/ec968be4d8af4539da789bc937baa773/transformed/appcompat-1.0.2/jars/classes.jar!/" />
|
|
18
|
-
</CLASSES>
|
|
19
|
-
<JAVADOC />
|
|
20
|
-
<SOURCES>
|
|
21
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.appcompat/appcompat/1.0.2/e38e7c85994112b70d4548176128c72b8477c110/appcompat-1.0.2-sources.jar!/" />
|
|
22
|
-
</SOURCES>
|
|
23
|
-
</library>
|
|
24
|
-
</component>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.arch.core:core-common:2.0.0">
|
|
3
|
-
<CLASSES>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.0.0/bb21b9a11761451b51624ac428d1f1bb5deeac38/core-common-2.0.0.jar!/" />
|
|
5
|
-
</CLASSES>
|
|
6
|
-
<JAVADOC />
|
|
7
|
-
<SOURCES>
|
|
8
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.0.0/645b95386a07be66eef0bfe7007535e3f95ec642/core-common-2.0.0-sources.jar!/" />
|
|
9
|
-
</SOURCES>
|
|
10
|
-
</library>
|
|
11
|
-
</component>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.arch.core:core-runtime:2.0.0@aar">
|
|
3
|
-
<CLASSES>
|
|
4
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/78f42912b2b79c0e9bc7b7bca72757d0/core-runtime-2.0.0/res" />
|
|
5
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/13ac818f703169862a6eb4f8a2330236/core-runtime-2.0.0/jars/classes.jar!/" />
|
|
6
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/13ac818f703169862a6eb4f8a2330236/core-runtime-2.0.0/res" />
|
|
7
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/13ac818f703169862a6eb4f8a2330236/core-runtime-2.0.0/AndroidManifest.xml" />
|
|
8
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/78f42912b2b79c0e9bc7b7bca72757d0/core-runtime-2.0.0/jars/classes.jar!/" />
|
|
9
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/78f42912b2b79c0e9bc7b7bca72757d0/core-runtime-2.0.0/AndroidManifest.xml" />
|
|
10
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/6e19ee62ee7bec0aa47a6eabe7fd4401/transformed/core-runtime-2.0.0/AndroidManifest.xml" />
|
|
11
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/6e19ee62ee7bec0aa47a6eabe7fd4401/transformed/core-runtime-2.0.0/jars/classes.jar!/" />
|
|
12
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/6e19ee62ee7bec0aa47a6eabe7fd4401/transformed/core-runtime-2.0.0/res" />
|
|
13
|
-
</CLASSES>
|
|
14
|
-
<JAVADOC />
|
|
15
|
-
<SOURCES>
|
|
16
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-runtime/2.0.0/bc41b287c95bc50a3cd27cb1b7cfb301805ba7f1/core-runtime-2.0.0-sources.jar!/" />
|
|
17
|
-
</SOURCES>
|
|
18
|
-
</library>
|
|
19
|
-
</component>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar">
|
|
3
|
-
<CLASSES>
|
|
4
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/92b3d4046ab6891d427a7838ffeb8a61/asynclayoutinflater-1.0.0/res" />
|
|
5
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eac5b230b6bbcc2d98bf57d13b74d4a5/asynclayoutinflater-1.0.0/AndroidManifest.xml" />
|
|
6
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eac5b230b6bbcc2d98bf57d13b74d4a5/asynclayoutinflater-1.0.0/jars/classes.jar!/" />
|
|
7
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eac5b230b6bbcc2d98bf57d13b74d4a5/asynclayoutinflater-1.0.0/res" />
|
|
8
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/92b3d4046ab6891d427a7838ffeb8a61/asynclayoutinflater-1.0.0/jars/classes.jar!/" />
|
|
9
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/92b3d4046ab6891d427a7838ffeb8a61/asynclayoutinflater-1.0.0/AndroidManifest.xml" />
|
|
10
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/d7ffd34e61f3accce83d49ad9a3d5849/transformed/asynclayoutinflater-1.0.0/jars/classes.jar!/" />
|
|
11
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/d7ffd34e61f3accce83d49ad9a3d5849/transformed/asynclayoutinflater-1.0.0/res" />
|
|
12
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/d7ffd34e61f3accce83d49ad9a3d5849/transformed/asynclayoutinflater-1.0.0/AndroidManifest.xml" />
|
|
13
|
-
</CLASSES>
|
|
14
|
-
<JAVADOC />
|
|
15
|
-
<SOURCES>
|
|
16
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.asynclayoutinflater/asynclayoutinflater/1.0.0/ac4d50701fce5c88dcc514f58e695cd32f05134c/asynclayoutinflater-1.0.0-sources.jar!/" />
|
|
17
|
-
</SOURCES>
|
|
18
|
-
</library>
|
|
19
|
-
</component>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.autofill:autofill:1.1.0@aar">
|
|
3
|
-
<ANNOTATIONS>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/ba7f1e1d41431ea82c6536e2535d4c52/transformed/autofill-1.1.0/annotations.zip!/" />
|
|
5
|
-
</ANNOTATIONS>
|
|
6
|
-
<CLASSES>
|
|
7
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/ba7f1e1d41431ea82c6536e2535d4c52/transformed/autofill-1.1.0/jars/classes.jar!/" />
|
|
8
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/ba7f1e1d41431ea82c6536e2535d4c52/transformed/autofill-1.1.0/res" />
|
|
9
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/ba7f1e1d41431ea82c6536e2535d4c52/transformed/autofill-1.1.0/AndroidManifest.xml" />
|
|
10
|
-
</CLASSES>
|
|
11
|
-
<JAVADOC />
|
|
12
|
-
<SOURCES>
|
|
13
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.autofill/autofill/1.1.0/78bdbf14bb97d579bf191bc0de7e969027c4375/autofill-1.1.0-sources.jar!/" />
|
|
14
|
-
</SOURCES>
|
|
15
|
-
</library>
|
|
16
|
-
</component>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.collection:collection:1.0.0">
|
|
3
|
-
<CLASSES>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.0.0/42858b26cafdaa69b6149f45dfc2894007bc2c7a/collection-1.0.0.jar!/" />
|
|
5
|
-
</CLASSES>
|
|
6
|
-
<JAVADOC />
|
|
7
|
-
<SOURCES>
|
|
8
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.0.0/b08973c283f1a0b29fce8b45a1e31e16a36611e9/collection-1.0.0-sources.jar!/" />
|
|
9
|
-
</SOURCES>
|
|
10
|
-
</library>
|
|
11
|
-
</component>
|
package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.0.0@aar">
|
|
3
|
-
<ANNOTATIONS>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/23a2cfbeb83c3313f2cbc339f2dd0113/coordinatorlayout-1.0.0/annotations.zip!/" />
|
|
5
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3e18ae5ac183200cbb707fd9dc7feed7/coordinatorlayout-1.0.0/annotations.zip!/" />
|
|
6
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/1a9423218229a6c9c4777de22c40dfd0/transformed/coordinatorlayout-1.0.0/annotations.zip!/" />
|
|
7
|
-
</ANNOTATIONS>
|
|
8
|
-
<CLASSES>
|
|
9
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/23a2cfbeb83c3313f2cbc339f2dd0113/coordinatorlayout-1.0.0/jars/classes.jar!/" />
|
|
10
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/23a2cfbeb83c3313f2cbc339f2dd0113/coordinatorlayout-1.0.0/AndroidManifest.xml" />
|
|
11
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/23a2cfbeb83c3313f2cbc339f2dd0113/coordinatorlayout-1.0.0/res" />
|
|
12
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3e18ae5ac183200cbb707fd9dc7feed7/coordinatorlayout-1.0.0/AndroidManifest.xml" />
|
|
13
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3e18ae5ac183200cbb707fd9dc7feed7/coordinatorlayout-1.0.0/jars/classes.jar!/" />
|
|
14
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3e18ae5ac183200cbb707fd9dc7feed7/coordinatorlayout-1.0.0/res" />
|
|
15
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/1a9423218229a6c9c4777de22c40dfd0/transformed/coordinatorlayout-1.0.0/jars/classes.jar!/" />
|
|
16
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/1a9423218229a6c9c4777de22c40dfd0/transformed/coordinatorlayout-1.0.0/AndroidManifest.xml" />
|
|
17
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/1a9423218229a6c9c4777de22c40dfd0/transformed/coordinatorlayout-1.0.0/res" />
|
|
18
|
-
</CLASSES>
|
|
19
|
-
<JAVADOC />
|
|
20
|
-
<SOURCES>
|
|
21
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.coordinatorlayout/coordinatorlayout/1.0.0/4325b3c4422ad58201ed8dc15ae56bda9accedf2/coordinatorlayout-1.0.0-sources.jar!/" />
|
|
22
|
-
</SOURCES>
|
|
23
|
-
</library>
|
|
24
|
-
</component>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: androidx.core:core:1.1.0@aar">
|
|
3
|
-
<ANNOTATIONS>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/6e40dce63373ef151e6a8647e850b6c8/transformed/core-1.1.0/annotations.zip!/" />
|
|
5
|
-
</ANNOTATIONS>
|
|
6
|
-
<CLASSES>
|
|
7
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/6e40dce63373ef151e6a8647e850b6c8/transformed/core-1.1.0/jars/classes.jar!/" />
|
|
8
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/6e40dce63373ef151e6a8647e850b6c8/transformed/core-1.1.0/res" />
|
|
9
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/6e40dce63373ef151e6a8647e850b6c8/transformed/core-1.1.0/AndroidManifest.xml" />
|
|
10
|
-
</CLASSES>
|
|
11
|
-
<JAVADOC />
|
|
12
|
-
<SOURCES>
|
|
13
|
-
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.core/core/1.1.0/4ae37fad1fe95b42aa47a720908df37ba5d3c85e/core-1.1.0-sources.jar!/" />
|
|
14
|
-
</SOURCES>
|
|
15
|
-
</library>
|
|
16
|
-
</component>
|