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,318 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ package com.shakebug;
8
+
9
+ import android.content.Context;
10
+ import android.net.ConnectivityManager;
11
+ import android.net.wifi.WifiInfo;
12
+ import android.net.wifi.WifiManager;
13
+ import android.telephony.TelephonyManager;
14
+
15
+ import com.facebook.react.bridge.Arguments;
16
+ import com.facebook.react.bridge.Promise;
17
+ import com.facebook.react.bridge.ReactApplicationContext;
18
+ import com.facebook.react.bridge.WritableMap;
19
+ import com.facebook.react.modules.core.DeviceEventManagerModule;
20
+ import com.shakebug.types.CellularGeneration;
21
+ import com.shakebug.types.ConnectionType;
22
+
23
+ import java.math.BigInteger;
24
+ import java.net.Inet4Address;
25
+ import java.net.InetAddress;
26
+ import java.net.InterfaceAddress;
27
+ import java.net.NetworkInterface;
28
+ import java.net.SocketException;
29
+ import java.util.Enumeration;
30
+ import java.util.List;
31
+ import java.util.Locale;
32
+
33
+ import javax.annotation.Nonnull;
34
+ import javax.annotation.Nullable;
35
+
36
+ public abstract class ConnectivityReceiver {
37
+
38
+ private final ConnectivityManager mConnectivityManager;
39
+ private final WifiManager mWifiManager;
40
+ private final TelephonyManager mTelephonyManager;
41
+ private final ReactApplicationContext mReactContext;
42
+ public boolean hasListener = false;
43
+
44
+ @Nonnull
45
+ private ConnectionType mConnectionType = ConnectionType.UNKNOWN;
46
+ @Nullable
47
+ private CellularGeneration mCellularGeneration = null;
48
+ private boolean mIsInternetReachable = false;
49
+ private Boolean mIsInternetReachableOverride;
50
+
51
+ private static String getSubnet(InetAddress inetAddress) throws SocketException {
52
+ NetworkInterface netAddress = NetworkInterface.getByInetAddress(inetAddress);
53
+ List<InterfaceAddress> addresses = netAddress.getInterfaceAddresses();
54
+
55
+ short networkPrefixLength = 0;
56
+ for (InterfaceAddress address : addresses) {
57
+ boolean isIpV4 = address.getAddress().getAddress().length == 4;
58
+ if (isIpV4) {
59
+ networkPrefixLength = address.getNetworkPrefixLength();
60
+ break;
61
+ }
62
+ }
63
+
64
+ int mask = 0xffffffff << (32 - networkPrefixLength);
65
+ return String.format(
66
+ Locale.US,
67
+ "%d.%d.%d.%d",
68
+ (mask >> 24 & 0xff),
69
+ (mask >> 16 & 0xff),
70
+ (mask >> 8 & 0xff),
71
+ (mask & 0xff));
72
+ }
73
+
74
+ ConnectivityReceiver(ReactApplicationContext reactContext) {
75
+ mReactContext = reactContext;
76
+ mConnectivityManager =
77
+ (ConnectivityManager) reactContext.getSystemService(Context.CONNECTIVITY_SERVICE);
78
+ mWifiManager =
79
+ (WifiManager)
80
+ reactContext.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
81
+ mTelephonyManager =
82
+ (TelephonyManager) reactContext.getSystemService(Context.TELEPHONY_SERVICE);
83
+ }
84
+
85
+ public abstract void register();
86
+
87
+ public abstract void unregister();
88
+
89
+ public void getCurrentState(@Nullable final String requestedInterface, final Promise promise) {
90
+ promise.resolve(createConnectivityEventMap(requestedInterface));
91
+ }
92
+
93
+ public void setIsInternetReachableOverride(boolean isInternetReachableOverride) {
94
+ this.mIsInternetReachableOverride = isInternetReachableOverride;
95
+ updateConnectivity(mConnectionType, mCellularGeneration, mIsInternetReachable);
96
+ }
97
+
98
+ public void clearIsInternetReachableOverride() {
99
+ this.mIsInternetReachableOverride = null;
100
+ }
101
+
102
+ ReactApplicationContext getReactContext() {
103
+ return mReactContext;
104
+ }
105
+
106
+ ConnectivityManager getConnectivityManager() {
107
+ return mConnectivityManager;
108
+ }
109
+
110
+ void updateConnectivity(
111
+ @Nonnull ConnectionType connectionType,
112
+ @Nullable CellularGeneration cellularGeneration,
113
+ boolean isInternetReachableRaw) {
114
+ boolean isInternetReachable = mIsInternetReachableOverride == null
115
+ ? isInternetReachableRaw
116
+ : mIsInternetReachableOverride;
117
+
118
+ // It is possible to get multiple broadcasts for the same connectivity change, so we only
119
+ // update and send an event when the connectivity has indeed changed.
120
+ boolean connectionTypeChanged = connectionType != mConnectionType;
121
+ boolean cellularGenerationChanged = cellularGeneration != mCellularGeneration;
122
+ boolean isInternetReachableChanged = isInternetReachable != mIsInternetReachable;
123
+
124
+ if (connectionTypeChanged || cellularGenerationChanged || isInternetReachableChanged) {
125
+ mConnectionType = connectionType;
126
+ mCellularGeneration = cellularGeneration;
127
+ mIsInternetReachable = isInternetReachable;
128
+ if (hasListener) {
129
+ sendConnectivityChangedEvent();
130
+ }
131
+ }
132
+ }
133
+
134
+ protected void sendConnectivityChangedEvent() {
135
+ getReactContext()
136
+ .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
137
+ .emit("netInfo.networkStatusDidChange", createConnectivityEventMap(null));
138
+ }
139
+
140
+ protected WritableMap createConnectivityEventMap(@Nullable final String requestedInterface) {
141
+ WritableMap event = Arguments.createMap();
142
+
143
+ // Add if WiFi is ON or OFF
144
+ if (NetInfoUtils.isAccessWifiStatePermissionGranted(getReactContext())) {
145
+ boolean isEnabled = false;
146
+ if (mWifiManager != null) {
147
+ isEnabled = mWifiManager.isWifiEnabled();
148
+ }
149
+ event.putBoolean("isWifiEnabled", isEnabled);
150
+ }
151
+
152
+ // Add the connection type information
153
+ event.putString("type", requestedInterface != null ? requestedInterface : mConnectionType.label);
154
+
155
+ // Add the connection state information
156
+ boolean isConnected =
157
+ !mConnectionType.equals(ConnectionType.NONE)
158
+ && !mConnectionType.equals(ConnectionType.UNKNOWN);
159
+ event.putBoolean("isConnected", isConnected);
160
+
161
+ // Add the internet reachable information
162
+ event.putBoolean(
163
+ "isInternetReachable",
164
+ mIsInternetReachable && (requestedInterface == null || requestedInterface.equals(mConnectionType.label)));
165
+
166
+ // Add the details, if there are any
167
+ String detailsInterface = requestedInterface != null ? requestedInterface : mConnectionType.label;
168
+ WritableMap details = createDetailsMap(detailsInterface);
169
+ if (isConnected) {
170
+ boolean isConnectionExpensive =
171
+ getConnectivityManager() == null ? true : getConnectivityManager().isActiveNetworkMetered();
172
+ details.putBoolean("isConnectionExpensive", isConnectionExpensive);
173
+ }
174
+ event.putMap("details", details);
175
+
176
+ return event;
177
+ }
178
+
179
+ private WritableMap createDetailsMap(@Nonnull String detailsInterface) {
180
+ WritableMap details = Arguments.createMap();
181
+ switch (detailsInterface) {
182
+ case "cellular":
183
+ // Add the cellular generation, if we have one
184
+ if (mCellularGeneration != null) {
185
+ details.putString("cellularGeneration", mCellularGeneration.label);
186
+ }
187
+
188
+ // Add the network operator name, if there is one
189
+ String carrier = mTelephonyManager.getNetworkOperatorName();
190
+ if (carrier != null) {
191
+ details.putString("carrier", carrier);
192
+ }
193
+ break;
194
+ case "ethernet":
195
+ try {
196
+ for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
197
+ NetworkInterface netInterface = en.nextElement();
198
+
199
+ for (Enumeration<InetAddress> ea = netInterface.getInetAddresses(); ea.hasMoreElements(); ) {
200
+ InetAddress inetAddress = ea.nextElement();
201
+ if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
202
+ String ipAddress = inetAddress.getHostAddress();
203
+ details.putString("ipAddress", ipAddress);
204
+ details.putString("subnet", getSubnet(inetAddress));
205
+ return details;
206
+ }
207
+ }
208
+ }
209
+ } catch (Exception e) {
210
+ e.printStackTrace();
211
+ }
212
+ break;
213
+ case "wifi":
214
+ if (NetInfoUtils.isAccessWifiStatePermissionGranted(getReactContext()) && mWifiManager != null) {
215
+ WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
216
+ if (wifiInfo != null) {
217
+ // Get the SSID
218
+ try {
219
+ String initialSSID = wifiInfo.getSSID();
220
+ if (initialSSID != null && !initialSSID.contains("<unknown ssid>")) {
221
+ // Strip the quotes, if any
222
+ String ssid = initialSSID.replace("\"", "");
223
+ details.putString("ssid", ssid);
224
+ }
225
+ } catch (Exception e) {
226
+ // Ignore errors
227
+ }
228
+
229
+ // Get the BSSID
230
+ try {
231
+ String bssid = wifiInfo.getBSSID();
232
+ if (bssid != null) {
233
+ details.putString("bssid", bssid);
234
+ }
235
+ } catch (Exception e) {
236
+ // Ignore errors
237
+ }
238
+
239
+
240
+ // Get/parse the wifi signal strength
241
+ try {
242
+ int signalStrength =
243
+ WifiManager.calculateSignalLevel(wifiInfo.getRssi(), 100);
244
+ details.putInt("strength", signalStrength);
245
+ } catch (Exception e) {
246
+ // Ignore errors
247
+ }
248
+
249
+ // Get WiFi frequency
250
+ try {
251
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
252
+ int frequency = wifiInfo.getFrequency();
253
+ details.putInt("frequency", frequency);
254
+ }
255
+ } catch (Exception e) {
256
+ // Ignore errors
257
+ }
258
+
259
+ // Get the IP address
260
+ try {
261
+ byte[] ipAddressByteArray =
262
+ BigInteger.valueOf(wifiInfo.getIpAddress()).toByteArray();
263
+ NetInfoUtils.reverseByteArray(ipAddressByteArray);
264
+ InetAddress inetAddress = InetAddress.getByAddress(ipAddressByteArray);
265
+ String ipAddress = inetAddress.getHostAddress();
266
+ details.putString("ipAddress", ipAddress);
267
+ } catch (Exception e) {
268
+ // Ignore errors
269
+ }
270
+
271
+ // Get the subnet mask
272
+ try {
273
+ byte[] ipAddressByteArray =
274
+ BigInteger.valueOf(wifiInfo.getIpAddress()).toByteArray();
275
+ NetInfoUtils.reverseByteArray(ipAddressByteArray);
276
+ InetAddress inetAddress = InetAddress.getByAddress(ipAddressByteArray);
277
+ details.putString("subnet", getSubnet(inetAddress));
278
+ } catch (Exception e) {
279
+ // Ignore errors
280
+ }
281
+
282
+ // Get the link speed
283
+ try {
284
+ int linkSpeed =
285
+ wifiInfo.getLinkSpeed();
286
+ details.putInt("linkSpeed", linkSpeed);
287
+ } catch (Exception e) {
288
+ // Ignore errors
289
+ }
290
+
291
+ // Get the current receive link speed in Mbps
292
+ try {
293
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
294
+ int rxLinkSpeed =
295
+ wifiInfo.getRxLinkSpeedMbps();
296
+ details.putInt("rxLinkSpeed", rxLinkSpeed);
297
+ }
298
+ } catch (Exception e) {
299
+ // Ignore errors
300
+ }
301
+
302
+ // Get the current transmit link speed in Mbps
303
+ try {
304
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
305
+ int txLinkSpeed =
306
+ wifiInfo.getTxLinkSpeedMbps();
307
+ details.putInt("txLinkSpeed", txLinkSpeed);
308
+ }
309
+ } catch (Exception e) {
310
+ // Ignore errors
311
+ }
312
+ }
313
+ }
314
+ break;
315
+ }
316
+ return details;
317
+ }
318
+ }
@@ -0,0 +1,48 @@
1
+ package com.shakebug;
2
+
3
+ import android.util.Log;
4
+ import com.facebook.react.bridge.ReactApplicationContext;
5
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
6
+ import com.facebook.react.bridge.ReactMethod;
7
+ import com.facebook.react.modules.core.DeviceEventManagerModule;
8
+
9
+ public class CrashLoggerModule extends ReactContextBaseJavaModule implements Thread.UncaughtExceptionHandler {
10
+
11
+ private final ReactApplicationContext reactContext;
12
+ private Thread.UncaughtExceptionHandler defaultUEH;
13
+
14
+ public CrashLoggerModule(ReactApplicationContext reactContext) {
15
+ super(reactContext);
16
+ this.reactContext = reactContext;
17
+ defaultUEH = Thread.getDefaultUncaughtExceptionHandler(); // Save default handler
18
+ Thread.setDefaultUncaughtExceptionHandler(this); // Set this class as the default handler
19
+ Log.d("CrashLogger", "Custom UncaughtExceptionHandler set.");
20
+ }
21
+
22
+ @Override
23
+ public String getName() {
24
+ return "ShakebugSDKCrashLogger";
25
+ }
26
+
27
+ @Override
28
+ public void uncaughtException(Thread thread, Throwable e) {
29
+ // Handle the exception, prepare and send it to React Native
30
+ try {
31
+ String errorMessage = e.toString();
32
+ // Here, we simply log the error, but you can format it as needed
33
+ Log.e("CrashLogger", "Uncaught exception: " + errorMessage);
34
+ sendEvent(errorMessage);
35
+ } catch (Exception exception) {
36
+ Log.e("CrashLogger", "Error sending crash log to RN", exception);
37
+ }
38
+
39
+ defaultUEH.uncaughtException(thread, e); // Ensure default handler is called
40
+ }
41
+
42
+ private void sendEvent(String errorMessage) {
43
+ // Send error message to React Native
44
+ reactContext
45
+ .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
46
+ .emit("CrashLog", errorMessage);
47
+ }
48
+ }
@@ -0,0 +1,64 @@
1
+ package com.shakebug;
2
+
3
+ import android.text.TextUtils;
4
+
5
+ import java.text.SimpleDateFormat;
6
+ import java.util.Date;
7
+ import java.util.Locale;
8
+
9
+ /**
10
+ * Author:J.Chou
11
+ * Date: 2016.07.21 11:43.
12
+ * Email: who_know_me@163.com
13
+ * Describe:
14
+ */
15
+ public final class DateUtil {
16
+
17
+ /**
18
+ * second to HH:MM:ss
19
+ * @param seconds
20
+ * @return
21
+ */
22
+ public static String convertSecondsToTime(long seconds) {
23
+ String timeStr = null;
24
+ int hour = 0;
25
+ int minute = 0;
26
+ int second = 0;
27
+ if (seconds <= 0)
28
+ return "00:00";
29
+ else {
30
+ minute = (int)seconds / 60;
31
+ if (minute < 60) {
32
+ second = (int)seconds % 60;
33
+ timeStr = unitFormat(minute) + ":" + unitFormat(second);
34
+ } else {
35
+ hour = minute / 60;
36
+ if (hour > 99)
37
+ return "99:59:59";
38
+ minute = minute % 60;
39
+ second = (int)(seconds - hour * 3600 - minute * 60);
40
+ timeStr = unitFormat(hour) + ":" + unitFormat(minute) + ":" + unitFormat(second);
41
+ }
42
+ }
43
+ return timeStr;
44
+ }
45
+
46
+ public static String convertSecondsToFormat(long seconds,String format){
47
+
48
+ if(TextUtils.isEmpty(format))
49
+ return "";
50
+
51
+ Date date = new Date(seconds);
52
+ SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());
53
+ return sdf.format(date);
54
+ }
55
+
56
+ private static String unitFormat(int i) {
57
+ String retStr = null;
58
+ if (i >= 0 && i < 10)
59
+ retStr = "0" + Integer.toString(i);
60
+ else
61
+ retStr = "" + i;
62
+ return retStr;
63
+ }
64
+ }
@@ -0,0 +1,18 @@
1
+ package com.shakebug;
2
+
3
+ public enum DeviceType {
4
+ HANDSET ("Handset"),
5
+ TABLET ("Tablet"),
6
+ TV ("Tv"),
7
+ UNKNOWN ("unknown");
8
+
9
+ private final String value;
10
+
11
+ DeviceType(String value) {
12
+ this.value = value;
13
+ }
14
+
15
+ public String getValue() {
16
+ return value;
17
+ }
18
+ }
@@ -0,0 +1,46 @@
1
+ package com.shakebug;
2
+
3
+ import android.app.ActivityManager;
4
+ import android.content.Context;
5
+ import android.content.pm.PackageManager;
6
+
7
+ import java.util.List;
8
+
9
+ /**
10
+ * Author:J.Chou
11
+ * Date: 2016.07.19 11:40.
12
+ * Email: who_know_me@163.com
13
+ * Describe:
14
+ */
15
+ public final class DeviceUtil {
16
+
17
+ public static int getDeviceWidth() {
18
+ return BaseUtils.getContext().getResources().getDisplayMetrics().widthPixels;
19
+ }
20
+
21
+ public static int getDeviceHeight(){
22
+ return BaseUtils.getContext().getResources().getDisplayMetrics().heightPixels;
23
+ }
24
+
25
+ public static boolean hasAppInstalled(String pkgName) {
26
+ try {
27
+ BaseUtils.getContext().getPackageManager().getPackageInfo(pkgName, PackageManager.PERMISSION_GRANTED);
28
+ return true;
29
+ } catch (PackageManager.NameNotFoundException e) {
30
+ return false;
31
+ }
32
+ }
33
+
34
+ public static boolean isAppRunInBackground() {
35
+ ActivityManager activityManager = (ActivityManager) BaseUtils.getContext().getSystemService(Context.ACTIVITY_SERVICE);
36
+ List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
37
+ for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
38
+ if (appProcess.processName.equals(BaseUtils.getContext().getPackageName())) {
39
+ // return true -> Run in background
40
+ // return false - > Run in foreground
41
+ return appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+ }
@@ -0,0 +1,90 @@
1
+ package com.shakebug;
2
+
3
+ import android.content.Context;
4
+ import android.graphics.Bitmap;
5
+ import android.graphics.Canvas;
6
+ import android.graphics.Paint;
7
+ import android.view.MotionEvent;
8
+ import android.view.View;
9
+
10
+ public class DrawingView extends View {
11
+ private Bitmap bitmap;
12
+ private Canvas canvas;
13
+ private Paint paint;
14
+ private float lastX, lastY;
15
+
16
+ public DrawingView(Context context) {
17
+ super(context);
18
+ init();
19
+ }
20
+
21
+ private void init() {
22
+ // Initial paint setup
23
+ paint = new Paint();
24
+ paint.setColor(android.graphics.Color.BLACK);
25
+ paint.setStrokeWidth(10);
26
+ paint.setStyle(Paint.Style.STROKE);
27
+ paint.setAntiAlias(true);
28
+ }
29
+
30
+ @Override
31
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
32
+ super.onSizeChanged(w, h, oldw, oldh);
33
+ // Recreate the bitmap and canvas with the new dimensions
34
+ if (bitmap != null) {
35
+ bitmap.recycle();
36
+ }
37
+ bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
38
+ canvas = new Canvas(bitmap);
39
+ }
40
+
41
+ @Override
42
+ protected void onDraw(Canvas canvas) {
43
+ super.onDraw(canvas);
44
+ if (bitmap != null) {
45
+ canvas.drawBitmap(bitmap, 0, 0, null);
46
+ }
47
+ }
48
+
49
+ @Override
50
+ public boolean onTouchEvent(MotionEvent event) {
51
+ float x = event.getX();
52
+ float y = event.getY();
53
+
54
+ switch (event.getAction()) {
55
+ case MotionEvent.ACTION_DOWN:
56
+ lastX = x;
57
+ lastY = y;
58
+ return true;
59
+ case MotionEvent.ACTION_MOVE:
60
+ float dx = Math.abs(x - lastX);
61
+ float dy = Math.abs(y - lastY);
62
+ if (dx >= 4 || dy >= 4) {
63
+ // Draw on the internal bitmap canvas
64
+ canvas.drawLine(lastX, lastY, x, y, paint);
65
+ invalidate();
66
+ lastX = x;
67
+ lastY = y;
68
+ }
69
+ return true;
70
+ default:
71
+ return false;
72
+ }
73
+ }
74
+
75
+ public void setColor(int color) {
76
+ paint.setColor(color);
77
+ }
78
+
79
+ public void setStrokeWidth(float width) {
80
+ paint.setStrokeWidth(width);
81
+ }
82
+
83
+ public void clearCanvas() {
84
+ if (canvas != null) {
85
+ bitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
86
+ canvas = new Canvas(bitmap);
87
+ invalidate();
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,38 @@
1
+ package com.shakebug;
2
+
3
+ import android.graphics.Color;
4
+
5
+ import com.facebook.react.uimanager.SimpleViewManager;
6
+ import com.facebook.react.uimanager.ThemedReactContext;
7
+ import com.facebook.react.uimanager.annotations.ReactProp;
8
+
9
+ public class DrawingViewManager extends SimpleViewManager<DrawingView> {
10
+
11
+ @Override
12
+ public String getName() {
13
+ return "ShakebugSDKDrawingView";
14
+ }
15
+
16
+ @Override
17
+ protected DrawingView createViewInstance(ThemedReactContext context) {
18
+ return new DrawingView(context);
19
+ }
20
+
21
+ @ReactProp(name = "color", customType = "Color")
22
+ public void setColor(DrawingView view, int color) {
23
+ view.setColor(color);
24
+ }
25
+
26
+ @ReactProp(name = "strokeWidth")
27
+ public void setStrokeWidth(DrawingView view, float width) {
28
+ view.setStrokeWidth(width);
29
+ }
30
+
31
+ @ReactProp(name = "clearCanvas")
32
+ public void clearCanvas(DrawingView view, boolean clear) {
33
+ if (clear) {
34
+ view.clearCanvas();
35
+ }
36
+ }
37
+
38
+ }