react-native-compressor 0.5.4 → 0.5.8

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.
Files changed (61) hide show
  1. package/README.md +10 -0
  2. package/android/.gradle/6.1.1/fileHashes/fileHashes.bin +0 -0
  3. package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  6. package/android/.gradle/checksums/checksums.lock +0 -0
  7. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  8. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  9. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +4 -0
  10. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +2 -0
  11. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +2 -0
  12. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +4 -0
  13. package/android/.idea/libraries/Gradle__androidx_core_core_1_0_1_aar.xml +4 -0
  14. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +2 -0
  15. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +2 -0
  16. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +2 -0
  17. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +3 -0
  18. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +3 -0
  19. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +2 -0
  20. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +2 -0
  21. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +2 -0
  22. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +2 -0
  23. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +2 -0
  24. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +2 -0
  25. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +2 -0
  26. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +2 -0
  27. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +2 -0
  28. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +3 -0
  29. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +2 -0
  30. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +3 -0
  31. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +2 -0
  32. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +2 -0
  33. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_0_0_aar.xml +2 -0
  34. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +2 -0
  35. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +3 -0
  36. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +3 -0
  37. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +3 -0
  38. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +3 -0
  39. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +3 -0
  40. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +2 -0
  41. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +2 -0
  42. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +2 -0
  43. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_63_4_aar.xml +4 -0
  44. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_9_0_aar.xml +2 -0
  45. package/android/.idea/libraries/Gradle__com_zolad_videoslimmer_1_0_0_aar.xml +15 -0
  46. package/android/.idea/libraries/Gradle__io_github_lizhangqu_coreprogress_1_0_2_aar.xml +15 -0
  47. package/android/.idea/modules/android.iml +4 -1
  48. package/android/build.gradle +1 -1
  49. package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressor.java +6 -14
  50. package/android/src/main/java/com/reactnativecompressor/Video/AutoVideoCompression/AutoVideoCompression.java +3 -2
  51. package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressorHelper.java +4 -0
  52. package/ios/Image/ImageCompressorOptions.m +1 -1
  53. package/ios/Video/VideoCompressor.swift +8 -8
  54. package/lib/commonjs/Video/index.js +6 -0
  55. package/lib/commonjs/Video/index.js.map +1 -1
  56. package/lib/module/Video/index.js +5 -0
  57. package/lib/module/Video/index.js.map +1 -1
  58. package/lib/typescript/Video/index.d.ts +3 -0
  59. package/package.json +4 -1
  60. package/src/Video/index.tsx +9 -0
  61. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_3_72.xml +0 -13
package/README.md CHANGED
@@ -1,3 +1,9 @@
1
+ ### Would you like to support me?
2
+
3
+ <a href="https://www.buymeacoffee.com/numan.dev" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a>
4
+
5
+ ---
6
+
1
7
  # react-native-compressor
2
8
 
3
9
  <!-- Title -->
@@ -204,8 +210,12 @@ const result = await Audio.compress(
204
210
  The maximum size can be height in case of portrait video or can be width in case of landscape video.
205
211
 
206
212
  - ###### `bitrate: string`
213
+
207
214
  bitrate of video which reduce or increase video size. if compressionMethod will auto then this prop will not work
208
215
 
216
+ - ###### `minimumFileSizeForCompress: number` (default: 16)
217
+ 16 means 16mb. default our package do not compress under 16mb video file. minimumFileSizeForCompress will allow us to change this 16mb offset. fixed [#26](https://github.com/Shobbak/react-native-compressor/issues/26)
218
+
209
219
  ## Audio
210
220
 
211
221
  - ###### `compress(url: string, options?: audioCompresssionType): Promise<string>`
@@ -2,11 +2,15 @@
2
2
  <library name="Gradle: androidx.appcompat:appcompat:1.0.2@aar">
3
3
  <ANNOTATIONS>
4
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!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/30dee279fe279f2d8889b10c7a04442b/appcompat-1.0.2/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/30dee279fe279f2d8889b10c7a04442b/appcompat-1.0.2/AndroidManifest.xml" />
9
10
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/30dee279fe279f2d8889b10c7a04442b/appcompat-1.0.2/jars/classes.jar!/" />
11
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0cf0ce774afedddbfc813f566e3b2f9e/appcompat-1.0.2/AndroidManifest.xml" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0cf0ce774afedddbfc813f566e3b2f9e/appcompat-1.0.2/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0cf0ce774afedddbfc813f566e3b2f9e/appcompat-1.0.2/res" />
10
14
  </CLASSES>
11
15
  <JAVADOC />
12
16
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/13ac818f703169862a6eb4f8a2330236/core-runtime-2.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/13ac818f703169862a6eb4f8a2330236/core-runtime-2.0.0/res" />
7
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" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eac5b230b6bbcc2d98bf57d13b74d4a5/asynclayoutinflater-1.0.0/AndroidManifest.xml" />
6
6
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eac5b230b6bbcc2d98bf57d13b74d4a5/asynclayoutinflater-1.0.0/jars/classes.jar!/" />
7
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" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -2,11 +2,15 @@
2
2
  <library name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.0.0@aar">
3
3
  <ANNOTATIONS>
4
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!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/23a2cfbeb83c3313f2cbc339f2dd0113/coordinatorlayout-1.0.0/jars/classes.jar!/" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/23a2cfbeb83c3313f2cbc339f2dd0113/coordinatorlayout-1.0.0/AndroidManifest.xml" />
9
10
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/23a2cfbeb83c3313f2cbc339f2dd0113/coordinatorlayout-1.0.0/res" />
11
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3e18ae5ac183200cbb707fd9dc7feed7/coordinatorlayout-1.0.0/AndroidManifest.xml" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3e18ae5ac183200cbb707fd9dc7feed7/coordinatorlayout-1.0.0/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3e18ae5ac183200cbb707fd9dc7feed7/coordinatorlayout-1.0.0/res" />
10
14
  </CLASSES>
11
15
  <JAVADOC />
12
16
  <SOURCES>
@@ -2,11 +2,15 @@
2
2
  <library name="Gradle: androidx.core:core:1.0.1@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/72e23efd7c231bfbde600330f21b626b/core-1.0.1/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f2d424e161909cc78a47bc198ec6c153/core-1.0.1/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/72e23efd7c231bfbde600330f21b626b/core-1.0.1/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/72e23efd7c231bfbde600330f21b626b/core-1.0.1/AndroidManifest.xml" />
9
10
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/72e23efd7c231bfbde600330f21b626b/core-1.0.1/jars/classes.jar!/" />
11
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f2d424e161909cc78a47bc198ec6c153/core-1.0.1/AndroidManifest.xml" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f2d424e161909cc78a47bc198ec6c153/core-1.0.1/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f2d424e161909cc78a47bc198ec6c153/core-1.0.1/res" />
10
14
  </CLASSES>
11
15
  <JAVADOC />
12
16
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/455f66d8a4676f45741b7c9d39befc12/cursoradapter-1.0.0/AndroidManifest.xml" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/455f66d8a4676f45741b7c9d39befc12/cursoradapter-1.0.0/res" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/455f66d8a4676f45741b7c9d39befc12/cursoradapter-1.0.0/jars/classes.jar!/" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8e71b8d7925aa875ad98cc4323e178d8/cursoradapter-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8e71b8d7925aa875ad98cc4323e178d8/cursoradapter-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a69cbf8fda224d472a33a3e99ce11fb9/customview-1.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a69cbf8fda224d472a33a3e99ce11fb9/customview-1.0.0/AndroidManifest.xml" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a69cbf8fda224d472a33a3e99ce11fb9/customview-1.0.0/res" />
8
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cc355c5f29b13e1180b625eb3c723040/customview-1.0.0/AndroidManifest.xml" />
9
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cc355c5f29b13e1180b625eb3c723040/customview-1.0.0/jars/classes.jar!/" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a484d9170c0e2bee37bb6f5e265bd28a/documentfile-1.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a484d9170c0e2bee37bb6f5e265bd28a/documentfile-1.0.0/AndroidManifest.xml" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a484d9170c0e2bee37bb6f5e265bd28a/documentfile-1.0.0/res" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d48a370d209fd8961e419a33870ef2d8/documentfile-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d48a370d209fd8961e419a33870ef2d8/documentfile-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: androidx.drawerlayout:drawerlayout:1.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0856edb128ce7d21fa7331e0a47b95ca/drawerlayout-1.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ba068ff035c5a3369bcc539e4c0a3983/drawerlayout-1.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ba068ff035c5a3369bcc539e4c0a3983/drawerlayout-1.0.0/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0856edb128ce7d21fa7331e0a47b95ca/drawerlayout-1.0.0/AndroidManifest.xml" />
9
10
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0856edb128ce7d21fa7331e0a47b95ca/drawerlayout-1.0.0/jars/classes.jar!/" />
10
11
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0856edb128ce7d21fa7331e0a47b95ca/drawerlayout-1.0.0/res" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ba068ff035c5a3369bcc539e4c0a3983/drawerlayout-1.0.0/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ba068ff035c5a3369bcc539e4c0a3983/drawerlayout-1.0.0/AndroidManifest.xml" />
11
14
  </CLASSES>
12
15
  <JAVADOC />
13
16
  <SOURCES>
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: androidx.fragment:fragment:1.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ef35555dfc54469bea89d7f93d320b82/fragment-1.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/95b7d3324be8892cf4e7e5d7d96de949/fragment-1.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/95b7d3324be8892cf4e7e5d7d96de949/fragment-1.0.0/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ef35555dfc54469bea89d7f93d320b82/fragment-1.0.0/AndroidManifest.xml" />
9
10
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ef35555dfc54469bea89d7f93d320b82/fragment-1.0.0/jars/classes.jar!/" />
10
11
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ef35555dfc54469bea89d7f93d320b82/fragment-1.0.0/res" />
12
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/95b7d3324be8892cf4e7e5d7d96de949/fragment-1.0.0/AndroidManifest.xml" />
13
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/95b7d3324be8892cf4e7e5d7d96de949/fragment-1.0.0/jars/classes.jar!/" />
11
14
  </CLASSES>
12
15
  <JAVADOC />
13
16
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/deb23cb00be590708b6a28513c91b60c/interpolator-1.0.0/res" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/deb23cb00be590708b6a28513c91b60c/interpolator-1.0.0/AndroidManifest.xml" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/deb23cb00be590708b6a28513c91b60c/interpolator-1.0.0/jars/classes.jar!/" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1ad003232ce20771195d3d339c6b8420/interpolator-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1ad003232ce20771195d3d339c6b8420/interpolator-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c4deaf6c6e6827ce6ef8d3976369002f/legacy-support-core-ui-1.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c4deaf6c6e6827ce6ef8d3976369002f/legacy-support-core-ui-1.0.0/res" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c4deaf6c6e6827ce6ef8d3976369002f/legacy-support-core-ui-1.0.0/AndroidManifest.xml" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/40c57f1debdd611b6cc8c537ce0d409d/legacy-support-core-ui-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/40c57f1debdd611b6cc8c537ce0d409d/legacy-support-core-ui-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b1c393c3d34a26ecdc08bd5282b1fd96/legacy-support-core-utils-1.0.0/AndroidManifest.xml" />
6
6
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b1c393c3d34a26ecdc08bd5282b1fd96/legacy-support-core-utils-1.0.0/jars/classes.jar!/" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b1c393c3d34a26ecdc08bd5282b1fd96/legacy-support-core-utils-1.0.0/res" />
8
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3d8105555c83e5f6b835b2d08d1f54c7/legacy-support-core-utils-1.0.0/AndroidManifest.xml" />
9
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/3d8105555c83e5f6b835b2d08d1f54c7/legacy-support-core-utils-1.0.0/jars/classes.jar!/" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5290999504034eda6ec752b1dfdcf8ee/lifecycle-livedata-2.0.0/res" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5290999504034eda6ec752b1dfdcf8ee/lifecycle-livedata-2.0.0/AndroidManifest.xml" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5290999504034eda6ec752b1dfdcf8ee/lifecycle-livedata-2.0.0/jars/classes.jar!/" />
8
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5ddfb8e145910ccd8c0082a842036fc4/lifecycle-livedata-2.0.0/AndroidManifest.xml" />
9
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5ddfb8e145910ccd8c0082a842036fc4/lifecycle-livedata-2.0.0/jars/classes.jar!/" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4a2649609f8a6083c580f16c1cf6d048/lifecycle-livedata-core-2.0.0/res" />
6
6
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4a2649609f8a6083c580f16c1cf6d048/lifecycle-livedata-core-2.0.0/jars/classes.jar!/" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4a2649609f8a6083c580f16c1cf6d048/lifecycle-livedata-core-2.0.0/AndroidManifest.xml" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/98c07ae8c5823fd3bdaa91112965dec8/lifecycle-livedata-core-2.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/98c07ae8c5823fd3bdaa91112965dec8/lifecycle-livedata-core-2.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/38698de6f82dd4097b0888355ea96140/lifecycle-runtime-2.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/38698de6f82dd4097b0888355ea96140/lifecycle-runtime-2.0.0/res" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/38698de6f82dd4097b0888355ea96140/lifecycle-runtime-2.0.0/AndroidManifest.xml" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bbfb1852e816c33bae0cddbf7cd8bee1/lifecycle-runtime-2.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/bbfb1852e816c33bae0cddbf7cd8bee1/lifecycle-runtime-2.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/fe07eeec58f02b904e3d557fa0de74c1/lifecycle-viewmodel-2.0.0/AndroidManifest.xml" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/fe07eeec58f02b904e3d557fa0de74c1/lifecycle-viewmodel-2.0.0/res" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/fe07eeec58f02b904e3d557fa0de74c1/lifecycle-viewmodel-2.0.0/jars/classes.jar!/" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6cc40f8c1d617ef9d9bd2a99c6d2aaab/lifecycle-viewmodel-2.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6cc40f8c1d617ef9d9bd2a99c6d2aaab/lifecycle-viewmodel-2.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4ef40dce4513ef1a23cbab4f375b7d3c/loader-1.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4ef40dce4513ef1a23cbab4f375b7d3c/loader-1.0.0/AndroidManifest.xml" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4ef40dce4513ef1a23cbab4f375b7d3c/loader-1.0.0/res" />
8
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/43a48fabb116b08b479f16b7ff36887a/loader-1.0.0/AndroidManifest.xml" />
9
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/43a48fabb116b08b479f16b7ff36887a/loader-1.0.0/jars/classes.jar!/" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2aefa5920188be99bf927f987ae73c82/localbroadcastmanager-1.0.0/AndroidManifest.xml" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2aefa5920188be99bf927f987ae73c82/localbroadcastmanager-1.0.0/res" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2aefa5920188be99bf927f987ae73c82/localbroadcastmanager-1.0.0/jars/classes.jar!/" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/85a586c95034234c16cf7743d16f1b7f/localbroadcastmanager-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/85a586c95034234c16cf7743d16f1b7f/localbroadcastmanager-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: androidx.print:print:1.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a01f7f0f31b058824949adf5eb90ac49/print-1.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/208fe0998dc053da51718d47f7f2b832/print-1.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/208fe0998dc053da51718d47f7f2b832/print-1.0.0/res" />
8
9
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a01f7f0f31b058824949adf5eb90ac49/print-1.0.0/jars/classes.jar!/" />
9
10
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a01f7f0f31b058824949adf5eb90ac49/print-1.0.0/AndroidManifest.xml" />
10
11
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a01f7f0f31b058824949adf5eb90ac49/print-1.0.0/res" />
12
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/208fe0998dc053da51718d47f7f2b832/print-1.0.0/AndroidManifest.xml" />
13
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/208fe0998dc053da51718d47f7f2b832/print-1.0.0/jars/classes.jar!/" />
11
14
  </CLASSES>
12
15
  <JAVADOC />
13
16
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e1c72884d1f49acade219b15a8242691/slidingpanelayout-1.0.0/AndroidManifest.xml" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e1c72884d1f49acade219b15a8242691/slidingpanelayout-1.0.0/res" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e1c72884d1f49acade219b15a8242691/slidingpanelayout-1.0.0/jars/classes.jar!/" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0a6fcff0a6b1b9bf9c064aa4ef204471/slidingpanelayout-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0a6fcff0a6b1b9bf9c064aa4ef204471/slidingpanelayout-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/88dfa7129881730a5c20f2147b1cdf67/swiperefreshlayout-1.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7acbad1329f8e3b6284e81b485a3cee2/swiperefreshlayout-1.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7acbad1329f8e3b6284e81b485a3cee2/swiperefreshlayout-1.0.0/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/88dfa7129881730a5c20f2147b1cdf67/swiperefreshlayout-1.0.0/res" />
9
10
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/88dfa7129881730a5c20f2147b1cdf67/swiperefreshlayout-1.0.0/jars/classes.jar!/" />
10
11
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/88dfa7129881730a5c20f2147b1cdf67/swiperefreshlayout-1.0.0/AndroidManifest.xml" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7acbad1329f8e3b6284e81b485a3cee2/swiperefreshlayout-1.0.0/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7acbad1329f8e3b6284e81b485a3cee2/swiperefreshlayout-1.0.0/AndroidManifest.xml" />
11
14
  </CLASSES>
12
15
  <JAVADOC />
13
16
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b083d375ed8810fb8230910de246bfeb/vectordrawable-1.0.1/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b083d375ed8810fb8230910de246bfeb/vectordrawable-1.0.1/AndroidManifest.xml" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b083d375ed8810fb8230910de246bfeb/vectordrawable-1.0.1/res" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8fc4b4f0d4290c21e0f3332ef7d68169/vectordrawable-1.0.1/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/8fc4b4f0d4290c21e0f3332ef7d68169/vectordrawable-1.0.1/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1ce8884f3a338c26b42abfa5d923dce1/vectordrawable-animated-1.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1ce8884f3a338c26b42abfa5d923dce1/vectordrawable-animated-1.0.0/res" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1ce8884f3a338c26b42abfa5d923dce1/vectordrawable-animated-1.0.0/AndroidManifest.xml" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ed30b55bfa77c70233a20889ea6829bc/vectordrawable-animated-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ed30b55bfa77c70233a20889ea6829bc/vectordrawable-animated-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a16d9a484107f2ef4d0239df1e640149/versionedparcelable-1.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a16d9a484107f2ef4d0239df1e640149/versionedparcelable-1.0.0/AndroidManifest.xml" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a16d9a484107f2ef4d0239df1e640149/versionedparcelable-1.0.0/res" />
8
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/18792893332f3f306e5a73b9074ea34a/versionedparcelable-1.0.0/AndroidManifest.xml" />
9
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/18792893332f3f306e5a73b9074ea34a/versionedparcelable-1.0.0/jars/classes.jar!/" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45b3c33862526d5dafb0829cc7ccb442/viewpager-1.0.0/res" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45b3c33862526d5dafb0829cc7ccb442/viewpager-1.0.0/AndroidManifest.xml" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45b3c33862526d5dafb0829cc7ccb442/viewpager-1.0.0/jars/classes.jar!/" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/31ccf9d71f7c0a2428074d63692b20e4/viewpager-1.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/31ccf9d71f7c0a2428074d63692b20e4/viewpager-1.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC />
10
12
  <SOURCES>
@@ -4,6 +4,9 @@
4
4
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f0126cdedd26dcf8a6bfc612efabe47d/drawee-2.0.0/AndroidManifest.xml" />
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f0126cdedd26dcf8a6bfc612efabe47d/drawee-2.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f0126cdedd26dcf8a6bfc612efabe47d/drawee-2.0.0/res" />
7
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/299541486cee301ca253077b5332cbf9/drawee-2.0.0/res" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/299541486cee301ca253077b5332cbf9/drawee-2.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/299541486cee301ca253077b5332cbf9/drawee-2.0.0/AndroidManifest.xml" />
7
10
  </CLASSES>
8
11
  <JAVADOC>
9
12
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/drawee/2.0.0/416ad28d3ec4edf504c4253b25dc27af1127872c/drawee-2.0.0-javadoc.jar!/" />
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: com.facebook.fresco:fbcore:2.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/292f691ae42284babe27a48e58f3c00c/fbcore-2.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a3c0183cbeee9b5239a2eb7551f165d2/fbcore-2.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a3c0183cbeee9b5239a2eb7551f165d2/fbcore-2.0.0/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/292f691ae42284babe27a48e58f3c00c/fbcore-2.0.0/AndroidManifest.xml" />
9
10
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/292f691ae42284babe27a48e58f3c00c/fbcore-2.0.0/res" />
10
11
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/292f691ae42284babe27a48e58f3c00c/fbcore-2.0.0/jars/classes.jar!/" />
12
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a3c0183cbeee9b5239a2eb7551f165d2/fbcore-2.0.0/AndroidManifest.xml" />
13
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a3c0183cbeee9b5239a2eb7551f165d2/fbcore-2.0.0/jars/classes.jar!/" />
11
14
  </CLASSES>
12
15
  <JAVADOC>
13
16
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/fbcore/2.0.0/4c3bef1ba14c0daa24d8630cdaec88fa254c8c59/fbcore-2.0.0-javadoc.jar!/" />
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: com.facebook.fresco:fresco:2.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e19af412d9647b4ca2bf0cf80c637c71/fresco-2.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eca73a6e4c7444786a4400d1f30ec5fd/fresco-2.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eca73a6e4c7444786a4400d1f30ec5fd/fresco-2.0.0/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e19af412d9647b4ca2bf0cf80c637c71/fresco-2.0.0/AndroidManifest.xml" />
9
10
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e19af412d9647b4ca2bf0cf80c637c71/fresco-2.0.0/jars/classes.jar!/" />
10
11
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/e19af412d9647b4ca2bf0cf80c637c71/fresco-2.0.0/res" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eca73a6e4c7444786a4400d1f30ec5fd/fresco-2.0.0/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eca73a6e4c7444786a4400d1f30ec5fd/fresco-2.0.0/AndroidManifest.xml" />
11
14
  </CLASSES>
12
15
  <JAVADOC>
13
16
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/fresco/2.0.0/e1bdf0d1daeed7b2af4d334ee012b81a2496ec93/fresco-2.0.0-javadoc.jar!/" />
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: com.facebook.fresco:imagepipeline:2.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f88d88a4351ad6e984156dbf06d1c270/imagepipeline-2.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c9b4bff0d747fb76678f8912f3864832/imagepipeline-2.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c9b4bff0d747fb76678f8912f3864832/imagepipeline-2.0.0/res" />
8
9
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f88d88a4351ad6e984156dbf06d1c270/imagepipeline-2.0.0/jars/classes.jar!/" />
9
10
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f88d88a4351ad6e984156dbf06d1c270/imagepipeline-2.0.0/res" />
10
11
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f88d88a4351ad6e984156dbf06d1c270/imagepipeline-2.0.0/AndroidManifest.xml" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c9b4bff0d747fb76678f8912f3864832/imagepipeline-2.0.0/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c9b4bff0d747fb76678f8912f3864832/imagepipeline-2.0.0/AndroidManifest.xml" />
11
14
  </CLASSES>
12
15
  <JAVADOC>
13
16
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/imagepipeline/2.0.0/442f3f8cfb3cf25b9d732bdc9909438d331e42ee/imagepipeline-2.0.0-javadoc.jar!/" />
@@ -2,12 +2,15 @@
2
2
  <library name="Gradle: com.facebook.fresco:imagepipeline-base:2.0.0@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/951531ca141948cab661dea034a18fce/imagepipeline-base-2.0.0/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7b737ac968ad9ba7b4aa970eb7d49633/imagepipeline-base-2.0.0/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7b737ac968ad9ba7b4aa970eb7d49633/imagepipeline-base-2.0.0/res" />
8
9
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/951531ca141948cab661dea034a18fce/imagepipeline-base-2.0.0/AndroidManifest.xml" />
9
10
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/951531ca141948cab661dea034a18fce/imagepipeline-base-2.0.0/res" />
10
11
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/951531ca141948cab661dea034a18fce/imagepipeline-base-2.0.0/jars/classes.jar!/" />
12
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7b737ac968ad9ba7b4aa970eb7d49633/imagepipeline-base-2.0.0/AndroidManifest.xml" />
13
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7b737ac968ad9ba7b4aa970eb7d49633/imagepipeline-base-2.0.0/jars/classes.jar!/" />
11
14
  </CLASSES>
12
15
  <JAVADOC>
13
16
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/imagepipeline-base/2.0.0/60d71c13d0480ff70049e33f2f80a31e37b7ad33/imagepipeline-base-2.0.0-javadoc.jar!/" />
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7f867d7e2150971d35084b19d5208fb7/imagepipeline-okhttp3-2.0.0/AndroidManifest.xml" />
6
6
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7f867d7e2150971d35084b19d5208fb7/imagepipeline-okhttp3-2.0.0/jars/classes.jar!/" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/7f867d7e2150971d35084b19d5208fb7/imagepipeline-okhttp3-2.0.0/res" />
8
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4c332d0430f3597030b6eb4d20570337/imagepipeline-okhttp3-2.0.0/AndroidManifest.xml" />
9
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4c332d0430f3597030b6eb4d20570337/imagepipeline-okhttp3-2.0.0/jars/classes.jar!/" />
8
10
  </CLASSES>
9
11
  <JAVADOC>
10
12
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/imagepipeline-okhttp3/2.0.0/20fd5913ad52abdc7dc623f44f15d6322308aa27/imagepipeline-okhttp3-2.0.0-javadoc.jar!/" />
@@ -5,6 +5,8 @@
5
5
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ea5da0002745a56240460b60b5c74acc/nativeimagefilters-2.0.0/res" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ea5da0002745a56240460b60b5c74acc/nativeimagefilters-2.0.0/AndroidManifest.xml" />
7
7
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ea5da0002745a56240460b60b5c74acc/nativeimagefilters-2.0.0/jars/classes.jar!/" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f03dd70f382cd1e95d131946912335a8/nativeimagefilters-2.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/f03dd70f382cd1e95d131946912335a8/nativeimagefilters-2.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC>
10
12
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/nativeimagefilters/2.0.0/d93e5dbc624981fa073a533b59a2ae74a85bfcf4/nativeimagefilters-2.0.0-javadoc.jar!/" />
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0a122f770901f1422a5c05628aab3791/nativeimagetranscoder-2.0.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0a122f770901f1422a5c05628aab3791/nativeimagetranscoder-2.0.0/res" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0a122f770901f1422a5c05628aab3791/nativeimagetranscoder-2.0.0/AndroidManifest.xml" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9aa375a32a7e1e6e8e6413a88464531d/nativeimagetranscoder-2.0.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9aa375a32a7e1e6e8e6413a88464531d/nativeimagetranscoder-2.0.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC>
10
12
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fresco/nativeimagetranscoder/2.0.0/932ea9d534186b04741da83dfd2a084858b387c3/nativeimagetranscoder-2.0.0-javadoc.jar!/" />
@@ -2,11 +2,15 @@
2
2
  <library name="Gradle: com.facebook.react:react-native:0.63.4@aar">
3
3
  <ANNOTATIONS>
4
4
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/abc432e583b3a6e5bdd14698c4f0a17f/react-native-0.63.4/annotations.zip!/" />
5
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4e20e445de3f6bcd24b2b4d6c8b02996/react-native-0.63.4/annotations.zip!/" />
5
6
  </ANNOTATIONS>
6
7
  <CLASSES>
7
8
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/abc432e583b3a6e5bdd14698c4f0a17f/react-native-0.63.4/AndroidManifest.xml" />
8
9
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/abc432e583b3a6e5bdd14698c4f0a17f/react-native-0.63.4/jars/classes.jar!/" />
9
10
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/abc432e583b3a6e5bdd14698c4f0a17f/react-native-0.63.4/res" />
11
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4e20e445de3f6bcd24b2b4d6c8b02996/react-native-0.63.4/AndroidManifest.xml" />
12
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4e20e445de3f6bcd24b2b4d6c8b02996/react-native-0.63.4/jars/classes.jar!/" />
13
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4e20e445de3f6bcd24b2b4d6c8b02996/react-native-0.63.4/res" />
10
14
  </CLASSES>
11
15
  <JAVADOC>
12
16
  <root url="jar://$PROJECT_DIR$/../node_modules/react-native/android/com/facebook/react/react-native/0.63.4/react-native-0.63.4-javadoc.jar!/" />
@@ -5,6 +5,8 @@
5
5
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/fdc95fdccd5ee230ffcfa94a6635f56a/soloader-0.9.0/jars/classes.jar!/" />
6
6
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/fdc95fdccd5ee230ffcfa94a6635f56a/soloader-0.9.0/AndroidManifest.xml" />
7
7
  <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/fdc95fdccd5ee230ffcfa94a6635f56a/soloader-0.9.0/res" />
8
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ff223f3be65f2ca41d532d5fa42c51d2/soloader-0.9.0/jars/classes.jar!/" />
9
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ff223f3be65f2ca41d532d5fa42c51d2/soloader-0.9.0/AndroidManifest.xml" />
8
10
  </CLASSES>
9
11
  <JAVADOC>
10
12
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.soloader/soloader/0.9.0/8659e7a24dd13aa0bac0c3fb4142202c950580a4/soloader-0.9.0-javadoc.jar!/" />
@@ -0,0 +1,15 @@
1
+ <component name="libraryTable">
2
+ <library name="Gradle: com.zolad:videoslimmer:1.0.0@aar">
3
+ <CLASSES>
4
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d9e2814e0f4c00ee64e6bad35a30283f/videoslimmer-1.0.0/jars/classes.jar!/" />
5
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d9e2814e0f4c00ee64e6bad35a30283f/videoslimmer-1.0.0/res" />
6
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d9e2814e0f4c00ee64e6bad35a30283f/videoslimmer-1.0.0/AndroidManifest.xml" />
7
+ </CLASSES>
8
+ <JAVADOC>
9
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.zolad/videoslimmer/1.0.0/8b014be459fc73bbd6753f248d943ca887a82a15/videoslimmer-1.0.0-javadoc.jar!/" />
10
+ </JAVADOC>
11
+ <SOURCES>
12
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.zolad/videoslimmer/1.0.0/268e6c5fcc165a6a2f8bbe8d5512d787e23e883b/videoslimmer-1.0.0-sources.jar!/" />
13
+ </SOURCES>
14
+ </library>
15
+ </component>
@@ -0,0 +1,15 @@
1
+ <component name="libraryTable">
2
+ <library name="Gradle: io.github.lizhangqu:coreprogress:1.0.2@aar">
3
+ <CLASSES>
4
+ <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4c3b8120ef2dad5597686d89ca71f900/coreprogress-1.0.2/jars/classes.jar!/" />
5
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4c3b8120ef2dad5597686d89ca71f900/coreprogress-1.0.2/res" />
6
+ <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4c3b8120ef2dad5597686d89ca71f900/coreprogress-1.0.2/AndroidManifest.xml" />
7
+ </CLASSES>
8
+ <JAVADOC>
9
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.github.lizhangqu/coreprogress/1.0.2/af0a1312973cb9277e29bc36d0511c0c86081b24/coreprogress-1.0.2-javadoc.jar!/" />
10
+ </JAVADOC>
11
+ <SOURCES>
12
+ <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.github.lizhangqu/coreprogress/1.0.2/91e70ca471dac9479021f916a57703d77be909a5/coreprogress-1.0.2-sources.jar!/" />
13
+ </SOURCES>
14
+ </library>
15
+ </component>
@@ -36,6 +36,7 @@
36
36
  <option name="noStdlib" value="true" />
37
37
  <option name="noReflect" value="true" />
38
38
  <option name="moduleName" value="android_debug" />
39
+ <option name="jvmTarget" value="1.6" />
39
40
  <option name="languageVersion" value="1.3" />
40
41
  <option name="apiVersion" value="1.3" />
41
42
  <option name="pluginOptions">
@@ -60,6 +61,7 @@
60
61
  <sourceFolder url="file://$MODULE_DIR$/../../build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
61
62
  <sourceFolder url="file://$MODULE_DIR$/../../build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
62
63
  <sourceFolder url="file://$MODULE_DIR$/../../build/generated/res/resValues/debug" type="java-resource" />
64
+ <sourceFolder url="file://$MODULE_DIR$/../../src/main/res" type="java-resource" />
63
65
  <excludeFolder url="file://$MODULE_DIR$/../../.gradle" />
64
66
  <excludeFolder url="file://$MODULE_DIR$/../../build" />
65
67
  </content>
@@ -81,7 +83,6 @@
81
83
  <orderEntry type="library" name="Gradle: com.facebook.fbjni:fbjni-java-only:0.0.3" level="project" />
82
84
  <orderEntry type="library" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.0" level="project" />
83
85
  <orderEntry type="library" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.4.0" level="project" />
84
- <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72" level="project" />
85
86
  <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.4.0" level="project" />
86
87
  <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.4.0" level="project" />
87
88
  <orderEntry type="library" name="Gradle: org.jetbrains:annotations:13.0" level="project" />
@@ -123,5 +124,7 @@
123
124
  <orderEntry type="library" name="Gradle: com.facebook.fresco:nativeimagefilters:2.0.0@aar" level="project" />
124
125
  <orderEntry type="library" name="Gradle: com.facebook.fresco:nativeimagetranscoder:2.0.0@aar" level="project" />
125
126
  <orderEntry type="library" name="Gradle: com.facebook.fresco:imagepipeline-okhttp3:2.0.0@aar" level="project" />
127
+ <orderEntry type="library" name="Gradle: io.github.lizhangqu:coreprogress:1.0.2@aar" level="project" />
128
+ <orderEntry type="library" name="Gradle: com.zolad:videoslimmer:1.0.0@aar" level="project" />
126
129
  </component>
127
130
  </module>
@@ -58,6 +58,6 @@ dependencies {
58
58
  implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.0"
59
59
  implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.0"
60
60
  implementation "com.googlecode.mp4parser:isoparser:1.0.6"
61
- implementation 'com.zolad:videoslimmer:1.0.0'
61
+ implementation 'com.github.zolad:VideoSlimmer:master-SNAPSHOT'
62
62
  implementation 'io.github.lizhangqu:coreprogress:1.0.2'
63
63
  }
@@ -66,7 +66,7 @@ public class ImageCompressor {
66
66
 
67
67
 
68
68
 
69
- public static String encodeImage(ByteArrayOutputStream imageDataByteArrayOutputStream, Boolean isBase64, Bitmap bitmapImage,String outputExtension, ReactApplicationContext reactContext) {
69
+ public static String encodeImage(ByteArrayOutputStream imageDataByteArrayOutputStream, Boolean isBase64,String outputExtension, ReactApplicationContext reactContext) {
70
70
  if(isBase64)
71
71
  {
72
72
  byte[] imageData=imageDataByteArrayOutputStream.toByteArray();
@@ -124,16 +124,16 @@ public class ImageCompressor {
124
124
  final ByteArrayOutputStream imageDataByteArrayOutputStream = ImageCompressor.compress(resizedImage, options.output, options.quality);
125
125
  Boolean isBase64=options.returnableOutputType==ImageCompressorOptions.ReturnableOutputType.base64;
126
126
 
127
- String returnableResult = ImageCompressor.encodeImage(imageDataByteArrayOutputStream,isBase64,image,options.output.toString(),reactContext);
127
+ String returnableResult = ImageCompressor.encodeImage(imageDataByteArrayOutputStream,isBase64,options.output.toString(),reactContext);
128
128
  return returnableResult;
129
129
  }
130
130
 
131
131
 
132
132
  public static String autoCompressImage(String imagePath,ImageCompressorOptions compressorOptions, ReactApplicationContext reactContext) {
133
133
  String outputExtension=compressorOptions.output.toString();
134
- int quality= (int) (compressorOptions.quality*100);
135
134
  float autoCompressMaxHeight = compressorOptions.maxHeight;
136
135
  float autoCompressMaxWidth = compressorOptions.maxWidth;
136
+ Boolean isBase64=compressorOptions.returnableOutputType==ImageCompressorOptions.ReturnableOutputType.base64;
137
137
 
138
138
  Uri uri= Uri.parse(imagePath);
139
139
  imagePath = uri.getPath();
@@ -217,18 +217,10 @@ public class ImageCompressor {
217
217
  } catch (IOException e) {
218
218
  e.printStackTrace();
219
219
  }
220
- FileOutputStream out = null;
221
- String filepath = generateCacheFilePath(outputExtension,reactContext);;
222
- try {
223
- out = new FileOutputStream(filepath);
224
-
225
- //write the compressed bitmap at the destination specified by filename.
226
- scaledBitmap.compress(Bitmap.CompressFormat.JPEG, quality, out);
227
220
 
228
- } catch (FileNotFoundException e) {
229
- e.printStackTrace();
230
- }
231
- return getRNFileUrl(filepath);
221
+ final ByteArrayOutputStream imageDataByteArrayOutputStream = ImageCompressor.compress(scaledBitmap, compressorOptions.output, compressorOptions.quality);
222
+ String returnableResult = ImageCompressor.encodeImage(imageDataByteArrayOutputStream,isBase64,compressorOptions.output.toString(),reactContext);
223
+ return returnableResult;
232
224
  }
233
225
 
234
226
  public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {
@@ -26,7 +26,8 @@ public class AutoVideoCompression {
26
26
  static int currentVideoCompression=0;
27
27
 
28
28
  public static void createCompressionSettings(String fileUrl,VideoCompressorHelper options,Promise promise, ReactApplicationContext reactContext) {
29
- float maxSize = options.maxSize;;
29
+ float maxSize = options.maxSize;
30
+ float minimumFileSizeForCompress=options.minimumFileSizeForCompress;
30
31
  try{
31
32
  Uri uri= Uri.parse(fileUrl);
32
33
  String srcPath = uri.getPath();
@@ -35,7 +36,7 @@ public class AutoVideoCompression {
35
36
  File file=new File(srcPath);
36
37
  float sizeInBytes = file.length();
37
38
  float sizeInMb = sizeInBytes / (1024 * 1024);
38
- if(sizeInMb>16)
39
+ if(sizeInMb>minimumFileSizeForCompress)
39
40
  {
40
41
  String destinationPath = generateCacheFilePath("mp4", reactContext);
41
42
  int actualHeight =Integer.parseInt(metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT));
@@ -102,6 +102,7 @@ public class VideoCompressorHelper {
102
102
  public float bitrate = 0;
103
103
  public String uuid = "";
104
104
  public float maxSize = 640.0f;
105
+ public float minimumFileSizeForCompress = 16.0f;
105
106
 
106
107
  public static VideoCompressorHelper fromMap(ReadableMap map) {
107
108
  final VideoCompressorHelper options = new VideoCompressorHelper();
@@ -120,6 +121,9 @@ public class VideoCompressorHelper {
120
121
  case "uuid":
121
122
  options.uuid = map.getString(key);
122
123
  break;
124
+ case "minimumFileSizeForCompress":
125
+ options.minimumFileSizeForCompress =(float) map.getDouble(key);
126
+ break;
123
127
 
124
128
  }
125
129
  }
@@ -52,7 +52,7 @@
52
52
  self.autoCompress = false;
53
53
  self.maxWidth = 1280;
54
54
  self.maxHeight = 1280;
55
- self.quality = 1.0f;
55
+ self.quality = 0.8f;
56
56
  self.input = uri;
57
57
  self.output = jpg;
58
58
  self.returnableOutputType = uri;
@@ -199,10 +199,13 @@ func makeValidUri(filePath: String) -> String {
199
199
 
200
200
 
201
201
  func compressVideo(url: URL, options: [String: Any], onProgress: @escaping (Float) -> Void, onCompletion: @escaping (URL) -> Void, onFailure: @escaping (Error) -> Void){
202
-
202
+ var minimumFileSizeForCompress:Double=16.0;
203
203
  let fileSize=self.getfileSize(forURL: url);
204
-
205
- if(fileSize>16)
204
+ if((options["minimumFileSizeForCompress"]) != nil)
205
+ {
206
+ minimumFileSizeForCompress=options["minimumFileSizeForCompress"] as! Double;
207
+ }
208
+ if(fileSize>minimumFileSizeForCompress)
206
209
  {
207
210
  if(options["compressionMethod"] as! String=="auto")
208
211
  {
@@ -242,8 +245,8 @@ func makeValidUri(filePath: String) -> String {
242
245
  let compressFactor:Float = 0.8
243
246
  let minCompressFactor:Float = 0.8
244
247
  let maxBitrate:Int = 1669000
245
-
246
- var remeasuredBitrate:Int = originalBitrate / (min(originalHeight/height,originalWidth/width))
248
+ let minValue:Float=min(Float(originalHeight)/Float(height),Float(originalWidth)/Float(width))
249
+ var remeasuredBitrate:Int = Int(Float(originalBitrate) / minValue)
247
250
  remeasuredBitrate = remeasuredBitrate*Int(compressFactor)
248
251
  let minBitrate:Int = self.getVideoBitrateWithFactor(f: minCompressFactor) / (1280 * 720 / (width * height))
249
252
  if (originalBitrate < minBitrate) {
@@ -379,14 +382,11 @@ func makeValidUri(filePath: String) -> String {
379
382
  onCompletion(exporter.outputURL!)
380
383
  break
381
384
  default:
382
- // let error = CompressionError(message: "Compression didn't complete")
383
- // onFailure(error)
384
385
  onCompletion(url)
385
386
  break
386
387
  }
387
388
  break
388
389
  case .failure(let error):
389
- // onFailure(error)
390
390
  onCompletion(url)
391
391
  break
392
392
  }
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
 
8
8
  var _reactNative = require("react-native");
9
9
 
10
+ require("react-native-get-random-values");
11
+
10
12
  var _uuid = require("uuid");
11
13
 
12
14
  const VideoCompressEventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.VideoCompressor);
@@ -42,6 +44,10 @@ const Video = {
42
44
  modifiedOptions.maxSize = 640;
43
45
  }
44
46
 
47
+ if (options !== null && options !== void 0 && options.minimumFileSizeForCompress) {
48
+ modifiedOptions.minimumFileSizeForCompress = options === null || options === void 0 ? void 0 : options.minimumFileSizeForCompress;
49
+ }
50
+
45
51
  const result = await NativeVideoCompressor.compress(fileUrl, modifiedOptions);
46
52
  return result;
47
53
  } finally {
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["VideoCompressEventEmitter","NativeEventEmitter","NativeModules","VideoCompressor","NativeVideoCompressor","Video","compress","fileUrl","options","onProgress","uuid","subscription","addListener","event","data","progress","modifiedOptions","bitrate","compressionMethod","maxSize","result","removeSubscription","backgroundUpload","url","written","total","Platform","OS","includes","replace","upload","method","httpMethod","headers","activateBackgroundTask","onExpired","deactivateBackgroundTask","removeAllListeners"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport declare enum FileSystemUploadType {\n BINARY_CONTENT = 0,\n MULTIPART = 1,\n}\n\nexport declare type FileSystemAcceptedUploadHttpMethod =\n | 'POST'\n | 'PUT'\n | 'PATCH';\nexport type compressionMethod = 'auto' | 'manual';\ntype videoCompresssionType = {\n bitrate?: number;\n compressionMethod?: compressionMethod;\n};\n\nexport declare enum FileSystemSessionType {\n BACKGROUND = 0,\n FOREGROUND = 1,\n}\n\nexport declare type HTTPResponse = {\n status: number;\n headers: Record<string, string>;\n body: string;\n};\n\nexport declare type FileSystemUploadOptions = (\n | {\n uploadType?: FileSystemUploadType.BINARY_CONTENT;\n }\n | {\n uploadType: FileSystemUploadType.MULTIPART;\n fieldName?: string;\n mimeType?: string;\n parameters?: Record<string, string>;\n }\n) & {\n headers?: Record<string, string>;\n httpMethod?: FileSystemAcceptedUploadHttpMethod;\n sessionType?: FileSystemSessionType;\n};\n\nexport type VideoCompressorType = {\n compress(\n fileUrl: string,\n options?: videoCompresssionType,\n onProgress?: (progress: number) => void\n ): Promise<string>;\n backgroundUpload(\n url: string,\n fileUrl: string,\n options: FileSystemUploadOptions,\n onProgress?: (writtem: number, total: number) => void\n ): Promise<any>;\n activateBackgroundTask(onExpired?: (data: any) => void): Promise<any>;\n deactivateBackgroundTask(): Promise<any>;\n};\n\nconst VideoCompressEventEmitter = new NativeEventEmitter(\n NativeModules.VideoCompressor\n);\n\nconst NativeVideoCompressor = NativeModules.VideoCompressor;\n\nconst Video: VideoCompressorType = {\n compress: async (\n fileUrl: string,\n options?: {\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n },\n onProgress?: (progress: number) => void\n ) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'videoCompressProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.progress);\n }\n }\n );\n }\n const modifiedOptions: {\n uuid: string;\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n } = { uuid };\n if (options?.bitrate) modifiedOptions.bitrate = options?.bitrate;\n if (options?.compressionMethod) {\n modifiedOptions.compressionMethod = options?.compressionMethod;\n } else {\n modifiedOptions.compressionMethod = 'manual';\n }\n if (options?.maxSize) {\n modifiedOptions.maxSize = options?.maxSize;\n } else {\n modifiedOptions.maxSize = 640;\n }\n const result = await NativeVideoCompressor.compress(\n fileUrl,\n modifiedOptions\n );\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n backgroundUpload: async (url, fileUrl, options, onProgress) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'VideoCompressorProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.written, event.data.total);\n }\n }\n );\n }\n if (Platform.OS === 'android' && fileUrl.includes('file://')) {\n fileUrl = fileUrl.replace('file://', '');\n }\n const result = await NativeVideoCompressor.upload(fileUrl, {\n uuid,\n method: options.httpMethod,\n headers: options.headers,\n url,\n });\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n activateBackgroundTask(onExpired?) {\n if (onExpired) {\n const subscription = VideoCompressEventEmitter.addListener(\n 'backgroundTaskExpired',\n (event: any) => {\n onExpired(event);\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n );\n }\n return NativeVideoCompressor.activateBackgroundTask({});\n },\n deactivateBackgroundTask() {\n VideoCompressEventEmitter.removeAllListeners('backgroundTaskExpired');\n return NativeVideoCompressor.deactivateBackgroundTask({});\n },\n} as VideoCompressorType;\n\nexport default Video;\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["VideoCompressEventEmitter","NativeEventEmitter","NativeModules","VideoCompressor","NativeVideoCompressor","Video","compress","fileUrl","options","onProgress","uuid","subscription","addListener","event","data","progress","modifiedOptions","bitrate","compressionMethod","maxSize","minimumFileSizeForCompress","result","removeSubscription","backgroundUpload","url","written","total","Platform","OS","includes","replace","upload","method","httpMethod","headers","activateBackgroundTask","onExpired","deactivateBackgroundTask","removeAllListeners"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport declare enum FileSystemUploadType {\n BINARY_CONTENT = 0,\n MULTIPART = 1,\n}\n\nexport declare type FileSystemAcceptedUploadHttpMethod =\n | 'POST'\n | 'PUT'\n | 'PATCH';\nexport type compressionMethod = 'auto' | 'manual';\ntype videoCompresssionType = {\n bitrate?: number;\n maxSize?: number;\n compressionMethod?: compressionMethod;\n minimumFileSizeForCompress?: number;\n};\n\nexport declare enum FileSystemSessionType {\n BACKGROUND = 0,\n FOREGROUND = 1,\n}\n\nexport declare type HTTPResponse = {\n status: number;\n headers: Record<string, string>;\n body: string;\n};\n\nexport declare type FileSystemUploadOptions = (\n | {\n uploadType?: FileSystemUploadType.BINARY_CONTENT;\n }\n | {\n uploadType: FileSystemUploadType.MULTIPART;\n fieldName?: string;\n mimeType?: string;\n parameters?: Record<string, string>;\n }\n) & {\n headers?: Record<string, string>;\n httpMethod?: FileSystemAcceptedUploadHttpMethod;\n sessionType?: FileSystemSessionType;\n};\n\nexport type VideoCompressorType = {\n compress(\n fileUrl: string,\n options?: videoCompresssionType,\n onProgress?: (progress: number) => void\n ): Promise<string>;\n backgroundUpload(\n url: string,\n fileUrl: string,\n options: FileSystemUploadOptions,\n onProgress?: (writtem: number, total: number) => void\n ): Promise<any>;\n activateBackgroundTask(onExpired?: (data: any) => void): Promise<any>;\n deactivateBackgroundTask(): Promise<any>;\n};\n\nconst VideoCompressEventEmitter = new NativeEventEmitter(\n NativeModules.VideoCompressor\n);\n\nconst NativeVideoCompressor = NativeModules.VideoCompressor;\n\nconst Video: VideoCompressorType = {\n compress: async (\n fileUrl: string,\n options?: {\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n minimumFileSizeForCompress?: number;\n },\n onProgress?: (progress: number) => void\n ) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'videoCompressProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.progress);\n }\n }\n );\n }\n const modifiedOptions: {\n uuid: string;\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n minimumFileSizeForCompress?: number;\n } = { uuid };\n if (options?.bitrate) modifiedOptions.bitrate = options?.bitrate;\n if (options?.compressionMethod) {\n modifiedOptions.compressionMethod = options?.compressionMethod;\n } else {\n modifiedOptions.compressionMethod = 'manual';\n }\n if (options?.maxSize) {\n modifiedOptions.maxSize = options?.maxSize;\n } else {\n modifiedOptions.maxSize = 640;\n }\n if (options?.minimumFileSizeForCompress) {\n modifiedOptions.minimumFileSizeForCompress =\n options?.minimumFileSizeForCompress;\n }\n const result = await NativeVideoCompressor.compress(\n fileUrl,\n modifiedOptions\n );\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n backgroundUpload: async (url, fileUrl, options, onProgress) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'VideoCompressorProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.written, event.data.total);\n }\n }\n );\n }\n if (Platform.OS === 'android' && fileUrl.includes('file://')) {\n fileUrl = fileUrl.replace('file://', '');\n }\n const result = await NativeVideoCompressor.upload(fileUrl, {\n uuid,\n method: options.httpMethod,\n headers: options.headers,\n url,\n });\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n activateBackgroundTask(onExpired?) {\n if (onExpired) {\n const subscription = VideoCompressEventEmitter.addListener(\n 'backgroundTaskExpired',\n (event: any) => {\n onExpired(event);\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n );\n }\n return NativeVideoCompressor.activateBackgroundTask({});\n },\n deactivateBackgroundTask() {\n VideoCompressEventEmitter.removeAllListeners('backgroundTaskExpired');\n return NativeVideoCompressor.deactivateBackgroundTask({});\n },\n} as VideoCompressorType;\n\nexport default Video;\n"]}
@@ -1,4 +1,5 @@
1
1
  import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
2
+ import 'react-native-get-random-values';
2
3
  import { v4 as uuidv4 } from 'uuid';
3
4
  const VideoCompressEventEmitter = new NativeEventEmitter(NativeModules.VideoCompressor);
4
5
  const NativeVideoCompressor = NativeModules.VideoCompressor;
@@ -33,6 +34,10 @@ const Video = {
33
34
  modifiedOptions.maxSize = 640;
34
35
  }
35
36
 
37
+ if (options !== null && options !== void 0 && options.minimumFileSizeForCompress) {
38
+ modifiedOptions.minimumFileSizeForCompress = options === null || options === void 0 ? void 0 : options.minimumFileSizeForCompress;
39
+ }
40
+
36
41
  const result = await NativeVideoCompressor.compress(fileUrl, modifiedOptions);
37
42
  return result;
38
43
  } finally {
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["NativeModules","NativeEventEmitter","Platform","v4","uuidv4","VideoCompressEventEmitter","VideoCompressor","NativeVideoCompressor","Video","compress","fileUrl","options","onProgress","uuid","subscription","addListener","event","data","progress","modifiedOptions","bitrate","compressionMethod","maxSize","result","removeSubscription","backgroundUpload","url","written","total","OS","includes","replace","upload","method","httpMethod","headers","activateBackgroundTask","onExpired","deactivateBackgroundTask","removeAllListeners"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport declare enum FileSystemUploadType {\n BINARY_CONTENT = 0,\n MULTIPART = 1,\n}\n\nexport declare type FileSystemAcceptedUploadHttpMethod =\n | 'POST'\n | 'PUT'\n | 'PATCH';\nexport type compressionMethod = 'auto' | 'manual';\ntype videoCompresssionType = {\n bitrate?: number;\n compressionMethod?: compressionMethod;\n};\n\nexport declare enum FileSystemSessionType {\n BACKGROUND = 0,\n FOREGROUND = 1,\n}\n\nexport declare type HTTPResponse = {\n status: number;\n headers: Record<string, string>;\n body: string;\n};\n\nexport declare type FileSystemUploadOptions = (\n | {\n uploadType?: FileSystemUploadType.BINARY_CONTENT;\n }\n | {\n uploadType: FileSystemUploadType.MULTIPART;\n fieldName?: string;\n mimeType?: string;\n parameters?: Record<string, string>;\n }\n) & {\n headers?: Record<string, string>;\n httpMethod?: FileSystemAcceptedUploadHttpMethod;\n sessionType?: FileSystemSessionType;\n};\n\nexport type VideoCompressorType = {\n compress(\n fileUrl: string,\n options?: videoCompresssionType,\n onProgress?: (progress: number) => void\n ): Promise<string>;\n backgroundUpload(\n url: string,\n fileUrl: string,\n options: FileSystemUploadOptions,\n onProgress?: (writtem: number, total: number) => void\n ): Promise<any>;\n activateBackgroundTask(onExpired?: (data: any) => void): Promise<any>;\n deactivateBackgroundTask(): Promise<any>;\n};\n\nconst VideoCompressEventEmitter = new NativeEventEmitter(\n NativeModules.VideoCompressor\n);\n\nconst NativeVideoCompressor = NativeModules.VideoCompressor;\n\nconst Video: VideoCompressorType = {\n compress: async (\n fileUrl: string,\n options?: {\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n },\n onProgress?: (progress: number) => void\n ) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'videoCompressProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.progress);\n }\n }\n );\n }\n const modifiedOptions: {\n uuid: string;\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n } = { uuid };\n if (options?.bitrate) modifiedOptions.bitrate = options?.bitrate;\n if (options?.compressionMethod) {\n modifiedOptions.compressionMethod = options?.compressionMethod;\n } else {\n modifiedOptions.compressionMethod = 'manual';\n }\n if (options?.maxSize) {\n modifiedOptions.maxSize = options?.maxSize;\n } else {\n modifiedOptions.maxSize = 640;\n }\n const result = await NativeVideoCompressor.compress(\n fileUrl,\n modifiedOptions\n );\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n backgroundUpload: async (url, fileUrl, options, onProgress) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'VideoCompressorProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.written, event.data.total);\n }\n }\n );\n }\n if (Platform.OS === 'android' && fileUrl.includes('file://')) {\n fileUrl = fileUrl.replace('file://', '');\n }\n const result = await NativeVideoCompressor.upload(fileUrl, {\n uuid,\n method: options.httpMethod,\n headers: options.headers,\n url,\n });\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n activateBackgroundTask(onExpired?) {\n if (onExpired) {\n const subscription = VideoCompressEventEmitter.addListener(\n 'backgroundTaskExpired',\n (event: any) => {\n onExpired(event);\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n );\n }\n return NativeVideoCompressor.activateBackgroundTask({});\n },\n deactivateBackgroundTask() {\n VideoCompressEventEmitter.removeAllListeners('backgroundTaskExpired');\n return NativeVideoCompressor.deactivateBackgroundTask({});\n },\n} as VideoCompressorType;\n\nexport default Video;\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["NativeModules","NativeEventEmitter","Platform","v4","uuidv4","VideoCompressEventEmitter","VideoCompressor","NativeVideoCompressor","Video","compress","fileUrl","options","onProgress","uuid","subscription","addListener","event","data","progress","modifiedOptions","bitrate","compressionMethod","maxSize","minimumFileSizeForCompress","result","removeSubscription","backgroundUpload","url","written","total","OS","includes","replace","upload","method","httpMethod","headers","activateBackgroundTask","onExpired","deactivateBackgroundTask","removeAllListeners"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport 'react-native-get-random-values';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport declare enum FileSystemUploadType {\n BINARY_CONTENT = 0,\n MULTIPART = 1,\n}\n\nexport declare type FileSystemAcceptedUploadHttpMethod =\n | 'POST'\n | 'PUT'\n | 'PATCH';\nexport type compressionMethod = 'auto' | 'manual';\ntype videoCompresssionType = {\n bitrate?: number;\n maxSize?: number;\n compressionMethod?: compressionMethod;\n minimumFileSizeForCompress?: number;\n};\n\nexport declare enum FileSystemSessionType {\n BACKGROUND = 0,\n FOREGROUND = 1,\n}\n\nexport declare type HTTPResponse = {\n status: number;\n headers: Record<string, string>;\n body: string;\n};\n\nexport declare type FileSystemUploadOptions = (\n | {\n uploadType?: FileSystemUploadType.BINARY_CONTENT;\n }\n | {\n uploadType: FileSystemUploadType.MULTIPART;\n fieldName?: string;\n mimeType?: string;\n parameters?: Record<string, string>;\n }\n) & {\n headers?: Record<string, string>;\n httpMethod?: FileSystemAcceptedUploadHttpMethod;\n sessionType?: FileSystemSessionType;\n};\n\nexport type VideoCompressorType = {\n compress(\n fileUrl: string,\n options?: videoCompresssionType,\n onProgress?: (progress: number) => void\n ): Promise<string>;\n backgroundUpload(\n url: string,\n fileUrl: string,\n options: FileSystemUploadOptions,\n onProgress?: (writtem: number, total: number) => void\n ): Promise<any>;\n activateBackgroundTask(onExpired?: (data: any) => void): Promise<any>;\n deactivateBackgroundTask(): Promise<any>;\n};\n\nconst VideoCompressEventEmitter = new NativeEventEmitter(\n NativeModules.VideoCompressor\n);\n\nconst NativeVideoCompressor = NativeModules.VideoCompressor;\n\nconst Video: VideoCompressorType = {\n compress: async (\n fileUrl: string,\n options?: {\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n minimumFileSizeForCompress?: number;\n },\n onProgress?: (progress: number) => void\n ) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'videoCompressProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.progress);\n }\n }\n );\n }\n const modifiedOptions: {\n uuid: string;\n bitrate?: number;\n compressionMethod?: compressionMethod;\n maxSize?: number;\n minimumFileSizeForCompress?: number;\n } = { uuid };\n if (options?.bitrate) modifiedOptions.bitrate = options?.bitrate;\n if (options?.compressionMethod) {\n modifiedOptions.compressionMethod = options?.compressionMethod;\n } else {\n modifiedOptions.compressionMethod = 'manual';\n }\n if (options?.maxSize) {\n modifiedOptions.maxSize = options?.maxSize;\n } else {\n modifiedOptions.maxSize = 640;\n }\n if (options?.minimumFileSizeForCompress) {\n modifiedOptions.minimumFileSizeForCompress =\n options?.minimumFileSizeForCompress;\n }\n const result = await NativeVideoCompressor.compress(\n fileUrl,\n modifiedOptions\n );\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n backgroundUpload: async (url, fileUrl, options, onProgress) => {\n const uuid = uuidv4();\n let subscription = null;\n try {\n if (onProgress) {\n subscription = VideoCompressEventEmitter.addListener(\n 'VideoCompressorProgress',\n (event: any) => {\n if (event.uuid === uuid) {\n onProgress(event.data.written, event.data.total);\n }\n }\n );\n }\n if (Platform.OS === 'android' && fileUrl.includes('file://')) {\n fileUrl = fileUrl.replace('file://', '');\n }\n const result = await NativeVideoCompressor.upload(fileUrl, {\n uuid,\n method: options.httpMethod,\n headers: options.headers,\n url,\n });\n return result;\n } finally {\n if (subscription) {\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n }\n },\n activateBackgroundTask(onExpired?) {\n if (onExpired) {\n const subscription = VideoCompressEventEmitter.addListener(\n 'backgroundTaskExpired',\n (event: any) => {\n onExpired(event);\n VideoCompressEventEmitter.removeSubscription(subscription);\n }\n );\n }\n return NativeVideoCompressor.activateBackgroundTask({});\n },\n deactivateBackgroundTask() {\n VideoCompressEventEmitter.removeAllListeners('backgroundTaskExpired');\n return NativeVideoCompressor.deactivateBackgroundTask({});\n },\n} as VideoCompressorType;\n\nexport default Video;\n"]}
@@ -1,3 +1,4 @@
1
+ import 'react-native-get-random-values';
1
2
  export declare enum FileSystemUploadType {
2
3
  BINARY_CONTENT = 0,
3
4
  MULTIPART = 1
@@ -6,7 +7,9 @@ export declare type FileSystemAcceptedUploadHttpMethod = 'POST' | 'PUT' | 'PATCH
6
7
  export declare type compressionMethod = 'auto' | 'manual';
7
8
  declare type videoCompresssionType = {
8
9
  bitrate?: number;
10
+ maxSize?: number;
9
11
  compressionMethod?: compressionMethod;
12
+ minimumFileSizeForCompress?: number;
10
13
  };
11
14
  export declare enum FileSystemSessionType {
12
15
  BACKGROUND = 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-compressor",
3
- "version": "0.5.4",
3
+ "version": "0.5.8",
4
4
  "description": "This library compress image, video and audio",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -162,5 +162,8 @@
162
162
  }
163
163
  ]
164
164
  ]
165
+ },
166
+ "dependencies": {
167
+ "react-native-get-random-values": "^1.7.0"
165
168
  }
166
169
  }
@@ -1,4 +1,5 @@
1
1
  import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
2
+ import 'react-native-get-random-values';
2
3
  import { v4 as uuidv4 } from 'uuid';
3
4
 
4
5
  export declare enum FileSystemUploadType {
@@ -13,7 +14,9 @@ export declare type FileSystemAcceptedUploadHttpMethod =
13
14
  export type compressionMethod = 'auto' | 'manual';
14
15
  type videoCompresssionType = {
15
16
  bitrate?: number;
17
+ maxSize?: number;
16
18
  compressionMethod?: compressionMethod;
19
+ minimumFileSizeForCompress?: number;
17
20
  };
18
21
 
19
22
  export declare enum FileSystemSessionType {
@@ -72,6 +75,7 @@ const Video: VideoCompressorType = {
72
75
  bitrate?: number;
73
76
  compressionMethod?: compressionMethod;
74
77
  maxSize?: number;
78
+ minimumFileSizeForCompress?: number;
75
79
  },
76
80
  onProgress?: (progress: number) => void
77
81
  ) => {
@@ -93,6 +97,7 @@ const Video: VideoCompressorType = {
93
97
  bitrate?: number;
94
98
  compressionMethod?: compressionMethod;
95
99
  maxSize?: number;
100
+ minimumFileSizeForCompress?: number;
96
101
  } = { uuid };
97
102
  if (options?.bitrate) modifiedOptions.bitrate = options?.bitrate;
98
103
  if (options?.compressionMethod) {
@@ -105,6 +110,10 @@ const Video: VideoCompressorType = {
105
110
  } else {
106
111
  modifiedOptions.maxSize = 640;
107
112
  }
113
+ if (options?.minimumFileSizeForCompress) {
114
+ modifiedOptions.minimumFileSizeForCompress =
115
+ options?.minimumFileSizeForCompress;
116
+ }
108
117
  const result = await NativeVideoCompressor.compress(
109
118
  fileUrl,
110
119
  modifiedOptions
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.72/3adfc2f4ea4243e01204be8081fe63bde6b12815/kotlin-stdlib-jdk7-1.3.72.jar!/" />
5
- </CLASSES>
6
- <JAVADOC>
7
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.72/d5c341c5580f6d1289efe06247f4818e57ad24eb/kotlin-stdlib-jdk7-1.3.72-javadoc.jar!/" />
8
- </JAVADOC>
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.72/e83fed78d9bc2951a2c7e457969d5fd171cb9d5f/kotlin-stdlib-jdk7-1.3.72-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>