shakebug-react-native 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/README.md +17 -1
  2. package/VideoPlayer/index.js +37 -23
  3. package/android/build/.transforms/2560ecc35baf0ad99b25208b80f24632/results.bin +1 -0
  4. package/android/build/.transforms/2560ecc35baf0ad99b25208b80f24632/transformed/classes/classes_dex/classes.dex +0 -0
  5. package/android/build/.transforms/82877187ec1b098f68816d8773d41d06/results.bin +1 -0
  6. package/android/build/.transforms/82877187ec1b098f68816d8773d41d06/transformed/classes/classes_dex/classes.dex +0 -0
  7. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/results.bin +1 -0
  8. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeImagePickerSpec.dex +0 -0
  9. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeRNLocalizeSpec.dex +0 -0
  10. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller$ConnectivityChangedCallback.dex +0 -0
  11. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller$PollerTask.dex +0 -0
  12. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller$Receiver.dex +0 -0
  13. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller.dex +0 -0
  14. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BaseUtils.dex +0 -0
  15. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BroadcastReceiverConnectivityReceiver$ConnectivityBroadcastReceiver.dex +0 -0
  16. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BroadcastReceiverConnectivityReceiver.dex +0 -0
  17. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BuildConfig.dex +0 -0
  18. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ConnectivityReceiver.dex +0 -0
  19. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/CrashLoggerModule.dex +0 -0
  20. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/CreateThumbnailModule.dex +0 -0
  21. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/CustomMediaMetadataRetriever.dex +0 -0
  22. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DateUtil.dex +0 -0
  23. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DeviceType.dex +0 -0
  24. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DeviceUtil.dex +0 -0
  25. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DrawingView.dex +0 -0
  26. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DrawingViewManager.dex +0 -0
  27. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/GetLocation$1.dex +0 -0
  28. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/GetLocation$2.dex +0 -0
  29. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/GetLocation.dex +0 -0
  30. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ImageMetadata.dex +0 -0
  31. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ImagePickerProvider.dex +0 -0
  32. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Metadata.dex +0 -0
  33. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetInfoModule.dex +0 -0
  34. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetInfoUtils.dex +0 -0
  35. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetworkCallbackConnectivityReceiver$ConnectivityNetworkCallback.dex +0 -0
  36. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetworkCallbackConnectivityReceiver.dex +0 -0
  37. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Options.dex +0 -0
  38. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNDeviceModule$1.dex +0 -0
  39. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNDeviceModule$2.dex +0 -0
  40. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNDeviceModule.dex +0 -0
  41. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNInstallReferrerClient$InstallReferrerStateListenerProxy.dex +0 -0
  42. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNInstallReferrerClient.dex +0 -0
  43. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNLocalizeModule.dex +0 -0
  44. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNLocalizeModuleImpl.dex +0 -0
  45. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ReactNativeGetLocationModule.dex +0 -0
  46. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RecordScreenModule$1.dex +0 -0
  47. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RecordScreenModule.dex +0 -0
  48. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ScreenshotDetectorModule$1.dex +0 -0
  49. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ScreenshotDetectorModule.dex +0 -0
  50. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/SettingsUtil.dex +0 -0
  51. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugPackage.dex +0 -0
  52. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModule$1.dex +0 -0
  53. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModule$2.dex +0 -0
  54. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModule.dex +0 -0
  55. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModuleImpl.dex +0 -0
  56. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSensors.dex +0 -0
  57. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/SharedPreferencesModule.dex +0 -0
  58. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/UnitConverter.dex +0 -0
  59. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Utility.dex +0 -0
  60. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Utils.dex +0 -0
  61. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/VideoMetadata.dex +0 -0
  62. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$1.dex +0 -0
  63. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$2.dex +0 -0
  64. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$Formats.dex +0 -0
  65. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$Results.dex +0 -0
  66. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$ReusableByteArrayOutputStream.dex +0 -0
  67. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot.dex +0 -0
  68. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/callback/SingleCallback.dex +0 -0
  69. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/interfaces/IVideoTrimmerView.dex +0 -0
  70. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/interfaces/VideoPlayerListner.dex +0 -0
  71. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/interfaces/VideoTrimListener.dex +0 -0
  72. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/resolver/DeviceIdResolver.dex +0 -0
  73. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/resolver/DeviceTypeResolver.dex +0 -0
  74. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/BackgroundExecutor$Task.dex +0 -0
  75. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/BackgroundExecutor.dex +0 -0
  76. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/UiThreadExecutor$1.dex +0 -0
  77. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/UiThreadExecutor$Token.dex +0 -0
  78. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/UiThreadExecutor.dex +0 -0
  79. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/types/CellularGeneration.dex +0 -0
  80. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/types/ConnectionType.dex +0 -0
  81. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/widgets/SpacesItemDecoration2.dex +0 -0
  82. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/widgets/ZVideoView.dex +0 -0
  83. package/android/build/.transforms/e294dc86c128e7615c7b096f733c98c9/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  84. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/results.bin +1 -0
  85. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeImagePickerSpec.dex +0 -0
  86. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeRNLocalizeSpec.dex +0 -0
  87. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/fbreact/specs/NativeSafeAreaContextSpec.dex +0 -0
  88. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerDelegate.dex +0 -0
  89. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerInterface.dex +0 -0
  90. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerDelegate.dex +0 -0
  91. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerInterface.dex +0 -0
  92. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller$ConnectivityChangedCallback.dex +0 -0
  93. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller$PollerTask.dex +0 -0
  94. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller$Receiver.dex +0 -0
  95. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/AmazonFireDeviceConnectivityPoller.dex +0 -0
  96. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BaseUtils.dex +0 -0
  97. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BroadcastReceiverConnectivityReceiver$ConnectivityBroadcastReceiver.dex +0 -0
  98. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BroadcastReceiverConnectivityReceiver.dex +0 -0
  99. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/BuildConfig.dex +0 -0
  100. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ConnectivityReceiver.dex +0 -0
  101. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/CrashLoggerModule.dex +0 -0
  102. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/CreateThumbnailModule.dex +0 -0
  103. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/CustomMediaMetadataRetriever.dex +0 -0
  104. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DateUtil.dex +0 -0
  105. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DeviceType.dex +0 -0
  106. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DeviceUtil.dex +0 -0
  107. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DrawingView.dex +0 -0
  108. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/DrawingViewManager.dex +0 -0
  109. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/GetLocation$1.dex +0 -0
  110. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/GetLocation$2.dex +0 -0
  111. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/GetLocation.dex +0 -0
  112. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ImageMetadata.dex +0 -0
  113. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ImagePickerProvider.dex +0 -0
  114. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Metadata.dex +0 -0
  115. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetInfoModule.dex +0 -0
  116. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetInfoUtils.dex +0 -0
  117. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetworkCallbackConnectivityReceiver$ConnectivityNetworkCallback.dex +0 -0
  118. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/NetworkCallbackConnectivityReceiver.dex +0 -0
  119. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Options.dex +0 -0
  120. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNDeviceModule$1.dex +0 -0
  121. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNDeviceModule$2.dex +0 -0
  122. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNDeviceModule.dex +0 -0
  123. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNInstallReferrerClient$InstallReferrerStateListenerProxy.dex +0 -0
  124. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNInstallReferrerClient.dex +0 -0
  125. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNLocalizeModule.dex +0 -0
  126. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RNLocalizeModuleImpl.dex +0 -0
  127. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ReactNativeGetLocationModule.dex +0 -0
  128. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RecordScreenModule$1.dex +0 -0
  129. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/RecordScreenModule.dex +0 -0
  130. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ScreenshotDetectorModule$1.dex +0 -0
  131. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ScreenshotDetectorModule.dex +0 -0
  132. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/SettingsUtil.dex +0 -0
  133. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugPackage.dex +0 -0
  134. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModule$1.dex +0 -0
  135. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModule$2.dex +0 -0
  136. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModule.dex +0 -0
  137. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSDKImagePickerModuleImpl.dex +0 -0
  138. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ShakebugSensors.dex +0 -0
  139. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/SharedPreferencesModule.dex +0 -0
  140. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/UnitConverter.dex +0 -0
  141. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Utility.dex +0 -0
  142. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/Utils.dex +0 -0
  143. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/VideoMetadata.dex +0 -0
  144. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$1.dex +0 -0
  145. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$2.dex +0 -0
  146. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$Formats.dex +0 -0
  147. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$Results.dex +0 -0
  148. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot$ReusableByteArrayOutputStream.dex +0 -0
  149. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/ViewShot.dex +0 -0
  150. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/callback/SingleCallback.dex +0 -0
  151. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/interfaces/IVideoTrimmerView.dex +0 -0
  152. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/interfaces/VideoPlayerListner.dex +0 -0
  153. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/interfaces/VideoTrimListener.dex +0 -0
  154. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/resolver/DeviceIdResolver.dex +0 -0
  155. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/resolver/DeviceTypeResolver.dex +0 -0
  156. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/BackgroundExecutor$Task.dex +0 -0
  157. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/BackgroundExecutor.dex +0 -0
  158. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/UiThreadExecutor$1.dex +0 -0
  159. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/UiThreadExecutor$Token.dex +0 -0
  160. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/thread/UiThreadExecutor.dex +0 -0
  161. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/types/CellularGeneration.dex +0 -0
  162. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/types/ConnectionType.dex +0 -0
  163. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/widgets/SpacesItemDecoration2.dex +0 -0
  164. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/shakebug/widgets/ZVideoView.dex +0 -0
  165. package/android/build/.transforms/f65493e2b085044ae64a6ae813f0f02a/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  166. package/android/build/generated/source/buildConfig/debug/com/shakebug/BuildConfig.java +10 -0
  167. package/android/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeImagePickerSpec.java +43 -0
  168. package/android/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeRNLocalizeSpec.java +80 -0
  169. package/android/build/generated/source/codegen/jni/CMakeLists.txt +36 -0
  170. package/android/build/generated/source/codegen/jni/ShakebugReactNativeSpec-generated.cpp +110 -0
  171. package/android/build/generated/source/codegen/jni/ShakebugReactNativeSpec.h +39 -0
  172. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/ComponentDescriptors.cpp +22 -0
  173. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/ComponentDescriptors.h +24 -0
  174. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/EventEmitters.cpp +16 -0
  175. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/EventEmitters.h +17 -0
  176. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/Props.cpp +19 -0
  177. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/Props.h +18 -0
  178. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/ShadowNodes.cpp +17 -0
  179. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/ShadowNodes.h +23 -0
  180. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/ShakebugReactNativeSpecJSI-generated.cpp +110 -0
  181. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/ShakebugReactNativeSpecJSI.h +224 -0
  182. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/States.cpp +16 -0
  183. package/android/build/generated/source/codegen/jni/react/renderer/components/ShakebugReactNativeSpec/States.h +19 -0
  184. package/android/build/generated/source/codegen/schema.json +1 -0
  185. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +38 -0
  186. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  187. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  188. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  189. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  190. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  191. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +47 -0
  192. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_custom_progress.xml.flat +0 -0
  193. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_custom_thumb.xml.flat +0 -0
  194. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_ic_close_button.xml.flat +0 -0
  195. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_ic_video_pause_black.png.flat +0 -0
  196. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_ic_video_play_black.png.flat +0 -0
  197. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_ic_video_thumb_handle.png.flat +0 -0
  198. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/drawable_icon_seek_bar.png.flat +0 -0
  199. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/layout_video_player_view.xml.flat +0 -0
  200. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/layout_video_thumb_item_layout.xml.flat +0 -0
  201. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/layout_video_trimmer_view.xml.flat +0 -0
  202. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/xml_imagepicker_provider_paths.xml.flat +0 -0
  203. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +12 -0
  204. package/android/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml +25 -0
  205. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  206. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  207. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  208. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  209. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/fbreact/specs/NativeImagePickerSpec.class +0 -0
  210. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/fbreact/specs/NativeRNLocalizeSpec.class +0 -0
  211. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/AmazonFireDeviceConnectivityPoller$ConnectivityChangedCallback.class +0 -0
  212. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/AmazonFireDeviceConnectivityPoller$PollerTask.class +0 -0
  213. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/AmazonFireDeviceConnectivityPoller$Receiver.class +0 -0
  214. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/AmazonFireDeviceConnectivityPoller.class +0 -0
  215. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/BaseUtils.class +0 -0
  216. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/BroadcastReceiverConnectivityReceiver$ConnectivityBroadcastReceiver.class +0 -0
  217. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/BroadcastReceiverConnectivityReceiver.class +0 -0
  218. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/BuildConfig.class +0 -0
  219. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ConnectivityReceiver.class +0 -0
  220. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/CrashLoggerModule.class +0 -0
  221. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/CreateThumbnailModule.class +0 -0
  222. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/CustomMediaMetadataRetriever.class +0 -0
  223. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/DateUtil.class +0 -0
  224. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/DeviceType.class +0 -0
  225. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/DeviceUtil.class +0 -0
  226. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/DrawingView.class +0 -0
  227. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/DrawingViewManager.class +0 -0
  228. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/GetLocation$1.class +0 -0
  229. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/GetLocation$2.class +0 -0
  230. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/GetLocation.class +0 -0
  231. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ImageMetadata.class +0 -0
  232. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ImagePickerProvider.class +0 -0
  233. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/Metadata.class +0 -0
  234. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/NetInfoModule.class +0 -0
  235. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/NetInfoUtils.class +0 -0
  236. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/NetworkCallbackConnectivityReceiver$ConnectivityNetworkCallback.class +0 -0
  237. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/NetworkCallbackConnectivityReceiver.class +0 -0
  238. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/Options.class +0 -0
  239. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RNDeviceModule$1.class +0 -0
  240. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RNDeviceModule$2.class +0 -0
  241. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RNDeviceModule.class +0 -0
  242. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RNInstallReferrerClient$InstallReferrerStateListenerProxy.class +0 -0
  243. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RNInstallReferrerClient.class +0 -0
  244. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RNLocalizeModule.class +0 -0
  245. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RNLocalizeModuleImpl.class +0 -0
  246. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ReactNativeGetLocationModule.class +0 -0
  247. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RecordScreenModule$1.class +0 -0
  248. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/RecordScreenModule.class +0 -0
  249. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ScreenshotDetectorModule$1.class +0 -0
  250. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ScreenshotDetectorModule.class +0 -0
  251. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/SettingsUtil.class +0 -0
  252. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ShakebugPackage.class +0 -0
  253. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ShakebugSDKImagePickerModule$1.class +0 -0
  254. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ShakebugSDKImagePickerModule$2.class +0 -0
  255. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ShakebugSDKImagePickerModule.class +0 -0
  256. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ShakebugSDKImagePickerModuleImpl.class +0 -0
  257. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ShakebugSensors.class +0 -0
  258. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/SharedPreferencesModule.class +0 -0
  259. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/UnitConverter.class +0 -0
  260. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/Utility.class +0 -0
  261. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/Utils.class +0 -0
  262. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/VideoMetadata.class +0 -0
  263. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ViewShot$1.class +0 -0
  264. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ViewShot$2.class +0 -0
  265. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ViewShot$Formats.class +0 -0
  266. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ViewShot$Results.class +0 -0
  267. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ViewShot$ReusableByteArrayOutputStream.class +0 -0
  268. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/ViewShot.class +0 -0
  269. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/callback/SingleCallback.class +0 -0
  270. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/interfaces/IVideoTrimmerView.class +0 -0
  271. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/interfaces/VideoPlayerListner.class +0 -0
  272. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/interfaces/VideoTrimListener.class +0 -0
  273. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/resolver/DeviceIdResolver.class +0 -0
  274. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/resolver/DeviceTypeResolver.class +0 -0
  275. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/thread/BackgroundExecutor$Task.class +0 -0
  276. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/thread/BackgroundExecutor.class +0 -0
  277. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/thread/UiThreadExecutor$1.class +0 -0
  278. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/thread/UiThreadExecutor$Token.class +0 -0
  279. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/thread/UiThreadExecutor.class +0 -0
  280. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/types/CellularGeneration.class +0 -0
  281. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/types/ConnectionType.class +0 -0
  282. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/widgets/SpacesItemDecoration2.class +0 -0
  283. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/shakebug/widgets/ZVideoView.class +0 -0
  284. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +49 -0
  285. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +70 -0
  286. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +38 -0
  287. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  288. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  289. package/android/build/intermediates/packaged_res/debug/packageDebugResources/drawable/custom_progress.xml +16 -0
  290. package/android/build/intermediates/packaged_res/debug/packageDebugResources/drawable/custom_thumb.xml +4 -0
  291. package/android/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_close_button.xml +10 -0
  292. package/android/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_video_pause_black.png +0 -0
  293. package/android/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_video_play_black.png +0 -0
  294. package/android/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_video_thumb_handle.png +0 -0
  295. package/android/build/intermediates/packaged_res/debug/packageDebugResources/drawable/icon_seek_bar.png +0 -0
  296. package/android/build/intermediates/packaged_res/debug/packageDebugResources/layout/video_player_view.xml +121 -0
  297. package/android/build/intermediates/packaged_res/debug/packageDebugResources/layout/video_thumb_item_layout.xml +16 -0
  298. package/android/build/intermediates/packaged_res/debug/packageDebugResources/layout/video_trimmer_view.xml +148 -0
  299. package/android/build/intermediates/packaged_res/debug/packageDebugResources/values/values.xml +25 -0
  300. package/android/build/intermediates/packaged_res/debug/packageDebugResources/xml/imagepicker_provider_paths.xml +4 -0
  301. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/fbreact/specs/NativeImagePickerSpec.class +0 -0
  302. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/fbreact/specs/NativeRNLocalizeSpec.class +0 -0
  303. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/AmazonFireDeviceConnectivityPoller$ConnectivityChangedCallback.class +0 -0
  304. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/AmazonFireDeviceConnectivityPoller$PollerTask.class +0 -0
  305. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/AmazonFireDeviceConnectivityPoller$Receiver.class +0 -0
  306. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/AmazonFireDeviceConnectivityPoller.class +0 -0
  307. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/BaseUtils.class +0 -0
  308. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/BroadcastReceiverConnectivityReceiver$ConnectivityBroadcastReceiver.class +0 -0
  309. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/BroadcastReceiverConnectivityReceiver.class +0 -0
  310. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/BuildConfig.class +0 -0
  311. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ConnectivityReceiver.class +0 -0
  312. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/CrashLoggerModule.class +0 -0
  313. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/CreateThumbnailModule.class +0 -0
  314. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/CustomMediaMetadataRetriever.class +0 -0
  315. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/DateUtil.class +0 -0
  316. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/DeviceType.class +0 -0
  317. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/DeviceUtil.class +0 -0
  318. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/DrawingView.class +0 -0
  319. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/DrawingViewManager.class +0 -0
  320. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/GetLocation$1.class +0 -0
  321. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/GetLocation$2.class +0 -0
  322. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/GetLocation.class +0 -0
  323. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ImageMetadata.class +0 -0
  324. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ImagePickerProvider.class +0 -0
  325. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/Metadata.class +0 -0
  326. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/NetInfoModule.class +0 -0
  327. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/NetInfoUtils.class +0 -0
  328. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/NetworkCallbackConnectivityReceiver$ConnectivityNetworkCallback.class +0 -0
  329. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/NetworkCallbackConnectivityReceiver.class +0 -0
  330. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/Options.class +0 -0
  331. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RNDeviceModule$1.class +0 -0
  332. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RNDeviceModule$2.class +0 -0
  333. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RNDeviceModule.class +0 -0
  334. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RNInstallReferrerClient$InstallReferrerStateListenerProxy.class +0 -0
  335. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RNInstallReferrerClient.class +0 -0
  336. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RNLocalizeModule.class +0 -0
  337. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RNLocalizeModuleImpl.class +0 -0
  338. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ReactNativeGetLocationModule.class +0 -0
  339. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RecordScreenModule$1.class +0 -0
  340. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/RecordScreenModule.class +0 -0
  341. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ScreenshotDetectorModule$1.class +0 -0
  342. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ScreenshotDetectorModule.class +0 -0
  343. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/SettingsUtil.class +0 -0
  344. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ShakebugPackage.class +0 -0
  345. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ShakebugSDKImagePickerModule$1.class +0 -0
  346. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ShakebugSDKImagePickerModule$2.class +0 -0
  347. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ShakebugSDKImagePickerModule.class +0 -0
  348. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ShakebugSDKImagePickerModuleImpl.class +0 -0
  349. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ShakebugSensors.class +0 -0
  350. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/SharedPreferencesModule.class +0 -0
  351. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/UnitConverter.class +0 -0
  352. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/Utility.class +0 -0
  353. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/Utils.class +0 -0
  354. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/VideoMetadata.class +0 -0
  355. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ViewShot$1.class +0 -0
  356. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ViewShot$2.class +0 -0
  357. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ViewShot$Formats.class +0 -0
  358. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ViewShot$Results.class +0 -0
  359. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ViewShot$ReusableByteArrayOutputStream.class +0 -0
  360. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/ViewShot.class +0 -0
  361. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/callback/SingleCallback.class +0 -0
  362. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/interfaces/IVideoTrimmerView.class +0 -0
  363. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/interfaces/VideoPlayerListner.class +0 -0
  364. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/interfaces/VideoTrimListener.class +0 -0
  365. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/resolver/DeviceIdResolver.class +0 -0
  366. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/resolver/DeviceTypeResolver.class +0 -0
  367. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/thread/BackgroundExecutor$Task.class +0 -0
  368. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/thread/BackgroundExecutor.class +0 -0
  369. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/thread/UiThreadExecutor$1.class +0 -0
  370. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/thread/UiThreadExecutor$Token.class +0 -0
  371. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/thread/UiThreadExecutor.class +0 -0
  372. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/types/CellularGeneration.class +0 -0
  373. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/types/ConnectionType.class +0 -0
  374. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/widgets/SpacesItemDecoration2.class +0 -0
  375. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/shakebug/widgets/ZVideoView.class +0 -0
  376. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  377. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +48 -0
  378. package/android/build/outputs/logs/manifest-merger-debug-report.txt +81 -0
  379. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/ShakebugPackage.class.uniqueId0 +0 -0
  380. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  381. package/android/build.gradle +0 -1
  382. package/android/src/main/java/com/shakebug/CreateThumbnailModule.java +217 -0
  383. package/android/src/main/java/com/shakebug/NetInfoModule.java +1 -2
  384. package/android/src/main/java/com/shakebug/RNDeviceModule.java +1 -3
  385. package/android/src/main/java/com/shakebug/ShakebugPackage.java +10 -10
  386. package/android/src/main/java/com/shakebug/{Shakebug.java → ShakebugSensors.java} +16 -22
  387. package/ios/GetLocals/ShakebugSDKRNLocalize.h +1 -0
  388. package/ios/Thumbnaill/{VideoThumbnailManager.h → CreateThumbnail.h} +2 -1
  389. package/ios/Thumbnaill/CreateThumbnail.m +82 -0
  390. package/package.json +2 -5
  391. package/shakebug-react-native.podspec +0 -1
  392. package/src/APIs/AddIssue.js +13 -4
  393. package/src/APIs/AddReview.js +46 -0
  394. package/src/APIs/CustomUserId.js +47 -0
  395. package/src/APIs/Event.js +8 -3
  396. package/src/APIs/StartSession.js +6 -8
  397. package/src/Assets/images/solar_star-bold.png +0 -0
  398. package/src/Assets/images/solar_star-line-duotone.png +0 -0
  399. package/src/Componanats/ReviewModal.js +171 -0
  400. package/src/Componanats/ShakeFunction.js +6 -3
  401. package/src/Screens/AddDetailsScreen.js +14 -10
  402. package/src/Screens/FirstScreen.js +2 -2
  403. package/src/Screens/Shakebug.js +63 -6
  404. package/src/Screens/TrimVideoScreen.js +13 -7
  405. package/src/index.tsx +8 -4
  406. package/android/src/main/java/com/shakebug/ShakebugSDKScreenShotModule.java +0 -196
  407. package/android/src/main/java/com/shakebug/VideoPlayerModule.java +0 -199
  408. package/android/src/main/java/com/shakebug/VideoThumbnailModule.java +0 -215
  409. package/android/src/main/java/com/shakebug/VideoTrimModule.java +0 -372
  410. package/android/src/main/java/com/shakebug/adapters/VideoTrimmerAdapter.java +0 -54
  411. package/android/src/main/java/com/shakebug/utils/StorageUtil.java +0 -139
  412. package/android/src/main/java/com/shakebug/utils/VideoTrimmerUtil.java +0 -89
  413. package/android/src/main/java/com/shakebug/widgets/RangeSeekBarView.java +0 -534
  414. package/android/src/main/java/com/shakebug/widgets/VideoPlayerView.java +0 -429
  415. package/android/src/main/java/com/shakebug/widgets/VideoTrimmerView.java +0 -477
  416. package/ios/Thumbnaill/VideoThumbnailManager.m +0 -73
  417. package/ios/TrimVideo/ShakebugSDKVideoTrim.swift +0 -372
  418. package/ios/TrimVideo/VideoTrim-Bridging-Header.h +0 -10
  419. package/ios/TrimVideo/VideoTrim.m +0 -23
  420. package/ios/TrimVideo/VideoTrimmer.swift +0 -810
  421. package/ios/TrimVideo/VideoTrimmerThumb.swift +0 -119
  422. package/ios/TrimVideo/VideoTrimmerViewController.swift +0 -301
@@ -1,810 +0,0 @@
1
- //
2
- // VideoTrimmer.swift
3
- // Shakebug
4
- //
5
- // Created by ideveloper2 on 26/04/24.
6
- // Copyright © 2024 Facebook. All rights reserved.
7
- //
8
-
9
- import UIKit
10
- import AVFoundation
11
-
12
- // Controls that allows trimming a range and scrubbing a progress indicator
13
- @available(iOS 13.0, *)
14
- @IBDesignable class VideoTrimmer: UIControl {
15
-
16
- // events for changing selectedRange ("trimming")
17
- static let didBeginTrimming = UIControl.Event(rawValue: 0b00000001 << 24)
18
- static let selectedRangeChanged = UIControl.Event(rawValue: 0b00000010 << 24)
19
- static let didEndTrimming = UIControl.Event(rawValue: 0b00000100 << 24)
20
-
21
- // events for scrubbing the progress indicator ("scrubbing")
22
- static let didBeginScrubbing = UIControl.Event(rawValue: 0b00001000 << 24)
23
- static let progressChanged = UIControl.Event(rawValue: 0b00010000 << 24)
24
- static let didEndScrubbing = UIControl.Event(rawValue: 0b00100000 << 24)
25
-
26
- private struct Thumbnail {
27
- let uuid = UUID()
28
- let imageView: UIImageView
29
- let time: CMTime
30
- }
31
-
32
- let thumbView = VideoTrimmerThumb()
33
- private let wrapperView = UIView()
34
- private let shadowView = UIView()
35
- private let thumbnailClipView = UIView()
36
- private let thumbnailWrapperView = UIView()
37
- private let thumbnailTrackView = UIView()
38
- private let thumbnailLeadingCoverView = UIView()
39
- private let thumbnailTrailingCoverView = UIView()
40
- private let leadingThumbRest = UIView()
41
- private let trailingThumbRest = UIView()
42
- private let progressIndicator = UIView()
43
- private let progressIndicatorControl = UIControl()
44
-
45
- // defines how much the control is insetted from its sides:
46
- // this is set to 16, so that you can have the control fullscreen (and have it
47
- // edge-to-edge when zooming in)
48
- @IBInspectable var horizontalInset: CGFloat = 16 {
49
- didSet {
50
- guard horizontalInset != oldValue else {return}
51
- setNeedsLayout()
52
- }
53
- }
54
-
55
- // the asset to use
56
- var asset: AVAsset? {
57
- didSet {
58
- if let asset = asset {
59
- let duration = asset.duration
60
- range = CMTimeRange(start: .zero, duration: duration)
61
- selectedRange = range
62
- lastKnownViewSizeForThumbnailGeneration = .zero
63
- setNeedsLayout()
64
- }
65
- }
66
- }
67
-
68
- // the video composition to use
69
- var videoComposition: AVVideoComposition? {
70
- didSet {
71
- lastKnownViewSizeForThumbnailGeneration = .zero
72
- setNeedsLayout()
73
- }
74
- }
75
-
76
- // a clip cannot be trimmed shorter than this duration
77
- var minimumDuration: CMTime = CMTime(seconds: 1, preferredTimescale: 600)
78
- var maximumDuration: CMTime = .positiveInfinity
79
-
80
- // the available range of the asset.
81
- // Will be set to the full duration of the asset when assigning a new asset
82
- var range: CMTimeRange = .invalid {
83
- didSet {
84
- setNeedsLayout()
85
- }
86
- }
87
-
88
- // the range that is selected, will be set to the full duration
89
- // when changing asset.
90
- var selectedRange: CMTimeRange = .invalid {
91
- didSet {
92
- setNeedsLayout()
93
- }
94
- }
95
-
96
- // defines what to do with the progress indicator
97
- enum ProgressIndicatorMode {
98
- case hiddenOnlyWhenTrimming // the progress indicator gets hidden when the user starts trimming
99
- case alwaysShown // the progress indicator is always shown, even when the user is trimming
100
- case alwaysHidden // the progress indicator is never shown
101
- }
102
- var progressIndicatorMode = ProgressIndicatorMode.hiddenOnlyWhenTrimming {
103
- didSet {
104
- updateProgressIndicator()
105
- }
106
- }
107
-
108
- func setProgressIndicatorMode(_ mode: ProgressIndicatorMode, animated: Bool) {
109
- guard progressIndicatorMode != mode else {return}
110
-
111
- if animated == true {
112
- UIView.animate(withDuration: 0.25, delay: 0, options: [.beginFromCurrentState, .allowUserInteraction], animations: {
113
- self.progressIndicatorMode = mode
114
- self.layoutIfNeeded()
115
- })
116
- } else {
117
- progressIndicatorMode = mode
118
- }
119
- }
120
-
121
- // defines where the progress indicator is shown.
122
- var progress: CMTime = .zero {
123
- didSet {
124
- setNeedsLayout()
125
- }
126
- }
127
-
128
- func setProgress(_ progress: CMTime, animated: Bool) {
129
- guard CMTimeCompare(self.progress, progress) != 0 else {return}
130
-
131
- self.progress = progress
132
- if animated == true {
133
- UIView.animate(withDuration: 0.25, delay: 0, options: [.beginFromCurrentState, .allowUserInteraction], animations: {
134
- self.layoutIfNeeded()
135
- })
136
- }
137
- }
138
-
139
-
140
- // defines if the user is trimming or not, and if so, which edge
141
- enum TrimmingState {
142
- case none // user isn't trimming
143
- case leading // user is trimming the leading part of the asset
144
- case trailing // user is trimming the trailing part of the asset
145
- }
146
-
147
- private(set) var trimmingState = TrimmingState.none {
148
- didSet {
149
- UIViewPropertyAnimator.runningPropertyAnimator(withDuration: 0.25, delay: 0, options: [.beginFromCurrentState, .allowUserInteraction], animations: {
150
- self.shadowView.layer.shadowOpacity = (self.trimmingState != .none ? 0.5 : 0.25)
151
- self.shadowView.layer.shadowRadius = (self.trimmingState != .none ? 4 : 2)
152
- })
153
- }
154
- }
155
-
156
- // yes if the user is zoomed in
157
- private(set) var isZoomedIn = false
158
- private(set) var zoomedInRange: CMTimeRange = .zero
159
-
160
-
161
- // yes if the user is scrubbing the progress indicator
162
- private(set) var isScrubbing = false
163
-
164
- // background color for the track
165
- var trackBackgroundColor = UIColor.black {
166
- didSet {
167
- thumbnailWrapperView.backgroundColor = trackBackgroundColor
168
- }
169
- }
170
-
171
- // background color for the place where the thumbs rest on when the selectedRange == range
172
- var thumbRestColor = UIColor.black {
173
- didSet {
174
- leadingThumbRest.backgroundColor = thumbRestColor
175
- trailingThumbRest.backgroundColor = thumbRestColor
176
- }
177
- }
178
-
179
- // the range that's currently visible: could be less than "range" when zoomed in
180
- var visibleRange: CMTimeRange {
181
- return isZoomedIn == true ? zoomedInRange : range
182
- }
183
-
184
- // the time that's currently selected by the user when trimming
185
- var selectedTime: CMTime {
186
- switch trimmingState {
187
- case .none: return .zero
188
- case .leading: return selectedRange.start
189
- case .trailing: return selectedRange.end
190
- }
191
- }
192
-
193
- // gesture recognizers used. Can be used, for instance, to
194
- // require a tableview panGestureRecognizer to fail
195
- private (set) var leadingGestureRecognizer: UILongPressGestureRecognizer!
196
- private (set) var trailingGestureRecognizer: UILongPressGestureRecognizer!
197
- private (set) var progressGestureRecognizer: UILongPressGestureRecognizer!
198
- private (set) var thumbnailInteractionGestureRecognizer: UILongPressGestureRecognizer!
199
-
200
- // private stuff
201
- private var grabberOffset = CGFloat(0)
202
- private var zoomWaitTimer: Timer?
203
-
204
- private var lastKnownViewSizeForThumbnailGeneration: CGSize = .zero
205
- private var thumbnailSize: CGSize = .zero
206
- private var lastKnownThumbnailRange: CMTimeRange = .zero
207
- private var thumbnails = Array<Thumbnail>()
208
- private var generator: AVAssetImageGenerator?
209
-
210
- private var impactFeedbackGenerator: UIImpactFeedbackGenerator?
211
- private var didClampWhilePanning = false
212
-
213
-
214
- // MARK: - Private
215
- private func setup() {
216
- addSubview(thumbnailClipView)
217
- thumbnailClipView.addSubview(thumbnailWrapperView)
218
- thumbnailWrapperView.addSubview(leadingThumbRest)
219
- thumbnailWrapperView.addSubview(trailingThumbRest)
220
- thumbnailWrapperView.addSubview(thumbnailTrackView)
221
- thumbnailWrapperView.addSubview(thumbnailLeadingCoverView)
222
- thumbnailWrapperView.addSubview(thumbnailTrailingCoverView)
223
-
224
- progressIndicator.backgroundColor = .white
225
- progressIndicator.layer.shadowColor = UIColor.black.cgColor
226
- progressIndicator.layer.shadowOffset = .zero
227
- progressIndicator.layer.shadowRadius = 2
228
- progressIndicator.layer.shadowOpacity = 0.25
229
- progressIndicator.layer.cornerRadius = 2
230
- progressIndicator.layer.cornerCurve = .continuous
231
-
232
- addSubview(shadowView)
233
- wrapperView.clipsToBounds = true
234
- shadowView.addSubview(wrapperView)
235
- wrapperView.addSubview(thumbView)
236
-
237
- wrapperView.addSubview(progressIndicator)
238
- wrapperView.addSubview(progressIndicatorControl)
239
-
240
- thumbnailClipView.clipsToBounds = true
241
- thumbnailTrackView.clipsToBounds = true
242
- thumbnailLeadingCoverView.backgroundColor = UIColor(white: 0, alpha: 0.75)
243
- thumbnailTrailingCoverView.backgroundColor = UIColor(white: 0, alpha: 0.75)
244
-
245
- leadingThumbRest.backgroundColor = thumbRestColor
246
- trailingThumbRest.backgroundColor = thumbRestColor
247
-
248
- thumbnailWrapperView.backgroundColor = trackBackgroundColor
249
- thumbnailWrapperView.layer.cornerRadius = 6
250
- thumbnailWrapperView.layer.cornerCurve = .continuous
251
-
252
- leadingThumbRest.layer.cornerRadius = 6
253
- leadingThumbRest.layer.maskedCorners = [.layerMinXMaxYCorner, .layerMinXMinYCorner]
254
- leadingThumbRest.layer.cornerCurve = .continuous
255
-
256
- trailingThumbRest.layer.cornerRadius = 6
257
- trailingThumbRest.layer.maskedCorners = [.layerMaxXMaxYCorner, .layerMaxXMinYCorner]
258
- trailingThumbRest.layer.cornerCurve = .continuous
259
-
260
- shadowView.layer.shadowColor = UIColor.black.cgColor
261
- shadowView.layer.shadowOffset = .zero
262
- shadowView.layer.shadowRadius = 2
263
- shadowView.layer.shadowOpacity = 0.25
264
-
265
- leadingGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(leadingGrabberPanned(_:)))
266
- leadingGestureRecognizer.allowableMovement = CGFloat.greatestFiniteMagnitude
267
- leadingGestureRecognizer.minimumPressDuration = 0
268
- thumbView.leadingGrabber.addGestureRecognizer(leadingGestureRecognizer)
269
-
270
- trailingGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(trailingGrabberPanned(_:)))
271
- trailingGestureRecognizer.allowableMovement = CGFloat.greatestFiniteMagnitude
272
- trailingGestureRecognizer.minimumPressDuration = 0
273
- thumbView.trailingGrabber.addGestureRecognizer(trailingGestureRecognizer)
274
-
275
- progressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(progressGrabberPanned(_:)))
276
- progressGestureRecognizer.allowableMovement = CGFloat.greatestFiniteMagnitude
277
- progressGestureRecognizer.minimumPressDuration = 0
278
- progressGestureRecognizer.require(toFail: leadingGestureRecognizer)
279
- progressGestureRecognizer.require(toFail: trailingGestureRecognizer)
280
- progressIndicatorControl.addGestureRecognizer(progressGestureRecognizer)
281
-
282
- thumbnailInteractionGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(thumbnailPanned(_:)))
283
- thumbnailInteractionGestureRecognizer.allowableMovement = CGFloat.greatestFiniteMagnitude
284
- thumbnailInteractionGestureRecognizer.minimumPressDuration = 0
285
- thumbnailInteractionGestureRecognizer.require(toFail: leadingGestureRecognizer)
286
- thumbnailInteractionGestureRecognizer.require(toFail: trailingGestureRecognizer)
287
- thumbView.addGestureRecognizer(thumbnailInteractionGestureRecognizer)
288
- }
289
-
290
- private func regenerateThumbnailsIfNeeded() {
291
- let size = bounds.size
292
- guard size.width > 0 && size.height > 0 else {return}
293
- guard lastKnownViewSizeForThumbnailGeneration != size || CMTimeRangeEqual(lastKnownThumbnailRange, visibleRange) == false else {return}
294
- guard let asset = asset else {return}
295
- guard let track = asset.tracks(withMediaType: .video).first else {return}
296
-
297
- lastKnownViewSizeForThumbnailGeneration = size
298
- lastKnownThumbnailRange = visibleRange
299
-
300
- let naturalSize = track.naturalSize
301
- let transform = track.preferredTransform
302
- let fixedSize = naturalSize.applyingVideoTransform(transform)
303
-
304
- let generator = AVAssetImageGenerator(asset: asset)
305
- generator.apertureMode = .cleanAperture
306
- generator.videoComposition = videoComposition
307
- self.generator = generator
308
-
309
- let height = size.height - thumbView.edgeHeight * 2
310
- thumbnailSize = CGSize(width: height / fixedSize.height * fixedSize.width, height: height)
311
- let numberOfThumbnails = Int(ceil(size.width / thumbnailSize.width))
312
-
313
- var newThumbnails = Array<Thumbnail>()
314
- let thumbnailDuration = visibleRange.duration.seconds / Double(numberOfThumbnails)
315
- var times = Array<NSValue>()
316
- // we add some extra thumbnails as padding
317
- for index in -3..<numberOfThumbnails + 6 {
318
- let time = CMTimeAdd(visibleRange.start, CMTime(seconds: thumbnailDuration * Double(index), preferredTimescale: asset.duration.timescale * 2))
319
- guard CMTimeCompare(time, .zero) != -1 else {continue}
320
- times.append(NSValue(time: time))
321
-
322
- let newThumbnail = Thumbnail(imageView: UIImageView(), time: time)
323
- self.thumbnailTrackView.addSubview(newThumbnail.imageView)
324
- newThumbnails.append(newThumbnail)
325
- }
326
-
327
- generator.appliesPreferredTrackTransform = true
328
- generator.maximumSize = CGSize(width: thumbnailSize.width * UIScreen.main.scale, height: thumbnailSize.height * UIScreen.main.scale)
329
-
330
- let oldThumbnails = thumbnails
331
- thumbnails.append(contentsOf: newThumbnails)
332
-
333
- UIView.animate(withDuration: 0.25, delay: 0.25, options: [.beginFromCurrentState], animations: {
334
- oldThumbnails.forEach {$0.imageView.alpha = 0}
335
- }, completion: { _ in
336
- oldThumbnails.forEach {$0.imageView.removeFromSuperview()}
337
- let uuidsToRemove = Set(oldThumbnails.map({$0.uuid}))
338
- self.thumbnails.removeAll(where: {uuidsToRemove.contains($0.uuid)})
339
- })
340
-
341
- var seenIndex = 0
342
- generator.requestedTimeToleranceBefore = .zero
343
- generator.requestedTimeToleranceAfter = .zero
344
- generator.generateCGImagesAsynchronously(forTimes: times) { requestedTime, cgImage, actualTime, result, error in
345
- DispatchQueue.main.async {
346
- seenIndex += 1
347
-
348
- guard let cgImage = cgImage else {return}
349
- let image = UIImage(cgImage: cgImage)
350
-
351
- let imageView = newThumbnails[seenIndex - 1].imageView
352
- UIView.transition(with: imageView, duration: 0.25, options: [.transitionCrossDissolve], animations: {
353
- imageView.image = image
354
- })
355
- }
356
- }
357
- }
358
-
359
- private func timeForLocation(_ x: CGFloat) -> CMTime {
360
- let size = bounds.size
361
- let inset = thumbView.chevronWidth + horizontalInset
362
- let offset = x - inset
363
-
364
- let availableWidth = size.width - inset * 2
365
- let visibleDurationInSeconds = CGFloat(visibleRange.duration.seconds)
366
- let ratio = visibleDurationInSeconds != 0 ? availableWidth / visibleDurationInSeconds : 0
367
-
368
- let timeDifference = CMTime(seconds: Double(offset / ratio), preferredTimescale: 600)
369
- return CMTimeAdd(visibleRange.start, timeDifference)
370
- }
371
-
372
- private func locationForTime(_ time: CMTime) -> CGFloat {
373
- let size = bounds.size
374
- let inset = thumbView.chevronWidth + horizontalInset
375
- let availableWidth = size.width - inset * 2
376
-
377
- let offset = CMTimeSubtract(time, visibleRange.start)
378
-
379
- let visibleDurationInSeconds = CGFloat(visibleRange.duration.seconds)
380
- let ratio = visibleDurationInSeconds != 0 ? availableWidth / visibleDurationInSeconds : 0
381
-
382
- let location = CGFloat(offset.seconds) * ratio
383
- return SnapToDevicePixels(location) + inset
384
- }
385
-
386
- private func startZoomWaitTimer() {
387
- stopZoomWaitTimer()
388
- guard isZoomedIn == false else {return}
389
- zoomWaitTimer = Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false, block: { [weak self] _ in
390
- guard let self = self else {return}
391
- self.stopZoomWaitTimer()
392
- self.zoomIfNeeded()
393
- })
394
- }
395
-
396
- private func stopZoomWaitTimer() {
397
- zoomWaitTimer?.invalidate()
398
- zoomWaitTimer = nil
399
- }
400
-
401
- private func stopZoomIfNeeded() {
402
- stopZoomWaitTimer()
403
- isZoomedIn = false
404
- animateChanges()
405
- }
406
-
407
- private func zoomIfNeeded() {
408
- guard isZoomedIn == false else {return}
409
-
410
- let size = bounds.size
411
- let inset = thumbView.chevronWidth + horizontalInset
412
- let availableWidth = size.width - inset * 2
413
- let newDuration = CGFloat(range.duration.seconds > 4 ? 2.0 : range.duration.seconds * 0.5)
414
-
415
- let durationTime = CMTime(seconds: Double(newDuration), preferredTimescale: 600)
416
-
417
- if trimmingState == .leading {
418
- let position = locationForTime(selectedRange.start) - inset
419
- let start = position / availableWidth * newDuration
420
- zoomedInRange = CMTimeRange(start: CMTimeSubtract(selectedRange.start, CMTime(seconds: Double(start), preferredTimescale: 600)), duration: durationTime)
421
- } else {
422
- let position = locationForTime(selectedRange.end) - inset
423
-
424
- let durationToStart = position / availableWidth * newDuration
425
- let newStart = CMTimeSubtract(selectedRange.end, CMTime(seconds: Double(durationToStart), preferredTimescale: 600))
426
- zoomedInRange = CMTimeRange(start: newStart, duration: durationTime)
427
- }
428
-
429
- isZoomedIn = true
430
- animateChanges()
431
-
432
- UISelectionFeedbackGenerator().selectionChanged()
433
- }
434
-
435
- private func animateChanges() {
436
- setNeedsLayout()
437
- thumbView.setNeedsLayout()
438
- UIView.animate(withDuration: 0.5, delay: 0, options: [.beginFromCurrentState, .allowUserInteraction], animations: {
439
- self.layoutIfNeeded()
440
- self.thumbView.layoutIfNeeded()
441
- })
442
- }
443
-
444
- private func startPanning() {
445
- sendActions(for: Self.didBeginTrimming)
446
- UISelectionFeedbackGenerator().selectionChanged()
447
-
448
- didClampWhilePanning = false
449
-
450
- impactFeedbackGenerator = UIImpactFeedbackGenerator(style: .heavy)
451
- impactFeedbackGenerator?.prepare()
452
-
453
- UIView.animate(withDuration: 0.25, delay: 0, options: [.beginFromCurrentState, .allowUserInteraction], animations: {
454
- self.updateProgressIndicator()
455
- })
456
- }
457
-
458
- private func stopPanning() {
459
- trimmingState = .none
460
- stopZoomIfNeeded()
461
- impactFeedbackGenerator = nil
462
- sendActions(for: Self.didEndTrimming)
463
-
464
- UIView.animate(withDuration: 0.25, delay: 0, options: [.beginFromCurrentState, .allowUserInteraction], animations: {
465
- self.updateProgressIndicator()
466
- })
467
- }
468
-
469
- private func updateProgressIndicator() {
470
- switch progressIndicatorMode {
471
- case .alwaysHidden:
472
- progressIndicator.alpha = 0
473
- progressIndicatorControl.isUserInteractionEnabled = false
474
-
475
- case .alwaysShown:
476
- progressIndicator.alpha = 1
477
- progressIndicatorControl.isUserInteractionEnabled = true
478
- setNeedsLayout()
479
-
480
- case .hiddenOnlyWhenTrimming:
481
- progressIndicator.alpha = (trimmingState == .none ? 1 : 0)
482
- progressIndicatorControl.isUserInteractionEnabled = (trimmingState == .none)
483
- if trimmingState == .none {
484
- setNeedsLayout()
485
- if UIView.inheritedAnimationDuration > 0 {
486
- UIView.performWithoutAnimation {
487
- layoutIfNeeded()
488
- }
489
- }
490
- }
491
- }
492
- progressIndicatorControl.alpha = progressIndicator.alpha
493
- }
494
-
495
-
496
- // MARK: - Input
497
- @objc private func thumbnailPanned(_ sender: UILongPressGestureRecognizer) {
498
- progressGrabberPanned(sender)
499
- }
500
-
501
-
502
- @objc private func progressGrabberPanned(_ sender: UILongPressGestureRecognizer) {
503
-
504
- func handleChanged() {
505
- let location = sender.location(in: self)
506
- var time = timeForLocation(location.x + grabberOffset)
507
-
508
- var didClamp = false
509
- if CMTimeCompare(time, selectedRange.start) == -1 {
510
- time = selectedRange.start
511
- didClamp = true
512
- }
513
- if CMTimeCompare(time, selectedRange.end) == 1 {
514
- time = selectedRange.end
515
- didClamp = true
516
- }
517
-
518
- if didClamp == true && didClamp != didClampWhilePanning {
519
- impactFeedbackGenerator?.impactOccurred()
520
- }
521
- didClampWhilePanning = didClamp
522
-
523
- progress = time
524
- setNeedsLayout()
525
- sendActions(for: Self.progressChanged)
526
- }
527
- switch sender.state {
528
- case .began:
529
-
530
- UISelectionFeedbackGenerator().selectionChanged()
531
- impactFeedbackGenerator = UIImpactFeedbackGenerator(style: .heavy)
532
- impactFeedbackGenerator?.prepare()
533
- didClampWhilePanning = false
534
-
535
- isScrubbing = true
536
- sendActions(for: Self.didBeginScrubbing)
537
- handleChanged()
538
-
539
- case .changed:
540
- handleChanged()
541
-
542
- case .ended, .cancelled:
543
- impactFeedbackGenerator = nil
544
-
545
- isScrubbing = false
546
- sendActions(for: Self.didEndScrubbing)
547
-
548
- case .possible, .failed:
549
- break
550
-
551
- @unknown default:
552
- break
553
- }
554
- }
555
-
556
-
557
- @objc private func leadingGrabberPanned(_ sender: UILongPressGestureRecognizer) {
558
- switch sender.state {
559
- case .began:
560
- trimmingState = .leading
561
- grabberOffset = thumbView.chevronWidth - sender.location(in: thumbView.leadingGrabber).x
562
-
563
- startPanning()
564
-
565
- case .changed:
566
- let location = sender.location(in: self)
567
- var time = timeForLocation(location.x + grabberOffset)
568
- let newDuration = CMTimeSubtract(selectedRange.end, time)
569
- let newRange = CMTimeRange(start: time, end: selectedRange.end)
570
-
571
- if CMTimeCompare(newRange.duration, maximumDuration) == 1 {
572
- return
573
- }
574
-
575
- if CMTimeCompare(newRange.start, .zero) == -1 { // prevent start time to be less than 0
576
- return
577
- }
578
-
579
- var didClamp = false
580
- if CMTimeCompare(newDuration, minimumDuration) == -1 {
581
- // time = CMTimeSubtract(selectedRange.end, minimumDuration)
582
- // didClamp = true
583
- return
584
- }
585
- if CMTimeCompare(time, range.start) == -1 {
586
- time = range.start
587
- didClamp = true
588
- }
589
- if CMTimeCompare(time, range.end) == 1 {
590
- time = range.end
591
- didClamp = true
592
- }
593
-
594
-
595
- if didClamp == true && didClamp != didClampWhilePanning {
596
- impactFeedbackGenerator?.impactOccurred()
597
- } else {
598
- // if didClamp == false && CMTimeCompare(progress, time) == 0 && CMTimeCompare(progress, range.start) != 0 && CMTimeCompare(progress, range.end) != 0 {
599
- // impactFeedbackGenerator?.impactOccurred(intensity: 0.5)
600
- // didClamp = true
601
- // }
602
- }
603
- didClampWhilePanning = didClamp
604
-
605
- selectedRange = newRange
606
- sendActions(for: Self.selectedRangeChanged)
607
- setNeedsLayout()
608
-
609
- startZoomWaitTimer()
610
-
611
- case .ended:
612
- stopPanning()
613
-
614
- case .cancelled:
615
- stopPanning()
616
-
617
- case .possible, .failed:
618
- break
619
-
620
- @unknown default:
621
- break
622
- }
623
- }
624
-
625
- @objc private func trailingGrabberPanned(_ sender: UILongPressGestureRecognizer) {
626
- switch sender.state {
627
- case .began:
628
- trimmingState = .trailing
629
- grabberOffset = sender.location(in: thumbView.trailingGrabber).x
630
-
631
- startPanning()
632
-
633
- case .changed:
634
- let location = sender.location(in: self)
635
- var time = timeForLocation(location.x - grabberOffset)
636
- let newDuration = CMTimeSubtract(time, selectedRange.start)
637
- let newRange = CMTimeRange(start: selectedRange.start, end: time)
638
-
639
- if CMTimeCompare(newRange.duration, maximumDuration) == 1 {
640
- return
641
- }
642
-
643
- if CMTimeCompare(newRange.end, range.duration) == 1 { // prevent endTime to be greater than video endTime
644
- return
645
- }
646
-
647
- var didClamp = false
648
- if CMTimeCompare(newDuration, minimumDuration) == -1 {
649
- // time = CMTimeAdd(selectedRange.start, minimumDuration)
650
- // didClamp = true
651
- return
652
- }
653
- if CMTimeCompare(time, range.start) == -1 {
654
- time = range.start
655
- didClamp = true
656
- }
657
- if CMTimeCompare(time, range.end) == 1 {
658
- time = range.end
659
- didClamp = true
660
- }
661
-
662
- if didClamp == true && didClamp != didClampWhilePanning {
663
- impactFeedbackGenerator?.impactOccurred()
664
- } else {
665
- // if didClamp == false && CMTimeCompare(progress, time) == 0 && CMTimeCompare(progress, range.start) != 0 && CMTimeCompare(progress, range.end) != 0 {
666
- // impactFeedbackGenerator?.impactOccurred(intensity: 0.5)
667
- // didClamp = true
668
- // }
669
- }
670
- didClampWhilePanning = didClamp
671
-
672
- selectedRange = newRange
673
- sendActions(for: Self.selectedRangeChanged)
674
- setNeedsLayout()
675
-
676
- startZoomWaitTimer()
677
-
678
- case .ended:
679
- stopPanning()
680
-
681
- case .cancelled:
682
- stopPanning()
683
-
684
- case .possible, .failed:
685
- break
686
-
687
- @unknown default:
688
- break
689
- }
690
- }
691
-
692
- // MARK: - UIView
693
-
694
- override var intrinsicContentSize: CGSize {
695
- return CGSize(width: UIView.noIntrinsicMetric, height: 50)
696
- }
697
-
698
- override func layoutSubviews() {
699
- super.layoutSubviews()
700
-
701
- let size = bounds.size
702
- let inset = thumbView.chevronWidth
703
- var left = locationForTime(selectedRange.start) - inset
704
- var right = locationForTime(selectedRange.end) + inset
705
-
706
- if right > bounds.width {
707
- right = bounds.width + inset * 2
708
- }
709
-
710
- if left < 0 {
711
- left = -inset
712
- }
713
-
714
- let rect = CGRect(origin: .zero, size: size)
715
- shadowView.frame = rect
716
- wrapperView.frame = rect
717
- thumbView.frame = CGRect(x: left, y: 0, width: max(right - left, inset * 2), height: size.height)
718
-
719
- let isZoomedToEnd = (trimmingState == .leading && isZoomedIn == true)
720
-
721
- let thumbnailOffset = (isZoomedIn == true ? horizontalInset + inset + 6 : 0)
722
- let coverOffset = thumbnailOffset - horizontalInset
723
- let coverStartOffset = (isZoomedIn == false ? inset : 0)
724
-
725
- let thumbnailRect = rect.insetBy(dx: horizontalInset - thumbnailOffset, dy: thumbView.edgeHeight)
726
- thumbnailClipView.frame = rect
727
- thumbnailWrapperView.frame = thumbnailRect
728
- thumbnailTrackView.frame = CGRect(origin: .zero, size: CGSize(width: thumbnailRect.width - (isZoomedToEnd == false ? inset : 0), height: thumbnailRect.height))
729
- thumbnailLeadingCoverView.frame = CGRect(x: coverStartOffset, y: 0, width: left + inset * 0.5 + coverOffset - coverStartOffset, height: thumbnailRect.height)
730
- thumbnailTrailingCoverView.frame = CGRect(x: right - inset * 0.5 + coverOffset, y: 0, width: thumbnailRect.width - coverStartOffset - (right - inset * 0.5 + coverOffset), height: thumbnailRect.height)
731
-
732
- leadingThumbRest.frame = CGRect(x: 0, y: 0, width: inset, height: thumbnailRect.height)
733
- trailingThumbRest.frame = CGRect(x: thumbnailRect.width - inset, y: 0, width: inset, height: thumbnailRect.height)
734
-
735
- if progressIndicator.alpha > 0 {
736
- let progressWidth = CGFloat(4)
737
- let progressIndicatorOffset = locationForTime(progress)
738
- let progressLeft = min(max(thumbView.frame.minX + inset, progressIndicatorOffset - progressWidth * 0.5), thumbView.frame.maxX - inset - progressWidth)
739
- progressIndicator.frame = CGRect(x: progressLeft, y: thumbnailRect.minY, width: progressWidth, height: thumbnailRect.height)
740
-
741
- let progressControlWidth = CGFloat(24)
742
-
743
- var progressControlLeft = max(thumbView.frame.minX + inset, progressLeft)
744
- var progressControlRight = progressLeft + progressControlWidth
745
- if progressControlRight > thumbView.frame.maxX - inset {
746
- progressControlRight = thumbView.frame.maxX - inset
747
- progressControlLeft = max(thumbView.frame.minX + inset, progressControlRight - progressControlWidth)
748
- }
749
- progressIndicatorControl.frame = CGRect(x: progressControlLeft, y: thumbnailRect.minY, width: progressControlRight - progressControlLeft, height: thumbnailRect.height)
750
- }
751
-
752
- regenerateThumbnailsIfNeeded()
753
-
754
- for thumbnail in thumbnails {
755
- let position = locationForTime(thumbnail.time) - horizontalInset + thumbnailOffset
756
- let frame = CGRect(x: position, y: 0, width: thumbnailSize.width, height: thumbnailSize.height)
757
- if thumbnail.imageView.bounds.width == 0 {
758
- UIView.performWithoutAnimation {
759
- thumbnail.imageView.frame = frame
760
- }
761
- } else {
762
- thumbnail.imageView.frame = frame
763
- }
764
- }
765
- }
766
-
767
- override init(frame: CGRect) {
768
- super.init(frame: frame)
769
- setup()
770
- }
771
-
772
- required init?(coder: NSCoder) {
773
- super.init(coder: coder)
774
- setup()
775
- }
776
- }
777
-
778
- // MARK: -
779
-
780
- fileprivate func SnapToDevicePixels(_ value: CGFloat, scale: CGFloat? = nil) -> CGFloat {
781
- let actualScale = scale ?? UIScreen.main.scale
782
- return round(value * actualScale) / actualScale
783
- }
784
-
785
- fileprivate func SnapToDevicePixels(_ rect: CGRect, scale: CGFloat? = nil) -> CGRect {
786
- return CGRect(x: SnapToDevicePixels(rect.origin.x, scale: scale),
787
- y: SnapToDevicePixels(rect.origin.y, scale: scale),
788
- width: SnapToDevicePixels(rect.maxX - rect.minX, scale: scale),
789
- height: SnapToDevicePixels(rect.maxY - rect.minY, scale: scale))
790
- }
791
-
792
- fileprivate extension CGRect {
793
- func snappedToDevicePixels(scale: CGFloat? = nil) -> CGRect {
794
- return SnapToDevicePixels(self, scale: scale)
795
- }
796
- }
797
-
798
- fileprivate extension CGSize {
799
- func ceiled() -> CGSize {
800
- return CGSize(width: ceil(width), height: ceil((height)))
801
- }
802
-
803
- func snappedToDevicePixels(scale: CGFloat? = nil) -> CGSize {
804
- return CGSize(width: SnapToDevicePixels(width, scale: scale), height: SnapToDevicePixels(height, scale: scale))
805
- }
806
-
807
- func applyingVideoTransform(_ transform: CGAffineTransform) -> CGSize {
808
- return CGRect(origin: .zero, size: self).applying(transform).size
809
- }
810
- }