shakebug-react-native 1.0.14

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 (296) hide show
  1. package/DeviceInfo/index.js.flow +177 -0
  2. package/DeviceInfo/index.ts +1034 -0
  3. package/DeviceInfo/internal/asyncHookWrappers.ts +59 -0
  4. package/DeviceInfo/internal/devicesWithDynamicIsland.ts +30 -0
  5. package/DeviceInfo/internal/devicesWithNotch.ts +374 -0
  6. package/DeviceInfo/internal/nativeInterface.ts +28 -0
  7. package/DeviceInfo/internal/privateTypes.ts +231 -0
  8. package/DeviceInfo/internal/supported-platform-info.ts +97 -0
  9. package/DeviceInfo/internal/types.ts +19 -0
  10. package/DeviceInfo/web/index.js +223 -0
  11. package/GetLocals/src/NativeRNLocalize.ts +18 -0
  12. package/GetLocals/src/constants.ts +269 -0
  13. package/GetLocals/src/index.ts +56 -0
  14. package/GetLocals/src/module.ts +51 -0
  15. package/GetLocals/src/module.web.ts +148 -0
  16. package/GetLocals/src/types.ts +31 -0
  17. package/GetLocation/LocationError.ts +20 -0
  18. package/GetLocation/index.ts +46 -0
  19. package/GetLocation/utils.ts +89 -0
  20. package/ImageOrVedioPicker/src/index.ts +28 -0
  21. package/ImageOrVedioPicker/src/platforms/NativeImagePicker.ts +10 -0
  22. package/ImageOrVedioPicker/src/platforms/native.ts +61 -0
  23. package/ImageOrVedioPicker/src/platforms/web.ts +159 -0
  24. package/ImageOrVedioPicker/src/types.ts +74 -0
  25. package/NetInfo/src/__tests__/eventListenerCallbacks.spec.ts +332 -0
  26. package/NetInfo/src/__tests__/fetch.spec.ts +479 -0
  27. package/NetInfo/src/index.ts +186 -0
  28. package/NetInfo/src/internal/__mocks__/nativeModule.ts +13 -0
  29. package/NetInfo/src/internal/defaultConfiguration.ts +17 -0
  30. package/NetInfo/src/internal/defaultConfiguration.web.ts +17 -0
  31. package/NetInfo/src/internal/internetReachability.ts +180 -0
  32. package/NetInfo/src/internal/nativeInterface.ts +43 -0
  33. package/NetInfo/src/internal/nativeInterface.web.ts +27 -0
  34. package/NetInfo/src/internal/nativeModule.ts +15 -0
  35. package/NetInfo/src/internal/nativeModule.web.ts +306 -0
  36. package/NetInfo/src/internal/privateTypes.ts +41 -0
  37. package/NetInfo/src/internal/state.ts +137 -0
  38. package/NetInfo/src/internal/types.ts +128 -0
  39. package/README.md +246 -0
  40. package/RecordScreen/src/index.tsx +75 -0
  41. package/ScreenShot/src/RNViewShot.js +3 -0
  42. package/ScreenShot/src/RNViewShot.web.js +42 -0
  43. package/ScreenShot/src/index.js +308 -0
  44. package/Sensor/src/index.js +14 -0
  45. package/Sensor/src/rnsensors.js +57 -0
  46. package/Sensor/src/sensors.js +97 -0
  47. package/VideoPlayer/PlayVideo.tsx +51 -0
  48. package/VideoPlayer/index.js +69 -0
  49. package/android/README.md +14 -0
  50. package/android/build/generated/source/buildConfig/debug/com/shakebug/BuildConfig.java +10 -0
  51. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +42 -0
  52. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  53. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +6 -0
  54. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  55. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  56. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  57. package/android/build/intermediates/compile_symbol_list/debug/R.txt +47 -0
  58. package/android/build/intermediates/compiled_local_resources/debug/out/xml_imagepicker_provider_paths.xml.flat +0 -0
  59. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +12 -0
  60. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  61. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  62. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  63. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  64. package/android/build/intermediates/javac/debug/classes/com/shakebug/BuildConfig.class +0 -0
  65. package/android/build/intermediates/javac/debug/classes/com/shakebug/CustomMediaMetadataRetriever.class +0 -0
  66. package/android/build/intermediates/javac/debug/classes/com/shakebug/ImageMetadata.class +0 -0
  67. package/android/build/intermediates/javac/debug/classes/com/shakebug/ImagePickerProvider.class +0 -0
  68. package/android/build/intermediates/javac/debug/classes/com/shakebug/Metadata.class +0 -0
  69. package/android/build/intermediates/javac/debug/classes/com/shakebug/Options.class +0 -0
  70. package/android/build/intermediates/javac/debug/classes/com/shakebug/RecordScreenModule$1.class +0 -0
  71. package/android/build/intermediates/javac/debug/classes/com/shakebug/RecordScreenModule.class +0 -0
  72. package/android/build/intermediates/javac/debug/classes/com/shakebug/Shakebug.class +0 -0
  73. package/android/build/intermediates/javac/debug/classes/com/shakebug/ShakebugPackage.class +0 -0
  74. package/android/build/intermediates/javac/debug/classes/com/shakebug/Utility.class +0 -0
  75. package/android/build/intermediates/javac/debug/classes/com/shakebug/Utils.class +0 -0
  76. package/android/build/intermediates/javac/debug/classes/com/shakebug/VideoMetadata.class +0 -0
  77. package/android/build/intermediates/javac/debug/classes/com/shakebug/ViewShot$1.class +0 -0
  78. package/android/build/intermediates/javac/debug/classes/com/shakebug/ViewShot$2.class +0 -0
  79. package/android/build/intermediates/javac/debug/classes/com/shakebug/ViewShot$Formats.class +0 -0
  80. package/android/build/intermediates/javac/debug/classes/com/shakebug/ViewShot$Results.class +0 -0
  81. package/android/build/intermediates/javac/debug/classes/com/shakebug/ViewShot$ReusableByteArrayOutputStream.class +0 -0
  82. package/android/build/intermediates/javac/debug/classes/com/shakebug/ViewShot.class +0 -0
  83. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +49 -0
  84. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +82 -0
  85. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +42 -0
  86. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  87. package/android/build/intermediates/packaged_res/debug/values/values.xml +25 -0
  88. package/android/build/intermediates/packaged_res/debug/xml/imagepicker_provider_paths.xml +4 -0
  89. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/BuildConfig.class +0 -0
  90. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/CustomMediaMetadataRetriever.class +0 -0
  91. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ImageMetadata.class +0 -0
  92. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ImagePickerProvider.class +0 -0
  93. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/Metadata.class +0 -0
  94. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/Options.class +0 -0
  95. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/RecordScreenModule$1.class +0 -0
  96. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/RecordScreenModule.class +0 -0
  97. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/Shakebug.class +0 -0
  98. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ShakebugPackage.class +0 -0
  99. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/Utility.class +0 -0
  100. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/Utils.class +0 -0
  101. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/VideoMetadata.class +0 -0
  102. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ViewShot$1.class +0 -0
  103. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ViewShot$2.class +0 -0
  104. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ViewShot$Formats.class +0 -0
  105. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ViewShot$Results.class +0 -0
  106. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ViewShot$ReusableByteArrayOutputStream.class +0 -0
  107. package/android/build/intermediates/runtime_library_classes_dir/debug/com/shakebug/ViewShot.class +0 -0
  108. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +48 -0
  109. package/android/build/outputs/logs/manifest-merger-debug-report.txt +97 -0
  110. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  111. package/android/build.gradle +235 -0
  112. package/android/src/main/AndroidManifest.xml +40 -0
  113. package/android/src/main/java/com/shakebug/AmazonFireDeviceConnectivityPoller.java +170 -0
  114. package/android/src/main/java/com/shakebug/BaseUtils.java +33 -0
  115. package/android/src/main/java/com/shakebug/BroadcastReceiverConnectivityReceiver.java +131 -0
  116. package/android/src/main/java/com/shakebug/ConnectivityReceiver.java +318 -0
  117. package/android/src/main/java/com/shakebug/CrashLoggerModule.java +48 -0
  118. package/android/src/main/java/com/shakebug/DateUtil.java +64 -0
  119. package/android/src/main/java/com/shakebug/DeviceType.java +18 -0
  120. package/android/src/main/java/com/shakebug/DeviceUtil.java +46 -0
  121. package/android/src/main/java/com/shakebug/DrawingView.java +90 -0
  122. package/android/src/main/java/com/shakebug/DrawingViewManager.java +38 -0
  123. package/android/src/main/java/com/shakebug/GetLocation.java +147 -0
  124. package/android/src/main/java/com/shakebug/ImageMetadata.java +42 -0
  125. package/android/src/main/java/com/shakebug/ImagePickerProvider.java +8 -0
  126. package/android/src/main/java/com/shakebug/Metadata.java +46 -0
  127. package/android/src/main/java/com/shakebug/NetInfoModule.java +79 -0
  128. package/android/src/main/java/com/shakebug/NetInfoUtils.java +50 -0
  129. package/android/src/main/java/com/shakebug/NetworkCallbackConnectivityReceiver.java +209 -0
  130. package/android/src/main/java/com/shakebug/Options.java +42 -0
  131. package/android/src/main/java/com/shakebug/RNDeviceModule.java +1036 -0
  132. package/android/src/main/java/com/shakebug/RNInstallReferrerClient.java +124 -0
  133. package/android/src/main/java/com/shakebug/RNLocalizeModule.java +79 -0
  134. package/android/src/main/java/com/shakebug/RNLocalizeModuleImpl.java +258 -0
  135. package/android/src/main/java/com/shakebug/ReactNativeGetLocationModule.java +95 -0
  136. package/android/src/main/java/com/shakebug/RecordScreenModule.java +202 -0
  137. package/android/src/main/java/com/shakebug/ScreenshotDetectorModule.java +63 -0
  138. package/android/src/main/java/com/shakebug/SettingsUtil.java +44 -0
  139. package/android/src/main/java/com/shakebug/Shakebug.java +181 -0
  140. package/android/src/main/java/com/shakebug/ShakebugPackage.java +75 -0
  141. package/android/src/main/java/com/shakebug/ShakebugSDKImagePickerModule.java +56 -0
  142. package/android/src/main/java/com/shakebug/ShakebugSDKImagePickerModuleImpl.java +230 -0
  143. package/android/src/main/java/com/shakebug/ShakebugSDKScreenShotModule.java +196 -0
  144. package/android/src/main/java/com/shakebug/SharedPreferencesModule.java +39 -0
  145. package/android/src/main/java/com/shakebug/UnitConverter.java +48 -0
  146. package/android/src/main/java/com/shakebug/Utility.java +29 -0
  147. package/android/src/main/java/com/shakebug/Utils.java +593 -0
  148. package/android/src/main/java/com/shakebug/VideoMetadata.java +91 -0
  149. package/android/src/main/java/com/shakebug/VideoPlayerModule.java +199 -0
  150. package/android/src/main/java/com/shakebug/VideoThumbnailModule.java +215 -0
  151. package/android/src/main/java/com/shakebug/VideoTrimModule.java +372 -0
  152. package/android/src/main/java/com/shakebug/ViewShot.java +627 -0
  153. package/android/src/main/java/com/shakebug/adapters/VideoTrimmerAdapter.java +54 -0
  154. package/android/src/main/java/com/shakebug/callback/SingleCallback.java +11 -0
  155. package/android/src/main/java/com/shakebug/interfaces/IVideoTrimmerView.java +5 -0
  156. package/android/src/main/java/com/shakebug/interfaces/VideoPlayerListner.java +5 -0
  157. package/android/src/main/java/com/shakebug/interfaces/VideoTrimListener.java +10 -0
  158. package/android/src/main/java/com/shakebug/resolver/DeviceIdResolver.java +87 -0
  159. package/android/src/main/java/com/shakebug/resolver/DeviceTypeResolver.java +94 -0
  160. package/android/src/main/java/com/shakebug/thread/BackgroundExecutor.java +246 -0
  161. package/android/src/main/java/com/shakebug/thread/UiThreadExecutor.java +120 -0
  162. package/android/src/main/java/com/shakebug/types/CellularGeneration.java +60 -0
  163. package/android/src/main/java/com/shakebug/types/ConnectionType.java +26 -0
  164. package/android/src/main/java/com/shakebug/utils/StorageUtil.java +139 -0
  165. package/android/src/main/java/com/shakebug/utils/VideoTrimmerUtil.java +89 -0
  166. package/android/src/main/java/com/shakebug/widgets/RangeSeekBarView.java +534 -0
  167. package/android/src/main/java/com/shakebug/widgets/SpacesItemDecoration2.java +32 -0
  168. package/android/src/main/java/com/shakebug/widgets/VideoPlayerView.java +429 -0
  169. package/android/src/main/java/com/shakebug/widgets/VideoTrimmerView.java +477 -0
  170. package/android/src/main/java/com/shakebug/widgets/ZVideoView.java +48 -0
  171. package/android/src/main/res/drawable/custom_progress.xml +16 -0
  172. package/android/src/main/res/drawable/custom_thumb.xml +4 -0
  173. package/android/src/main/res/drawable/ic_close_button.xml +10 -0
  174. package/android/src/main/res/drawable/ic_video_pause_black.png +0 -0
  175. package/android/src/main/res/drawable/ic_video_play_black.png +0 -0
  176. package/android/src/main/res/drawable/ic_video_thumb_handle.png +0 -0
  177. package/android/src/main/res/drawable/icon_seek_bar.png +0 -0
  178. package/android/src/main/res/layout/video_player_view.xml +121 -0
  179. package/android/src/main/res/layout/video_thumb_item_layout.xml +16 -0
  180. package/android/src/main/res/layout/video_trimmer_view.xml +148 -0
  181. package/android/src/main/res/values/colors.xml +17 -0
  182. package/android/src/main/res/values/strings.xml +14 -0
  183. package/android/src/main/res/xml/imagepicker_provider_paths.xml +4 -0
  184. package/ios/CammeraPermission/RNCameraPermission.h +16 -0
  185. package/ios/CammeraPermission/RNCameraPermission.m +46 -0
  186. package/ios/DeviceInfo/DeviceUID.h +14 -0
  187. package/ios/DeviceInfo/DeviceUID.m +202 -0
  188. package/ios/DeviceInfo/EnvironmentUtil.h +41 -0
  189. package/ios/DeviceInfo/EnvironmentUtil.m +56 -0
  190. package/ios/DeviceInfo/RNDeviceInfo.h +22 -0
  191. package/ios/DeviceInfo/RNDeviceInfo.m +918 -0
  192. package/ios/GetLocals/ShakebugSDKRNLocalize.h +21 -0
  193. package/ios/GetLocals/ShakebugSDKRNLocalize.m +296 -0
  194. package/ios/GetLocation/SettingsUtil.h +16 -0
  195. package/ios/GetLocation/SettingsUtil.m +21 -0
  196. package/ios/GetLocation/ShakebugSDKLocationModule.h +17 -0
  197. package/ios/GetLocation/ShakebugSDKLocationModule.m +218 -0
  198. package/ios/ImageOrVideoPicker/ShakebugSDKImagePickerManager.h +40 -0
  199. package/ios/ImageOrVideoPicker/ShakebugSDKImagePickerManager.m +588 -0
  200. package/ios/ImageOrVideoPicker/ShakebugSDKImagePickerUtils.h +26 -0
  201. package/ios/ImageOrVideoPicker/ShakebugSDKImagePickerUtils.m +194 -0
  202. package/ios/MicrophonePermissionManager.h +14 -0
  203. package/ios/MicrophonePermissionManager.m +35 -0
  204. package/ios/NetInfo/RNCConnectionState.h +42 -0
  205. package/ios/NetInfo/RNCConnectionState.m +119 -0
  206. package/ios/NetInfo/RNCConnectionStateWatcher.h +31 -0
  207. package/ios/NetInfo/RNCConnectionStateWatcher.m +136 -0
  208. package/ios/NetInfo/RNCNetInfo.h +13 -0
  209. package/ios/NetInfo/RNCNetInfo.m +269 -0
  210. package/ios/RecordScreen/ShakebugSDKRecordScreen.h +31 -0
  211. package/ios/RecordScreen/ShakebugSDKRecordScreen.m +309 -0
  212. package/ios/ScreenShot/ShakebugSDKRNViewShot.h +6 -0
  213. package/ios/ScreenShot/ShakebugSDKRNViewShot.m +186 -0
  214. package/ios/ScreenshotDetector/ScreenShotDetector.h +12 -0
  215. package/ios/ScreenshotDetector/ScreenShotDetector.m +37 -0
  216. package/ios/Senors/RNSensorsAccelerometer.h +22 -0
  217. package/ios/Senors/RNSensorsAccelerometer.m +162 -0
  218. package/ios/Senors/RNSensorsBarometer.h +22 -0
  219. package/ios/Senors/RNSensorsBarometer.m +141 -0
  220. package/ios/Senors/RNSensorsGravity.h +22 -0
  221. package/ios/Senors/RNSensorsGravity.m +165 -0
  222. package/ios/Senors/RNSensorsGyroscope.h +22 -0
  223. package/ios/Senors/RNSensorsGyroscope.m +160 -0
  224. package/ios/Senors/RNSensorsMagnetometer.h +22 -0
  225. package/ios/Senors/RNSensorsMagnetometer.m +163 -0
  226. package/ios/Senors/RNSensorsOrientation.h +22 -0
  227. package/ios/Senors/RNSensorsOrientation.m +189 -0
  228. package/ios/Senors/RNSensorsUtils.h +7 -0
  229. package/ios/Senors/RNSensorsUtils.m +9 -0
  230. package/ios/Shakebug.h +7 -0
  231. package/ios/Shakebug.m +16 -0
  232. package/ios/Shakebug.xcodeproj/project.pbxproj +872 -0
  233. package/ios/Shakebug.xcodeproj/xcshareddata/xcschemes/Shakebug.xcscheme +66 -0
  234. package/ios/Shakebug.xcworkspace/contents.xcworkspacedata +10 -0
  235. package/ios/Shakebug.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  236. package/ios/SketchCanvas/DrawingView.h +18 -0
  237. package/ios/SketchCanvas/DrawingView.m +96 -0
  238. package/ios/SketchCanvas/DrawingViewManager.h +12 -0
  239. package/ios/SketchCanvas/DrawingViewManager.m +35 -0
  240. package/ios/Storage/SharedPreferencesModule.h +13 -0
  241. package/ios/Storage/SharedPreferencesModule.m +35 -0
  242. package/ios/Thumbnaill/VideoThumbnailManager.h +12 -0
  243. package/ios/Thumbnaill/VideoThumbnailManager.m +73 -0
  244. package/ios/TrimVideo/ShakebugSDKVideoTrim.swift +372 -0
  245. package/ios/TrimVideo/VideoTrim-Bridging-Header.h +10 -0
  246. package/ios/TrimVideo/VideoTrim.m +23 -0
  247. package/ios/TrimVideo/VideoTrimmer.swift +810 -0
  248. package/ios/TrimVideo/VideoTrimmerThumb.swift +119 -0
  249. package/ios/TrimVideo/VideoTrimmerViewController.swift +301 -0
  250. package/ios/VideoPlayer/VideoPlayerModule.h +14 -0
  251. package/ios/VideoPlayer/VideoPlayerModule.m +29 -0
  252. package/ios/VideoPlayer/VideoPlayerViewController.h +18 -0
  253. package/ios/VideoPlayer/VideoPlayerViewController.m +29 -0
  254. package/package.json +45 -0
  255. package/shakebug-react-native.podspec +50 -0
  256. package/src/APIs/AddIssue.js +70 -0
  257. package/src/APIs/EndSession.js +32 -0
  258. package/src/APIs/Event.js +39 -0
  259. package/src/APIs/MatchKey.js +40 -0
  260. package/src/APIs/StartSession.js +84 -0
  261. package/src/Assets/images/OpenSketch.png +0 -0
  262. package/src/Assets/images/Push.png +0 -0
  263. package/src/Assets/images/RemoveTextView.png +0 -0
  264. package/src/Assets/images/black.png +0 -0
  265. package/src/Assets/images/blue.png +0 -0
  266. package/src/Assets/images/borderdBlack.png +0 -0
  267. package/src/Assets/images/borderdBlue.png +0 -0
  268. package/src/Assets/images/borderdGreen.png +0 -0
  269. package/src/Assets/images/borderdRed.png +0 -0
  270. package/src/Assets/images/borderdYellow.png +0 -0
  271. package/src/Assets/images/clear.png +0 -0
  272. package/src/Assets/images/close.png +0 -0
  273. package/src/Assets/images/green.png +0 -0
  274. package/src/Assets/images/next.png +0 -0
  275. package/src/Assets/images/play.png +0 -0
  276. package/src/Assets/images/red.png +0 -0
  277. package/src/Assets/images/shake.png +0 -0
  278. package/src/Assets/images/shakebugLogo.png +0 -0
  279. package/src/Assets/images/stopButton.png +0 -0
  280. package/src/Assets/images/text_icon.png +0 -0
  281. package/src/Assets/images/yellow.png +0 -0
  282. package/src/Componanats/CustomAlert.js +80 -0
  283. package/src/Componanats/ErrorHandler.js +80 -0
  284. package/src/Componanats/GlobalStateContext.js +22 -0
  285. package/src/Componanats/KeyboardAvoidingWrapper.js +43 -0
  286. package/src/Componanats/NavigationContext.js +42 -0
  287. package/src/Componanats/ShakeFunction.js +562 -0
  288. package/src/Componanats/localization.js +482 -0
  289. package/src/Screens/AddDetailsScreen.js +462 -0
  290. package/src/Screens/FirstScreen.js +629 -0
  291. package/src/Screens/Shakebug.js +487 -0
  292. package/src/Screens/StrockView.js +20 -0
  293. package/src/Screens/TrimVideoScreen.js +81 -0
  294. package/src/Screens/TutorialScreen.js +36 -0
  295. package/src/index.tsx +117 -0
  296. package/trimVideo/src/index.tsx +141 -0
@@ -0,0 +1,231 @@
1
+ import { Platform } from 'react-native';
2
+ import type { DeviceType, LocationProviderInfo, PowerState, AsyncHookResult } from './types';
3
+
4
+ export type NotchDevice = {
5
+ brand: string;
6
+ model: string;
7
+
8
+ [key: string]: string;
9
+ };
10
+
11
+ interface NativeConstants {
12
+ appName: string;
13
+ appVersion: string;
14
+ brand: string;
15
+ buildNumber: string;
16
+ bundleId: string;
17
+ deviceId: string;
18
+ deviceType: DeviceType;
19
+ isTablet: boolean;
20
+ isLowRamDevice: boolean;
21
+ isDisplayZoomed: boolean;
22
+ model: string;
23
+ systemName: string;
24
+ systemVersion: string;
25
+ }
26
+
27
+ interface HiddenNativeMethods {
28
+ getPowerState: () => Promise<PowerState>;
29
+ getPowerStateSync: () => PowerState;
30
+ getSupported32BitAbis: () => Promise<string[]>;
31
+ getSupported32BitAbisSync: () => string[];
32
+ getSupported64BitAbis: () => Promise<string[]>;
33
+ getSupported64BitAbisSync: () => string[];
34
+ getSupportedAbis: () => Promise<string[]>;
35
+ getSupportedAbisSync: () => string[];
36
+ getSystemManufacturer: () => Promise<string>;
37
+ getSystemManufacturerSync: () => string;
38
+ }
39
+
40
+ interface ExposedNativeMethods {
41
+ getAndroidId: () => Promise<string>;
42
+ getAndroidIdSync: () => string;
43
+ getApiLevel: () => Promise<number>;
44
+ getApiLevelSync: () => number;
45
+ getAvailableLocationProviders: () => Promise<LocationProviderInfo>;
46
+ getAvailableLocationProvidersSync: () => LocationProviderInfo;
47
+ getBaseOs: () => Promise<string>;
48
+ getBaseOsSync: () => string;
49
+ getBatteryLevel: () => Promise<number>;
50
+ getBatteryLevelSync: () => number;
51
+ getBootloader: () => Promise<string>;
52
+ getBootloaderSync: () => string;
53
+ getBuildId: () => Promise<string>;
54
+ getBuildIdSync: () => string;
55
+ getCarrier: () => Promise<string>;
56
+ getCarrierSync: () => string;
57
+ getCodename: () => Promise<string>;
58
+ getCodenameSync: () => string;
59
+ getDevice: () => Promise<string>;
60
+ getDeviceName: () => Promise<string>;
61
+ getDeviceNameSync: () => string;
62
+ getDeviceSync: () => string;
63
+ getDeviceToken: () => Promise<string>;
64
+ getDisplay: () => Promise<string>;
65
+ getDisplaySync: () => string;
66
+ getFingerprint: () => Promise<string>;
67
+ getFingerprintSync: () => string;
68
+ getFirstInstallTime: () => Promise<number>;
69
+ getFirstInstallTimeSync: () => number;
70
+ getFontScale: () => Promise<number>;
71
+ getFontScaleSync: () => number;
72
+ getFreeDiskStorage: () => Promise<number>;
73
+ getFreeDiskStorageOld: () => Promise<number>;
74
+ getFreeDiskStorageSync: () => number;
75
+ getFreeDiskStorageOldSync: () => number;
76
+ getHardware: () => Promise<string>;
77
+ getHardwareSync: () => string;
78
+ getHost: () => Promise<string>;
79
+ getHostSync: () => string;
80
+ getHostNames: () => Promise<string[]>;
81
+ getHostNamesSync: () => string[];
82
+ getIncremental: () => Promise<string>;
83
+ getIncrementalSync: () => string;
84
+ getInstallerPackageName: () => Promise<string>;
85
+ getInstallerPackageNameSync: () => string;
86
+ getInstallReferrer: () => Promise<string>;
87
+ getInstallReferrerSync: () => string;
88
+ getInstanceId: () => Promise<string>;
89
+ getInstanceIdSync: () => string;
90
+ getIpAddress: () => Promise<string>;
91
+ getIpAddressSync: () => string;
92
+ getLastUpdateTime: () => Promise<number>;
93
+ getLastUpdateTimeSync: () => number;
94
+ getMacAddress: () => Promise<string>;
95
+ getMacAddressSync: () => string;
96
+ getMaxMemory: () => Promise<number>;
97
+ getMaxMemorySync: () => number;
98
+ getPhoneNumber: () => Promise<string>;
99
+ getPhoneNumberSync: () => string;
100
+ getPreviewSdkInt: () => Promise<number>;
101
+ getPreviewSdkIntSync: () => number;
102
+ getProduct: () => Promise<string>;
103
+ getProductSync: () => string;
104
+ getSecurityPatch: () => Promise<string>;
105
+ getSecurityPatchSync: () => string;
106
+ getSerialNumber: () => Promise<string>;
107
+ getSerialNumberSync: () => string;
108
+ getSystemAvailableFeatures: () => Promise<string[]>;
109
+ getSystemAvailableFeaturesSync: () => string[];
110
+ getTags: () => Promise<string>;
111
+ getTagsSync: () => string;
112
+ getTotalDiskCapacity: () => Promise<number>;
113
+ getTotalDiskCapacityOld: () => Promise<number>;
114
+ getTotalDiskCapacitySync: () => number;
115
+ getTotalDiskCapacityOldSync: () => number;
116
+ getTotalMemory: () => Promise<number>;
117
+ getTotalMemorySync: () => number;
118
+ getType: () => Promise<string>;
119
+ getTypeSync: () => string;
120
+ getUniqueId: () => Promise<string>;
121
+ getUniqueIdSync: () => string;
122
+ getUsedMemory: () => Promise<number>;
123
+ getUsedMemorySync: () => number;
124
+ getUserAgent: () => Promise<string>;
125
+ getUserAgentSync: () => string;
126
+ getBrightness: () => Promise<number>;
127
+ getBrightnessSync: () => number;
128
+ hasGms: () => Promise<boolean>;
129
+ hasGmsSync: () => boolean;
130
+ hasHms: () => Promise<boolean>;
131
+ hasHmsSync: () => boolean;
132
+ hasSystemFeature: (feature: string) => Promise<boolean>;
133
+ hasSystemFeatureSync: (feature: string) => boolean;
134
+ isAirplaneMode: () => Promise<boolean>;
135
+ isAirplaneModeSync: () => boolean;
136
+ isBatteryCharging: () => Promise<boolean>;
137
+ isBatteryChargingSync: () => boolean;
138
+ isCameraPresent: () => Promise<boolean>;
139
+ isCameraPresentSync: () => boolean;
140
+ isEmulator: () => Promise<boolean>;
141
+ isEmulatorSync: () => boolean;
142
+ isHeadphonesConnected: () => Promise<boolean>;
143
+ isHeadphonesConnectedSync: () => boolean;
144
+ isLocationEnabled: () => Promise<boolean>;
145
+ isLocationEnabledSync: () => boolean;
146
+ isPinOrFingerprintSet: () => Promise<boolean>;
147
+ isPinOrFingerprintSetSync: () => boolean;
148
+ isMouseConnected: () => Promise<boolean>;
149
+ isMouseConnectedSync: () => boolean;
150
+ isKeyboardConnected: () => Promise<boolean>;
151
+ isKeyboardConnectedSync: () => boolean;
152
+ isTabletMode: () => Promise<boolean>;
153
+ syncUniqueId: () => Promise<string>;
154
+ getSupportedMediaTypeList: () => Promise<string[]>
155
+ getSupportedMediaTypeListSync: () => string[]
156
+ }
157
+
158
+ export interface DeviceInfoNativeModule
159
+ extends NativeConstants,
160
+ HiddenNativeMethods,
161
+ ExposedNativeMethods {}
162
+
163
+ export interface DeviceInfoModule extends ExposedNativeMethods {
164
+ getApplicationName: () => string;
165
+ getBrand: () => string;
166
+ getBuildNumber: () => string;
167
+ getBundleId: () => string;
168
+ getDeviceId: () => string;
169
+ getDeviceType: () => string;
170
+ getManufacturer: () => Promise<string>;
171
+ getManufacturerSync: () => string;
172
+ getModel: () => string;
173
+ getPowerState: () => Promise<Partial<PowerState>>;
174
+ getPowerStateSync: () => Partial<PowerState>;
175
+ getReadableVersion: () => string;
176
+ getSystemName: () => string;
177
+ getSystemVersion: () => string;
178
+ getUniqueId: () => Promise<string>;
179
+ getUniqueIdSync: () => string;
180
+ getVersion: () => string;
181
+ hasNotch: () => boolean;
182
+ hasDynamicIsland: () => boolean;
183
+ hasSystemFeature: (feature: string) => Promise<boolean>;
184
+ hasSystemFeatureSync: (feature: string) => boolean;
185
+ isLandscape: () => Promise<boolean>;
186
+ isLandscapeSync: () => boolean;
187
+ isTablet: () => boolean;
188
+ isLowRamDevice: () => boolean;
189
+ isDisplayZoomed: () => boolean;
190
+ supported32BitAbis: () => Promise<string[]>;
191
+ supported32BitAbisSync: () => string[];
192
+ supported64BitAbis: () => Promise<string[]>;
193
+ supported64BitAbisSync: () => string[];
194
+ supportedAbis: () => Promise<string[]>;
195
+ supportedAbisSync: () => string[];
196
+ useBatteryLevel: () => number | null;
197
+ useBatteryLevelIsLow: () => number | null;
198
+ useDeviceName: () => AsyncHookResult<string>;
199
+ useFirstInstallTime: () => AsyncHookResult<number>;
200
+ useHasSystemFeature: (feature: string) => AsyncHookResult<boolean>;
201
+ useIsEmulator: () => AsyncHookResult<boolean>;
202
+ usePowerState: () => Partial<PowerState>;
203
+ useManufacturer: () => AsyncHookResult<string>;
204
+ useIsHeadphonesConnected: () => AsyncHookResult<boolean>;
205
+ useBrightness: () => number | null;
206
+ }
207
+
208
+ export type Getter<T> = () => T;
209
+ export type PlatformArray = typeof Platform.OS[];
210
+
211
+ export interface GetSupportedPlatformInfoSyncParams<T> {
212
+ getter: Getter<T>;
213
+ supportedPlatforms: PlatformArray;
214
+ defaultValue: T;
215
+ memoKey?: string;
216
+ }
217
+
218
+ export interface GetSupportedPlatformInfoAsyncParams<T>
219
+ extends Omit<GetSupportedPlatformInfoSyncParams<T>, 'getter'> {
220
+ getter: Getter<Promise<T>>;
221
+ }
222
+
223
+ export interface GetFilterPlatformFunctionsParams<T>
224
+ extends GetSupportedPlatformInfoAsyncParams<T> {
225
+ syncGetter: Getter<T>;
226
+ }
227
+
228
+ export interface GetSupportedPlatformInfoFunctionsParams<T>
229
+ extends GetSupportedPlatformInfoAsyncParams<T> {
230
+ syncGetter: Getter<T>;
231
+ }
@@ -0,0 +1,97 @@
1
+ import { Platform } from 'react-native';
2
+
3
+ import {
4
+ PlatformArray,
5
+ Getter,
6
+ GetSupportedPlatformInfoAsyncParams,
7
+ GetSupportedPlatformInfoSyncParams,
8
+ GetSupportedPlatformInfoFunctionsParams,
9
+ } from './privateTypes';
10
+
11
+ type MemoType = { [key: string]: any };
12
+ // centralized memo object
13
+ let memo: MemoType = {};
14
+
15
+ export function clearMemo() {
16
+ memo = {};
17
+ }
18
+
19
+ /**
20
+ * function returns the proper getter based current platform X supported platforms
21
+ * @param supportedPlatforms array of supported platforms (OS)
22
+ * @param getter desired function used to get info
23
+ * @param defaultGetter getter that returns a default value if desired getter is not supported by current platform
24
+ */
25
+ function getSupportedFunction<T>(
26
+ supportedPlatforms: PlatformArray,
27
+ getter: Getter<T>,
28
+ defaultGetter: Getter<T>
29
+ ): Getter<T> {
30
+ let supportedMap: any = {};
31
+ supportedPlatforms
32
+ .filter((key) => Platform.OS == key)
33
+ .forEach((key) => (supportedMap[key] = getter));
34
+ return Platform.select({
35
+ ...supportedMap,
36
+ default: defaultGetter,
37
+ });
38
+ }
39
+
40
+ /**
41
+ * function used to get desired info synchronously — with optional memoization
42
+ * @param param0
43
+ */
44
+ export function getSupportedPlatformInfoSync<T>({
45
+ getter,
46
+ supportedPlatforms,
47
+ defaultValue,
48
+ memoKey,
49
+ }: GetSupportedPlatformInfoSyncParams<T>): T {
50
+ if (memoKey && memo[memoKey] != undefined) {
51
+ return memo[memoKey];
52
+ } else {
53
+ const output = getSupportedFunction(supportedPlatforms, getter, () => defaultValue)();
54
+ if (memoKey) {
55
+ memo[memoKey] = output;
56
+ }
57
+ return output;
58
+ }
59
+ }
60
+
61
+ /**
62
+ * function used to get desired info asynchronously — with optional memoization
63
+ * @param param0
64
+ */
65
+ export async function getSupportedPlatformInfoAsync<T>({
66
+ getter,
67
+ supportedPlatforms,
68
+ defaultValue,
69
+ memoKey,
70
+ }: GetSupportedPlatformInfoAsyncParams<T>): Promise<T> {
71
+ if (memoKey && memo[memoKey] != undefined) {
72
+ return memo[memoKey];
73
+ } else {
74
+ const output = await getSupportedFunction(supportedPlatforms, getter, () =>
75
+ Promise.resolve(defaultValue)
76
+ )();
77
+ if (memoKey) {
78
+ memo[memoKey] = output;
79
+ }
80
+
81
+ return output;
82
+ }
83
+ }
84
+
85
+ /**
86
+ * function that returns array of getter functions [async, sync]
87
+ * @param param0
88
+ */
89
+ export function getSupportedPlatformInfoFunctions<T>({
90
+ syncGetter,
91
+ ...asyncParams
92
+ }: GetSupportedPlatformInfoFunctionsParams<T>): [Getter<Promise<T>>, Getter<T>] {
93
+ return [
94
+ () => getSupportedPlatformInfoAsync(asyncParams),
95
+ () => getSupportedPlatformInfoSync({ ...asyncParams, getter: syncGetter }),
96
+ ];
97
+ }
@@ -0,0 +1,19 @@
1
+ export type DeviceType = 'Handset' | 'Tablet' | 'Tv' | 'Desktop' | 'GamingConsole' | 'unknown';
2
+
3
+ export type BatteryState = 'unknown' | 'unplugged' | 'charging' | 'full';
4
+
5
+ export interface PowerState {
6
+ batteryLevel: number;
7
+ batteryState: BatteryState;
8
+ lowPowerMode: boolean;
9
+ [key: string]: any;
10
+ }
11
+
12
+ export interface LocationProviderInfo {
13
+ [key: string]: boolean;
14
+ }
15
+
16
+ export interface AsyncHookResult<T> {
17
+ loading: boolean;
18
+ result: T;
19
+ }
@@ -0,0 +1,223 @@
1
+ import { NativeEventEmitter, NativeModules } from 'react-native';
2
+
3
+ const deviceInfoEmitter = new NativeEventEmitter(NativeModules.RNDeviceInfo);
4
+
5
+ let batteryCharging = false,
6
+ batteryLevel = -1,
7
+ powerState = {};
8
+
9
+ const _readPowerState = (battery) => {
10
+ const { level, charging, chargingtime, dischargingtime } = battery;
11
+
12
+ return {
13
+ batteryLevel: level,
14
+ lowPowerMode: false,
15
+ batteryState: level === 1 ? 'full' : charging ? 'charging' : 'unplugged',
16
+ chargingtime,
17
+ dischargingtime,
18
+ };
19
+ };
20
+
21
+ export const getMaxMemorySync = () => {
22
+ if (window.performance && window.performance.memory) {
23
+ return window.performance.memory.jsHeapSizeLimit;
24
+ }
25
+ return -1;
26
+ };
27
+
28
+ export const getInstallReferrerSync = () => {
29
+ return document.referrer;
30
+ };
31
+
32
+ export const isAirplaneModeSync = () => {
33
+ return !!navigator.onLine;
34
+ };
35
+
36
+ export const getUserAgentSync = () => {
37
+ return window.navigator.userAgent;
38
+ };
39
+
40
+ export const isLocationEnabledSync = () => {
41
+ return !!navigator.geolocation;
42
+ };
43
+
44
+ export const getTotalMemorySync = () => {
45
+ if (navigator.deviceMemory) {
46
+ return navigator.deviceMemory * 1000000000;
47
+ }
48
+ return -1;
49
+ };
50
+
51
+ export const getUsedMemorySync = () => {
52
+ if (window.performance && window.performance.memory) {
53
+ return window.performance.memory.usedJSHeapSize;
54
+ }
55
+ return -1;
56
+ };
57
+
58
+ const init = () => {
59
+ if (typeof navigator === 'undefined' || !navigator.getBattery) return;
60
+
61
+ navigator.getBattery().then((battery) => {
62
+ batteryCharging = battery.charging;
63
+
64
+ battery.addEventListener('chargingchange', () => {
65
+ const { charging } = battery;
66
+
67
+ batteryCharging = charging;
68
+ powerState = _readPowerState(battery);
69
+
70
+ deviceInfoEmitter.emit('RNDeviceInfo_powerStateDidChange', powerState);
71
+ });
72
+
73
+ battery.addEventListener('levelchange', () => {
74
+ const { level } = battery;
75
+
76
+ batteryLevel = level;
77
+ powerState = _readPowerState(battery);
78
+
79
+ deviceInfoEmitter.emit('RNDeviceInfo_batteryLevelDidChange', level);
80
+ if (level < 0.2) {
81
+ deviceInfoEmitter.emit('RNDeviceInfo_batteryLevelIsLow', level);
82
+ }
83
+ });
84
+ });
85
+ };
86
+
87
+ const getBaseOsSync = () => {
88
+ const userAgent = window.navigator.userAgent,
89
+ platform = window.navigator.platform,
90
+ macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],
91
+ windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],
92
+ iosPlatforms = ['iPhone', 'iPad', 'iPod'];
93
+
94
+ let os = platform;
95
+
96
+ if (macosPlatforms.indexOf(platform) !== -1) {
97
+ os = 'Mac OS';
98
+ } else if (iosPlatforms.indexOf(platform) !== -1) {
99
+ os = 'iOS';
100
+ } else if (windowsPlatforms.indexOf(platform) !== -1) {
101
+ os = 'Windows';
102
+ } else if (/Android/.test(userAgent)) {
103
+ os = 'Android';
104
+ } else if (!os && /Linux/.test(platform)) {
105
+ os = 'Linux';
106
+ }
107
+
108
+ return os;
109
+ };
110
+
111
+ init();
112
+ /**
113
+ * react-native-web empty polyfill.
114
+ */
115
+
116
+ export const getInstallReferrer = async () => {
117
+ return getInstallReferrerSync();
118
+ };
119
+
120
+ export const getUserAgent = async () => {
121
+ return getUserAgentSync();
122
+ };
123
+
124
+ export const isBatteryCharging = async () => {
125
+ if (navigator.getBattery) {
126
+ return navigator.getBattery().then(battery => battery.charging);
127
+ }
128
+ return false;
129
+ };
130
+
131
+ export const isBatteryChargingSync = () => {
132
+ return batteryCharging;
133
+ };
134
+
135
+ export const isCameraPresent = async () => {
136
+ if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {
137
+ return navigator.mediaDevices.enumerateDevices().then(devices => {
138
+ return !!devices.find((d) => d.kind === 'videoinput');
139
+ });
140
+ }
141
+ return false;
142
+ };
143
+
144
+ export const isCameraPresentSync = () => {
145
+ console.log(
146
+ '[react-native-device-info] isCameraPresentSync not supported - please use isCameraPresent'
147
+ );
148
+ return false;
149
+ };
150
+
151
+ export const getBatteryLevel = async () => {
152
+ if (navigator.getBattery) {
153
+ return navigator.getBattery().then(battery => battery.level);
154
+ }
155
+ return -1;
156
+ };
157
+
158
+ export const getBatteryLevelSync = () => {
159
+ return batteryLevel;
160
+ };
161
+
162
+ export const isLocationEnabled = async () => {
163
+ return isLocationEnabledSync();
164
+ };
165
+
166
+ export const isAirplaneMode = async () => {
167
+ return isAirplaneModeSync();
168
+ };
169
+
170
+ export const getBaseOs = async () => {
171
+ return getBaseOsSync();
172
+ };
173
+
174
+ export const getTotalDiskCapacity = async () => {
175
+ if (navigator.storage && navigator.storage.estimate) {
176
+ return navigator.storage.estimate().then(({ quota }) => quota)
177
+ }
178
+ return -1;
179
+ };
180
+
181
+ export const getTotalDiskCapacitySync = () => {
182
+ console.log(
183
+ '[react-native-device-info] getTotalDiskCapacitySync not supported - please use getTotalDiskCapacity'
184
+ );
185
+ return -1;
186
+ };
187
+
188
+ export const getFreeDiskStorage = async () => {
189
+ if (navigator.storage && navigator.storage.estimate) {
190
+ return navigator.storage.estimate().then(({ quota, usage }) => quota - usage)
191
+ }
192
+ return -1;
193
+ };
194
+
195
+ export const getFreeDiskStorageSync = () => {
196
+ console.log(
197
+ '[react-native-device-info] getFreeDiskStorageSync not supported - please use getFreeDiskStorage'
198
+ );
199
+ return -1;
200
+ };
201
+
202
+ export const getMaxMemory = async () => {
203
+ return getMaxMemorySync();
204
+ };
205
+
206
+ export const getUsedMemory = async () => {
207
+ return getUsedMemorySync();
208
+ };
209
+
210
+ export const getTotalMemory = async () => {
211
+ return getTotalMemorySync();
212
+ };
213
+
214
+ export const getPowerState = async () => {
215
+ if (navigator.getBattery) {
216
+ return navigator.getBattery().then((battery) => _readPowerState(battery))
217
+ }
218
+ return {};
219
+ };
220
+
221
+ export const getPowerStateSync = () => {
222
+ return powerState;
223
+ };
@@ -0,0 +1,18 @@
1
+ import type { TurboModule } from "react-native";
2
+ import { TurboModuleRegistry } from "react-native";
3
+
4
+ export interface Spec extends TurboModule {
5
+ getCalendar(): string;
6
+ getCountry(): string;
7
+ getCurrencies(): string[];
8
+ getLocales(): Object[];
9
+ getNumberFormatSettings(): Object;
10
+ getTemperatureUnit(): string;
11
+ getTimeZone(): string;
12
+ uses24HourClock(): boolean;
13
+ usesMetricSystem(): boolean;
14
+ usesAutoDateAndTime(): boolean | null;
15
+ usesAutoTimeZone(): boolean | null;
16
+ }
17
+
18
+ export default TurboModuleRegistry.getEnforcing<Spec>("ShakebugSDKRNLocalize");