react-native-scanbot-barcode-scanner-sdk 3.3.0 → 3.3.1-beta.2

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 (201) hide show
  1. package/android/.gradle/6.1.1/executionHistory/executionHistory.bin +0 -0
  2. package/android/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
  3. package/android/.gradle/6.1.1/fileChanges/last-build.bin +0 -0
  4. package/android/.gradle/6.1.1/fileHashes/fileHashes.bin +0 -0
  5. package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/6.1.1/gc.properties +0 -0
  7. package/android/.gradle/7.0-rc-1/dependencies-accessors/dependencies-accessors.lock +0 -0
  8. package/android/.gradle/7.0-rc-1/dependencies-accessors/gc.properties +0 -0
  9. package/android/.gradle/7.0-rc-1/fileChanges/last-build.bin +0 -0
  10. package/android/.gradle/7.0-rc-1/fileHashes/fileHashes.lock +0 -0
  11. package/android/.gradle/7.0-rc-1/gc.properties +0 -0
  12. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  14. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  15. package/android/.gradle/checksums/checksums.lock +0 -0
  16. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  17. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  18. package/android/.gradle/configuration-cache/gc.properties +0 -0
  19. package/android/.idea/caches/build_file_checksums.ser +0 -0
  20. package/android/.idea/compiler.xml +6 -0
  21. package/android/.idea/gradle.xml +22 -0
  22. package/android/.idea/jarRepositories.xml +50 -0
  23. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml +16 -0
  24. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml +11 -0
  25. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_rc01_aar.xml +13 -0
  26. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml +16 -0
  27. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml +13 -0
  28. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +11 -0
  29. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +13 -0
  30. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +13 -0
  31. package/android/.idea/libraries/Gradle__androidx_camera_camera_camera2_1_0_0_aar.xml +16 -0
  32. package/android/.idea/libraries/Gradle__androidx_camera_camera_core_1_0_0_aar.xml +16 -0
  33. package/android/.idea/libraries/Gradle__androidx_camera_camera_lifecycle_1_0_0_aar.xml +13 -0
  34. package/android/.idea/libraries/Gradle__androidx_camera_camera_view_1_0_0_alpha24_aar.xml +16 -0
  35. package/android/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml +13 -0
  36. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +11 -0
  37. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_0_4_aar.xml +11 -0
  38. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_4.xml +9 -0
  39. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml +16 -0
  40. package/android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml +16 -0
  41. package/android/.idea/libraries/Gradle__androidx_core_core_ktx_1_3_2_aar.xml +13 -0
  42. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +13 -0
  43. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +13 -0
  44. package/android/.idea/libraries/Gradle__androidx_databinding_viewbinding_4_2_1_aar.xml +13 -0
  45. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +13 -0
  46. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +16 -0
  47. package/android/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml +13 -0
  48. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml +16 -0
  49. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +13 -0
  50. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +13 -0
  51. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +13 -0
  52. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml +13 -0
  53. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml +11 -0
  54. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml +13 -0
  55. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +13 -0
  56. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml +13 -0
  57. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_ktx_2_3_1_aar.xml +13 -0
  58. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +13 -0
  59. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +13 -0
  60. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +13 -0
  61. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +13 -0
  62. package/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml +16 -0
  63. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +16 -0
  64. package/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml +16 -0
  65. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +13 -0
  66. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +13 -0
  67. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +16 -0
  68. package/android/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml +16 -0
  69. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +13 -0
  70. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +13 -0
  71. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +13 -0
  72. package/android/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml +16 -0
  73. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +13 -0
  74. package/android/.idea/libraries/Gradle__com_commonsware_cwac_camera_camera_0_6_41_aar.xml +11 -0
  75. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +15 -0
  76. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +18 -0
  77. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +18 -0
  78. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +18 -0
  79. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +18 -0
  80. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +15 -0
  81. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +15 -0
  82. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +15 -0
  83. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +13 -0
  84. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_60_6_aar.xml +18 -0
  85. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +13 -0
  86. package/android/.idea/libraries/Gradle__com_google_android_material_material_1_3_0_aar.xml +16 -0
  87. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +13 -0
  88. package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml +13 -0
  89. package/android/.idea/libraries/Gradle__com_google_dagger_dagger_2_35.xml +13 -0
  90. package/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml +13 -0
  91. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1.xml +13 -0
  92. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1.xml +13 -0
  93. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml +13 -0
  94. package/android/.idea/libraries/Gradle__commons_io_commons_io_2_4.xml +13 -0
  95. package/android/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_1_aar.xml +15 -0
  96. package/android/.idea/libraries/Gradle__io_reactivex_rxjava2_rxjava_2_1_5.xml +13 -0
  97. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_barcode_scanner_sdk_3_0_1_aar.xml +11 -0
  98. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_barcode_scanner_sdk_ui_3_0_1_aar.xml +11 -0
  99. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_barcode_3_0_1_aar.xml +11 -0
  100. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_base_3_0_1_aar.xml +11 -0
  101. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_ui_barcode_3_0_1_aar.xml +11 -0
  102. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_ui_base_3_0_1_aar.xml +11 -0
  103. package/android/.idea/libraries/Gradle__io_scanbot_sdk_barcode_assets_3_0_1_aar.xml +11 -0
  104. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_barcode_3_0_1_aar.xml +11 -0
  105. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_barcode_native_3_0_1_aar.xml +11 -0
  106. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_sap_3_0_1_aar.xml +11 -0
  107. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +13 -0
  108. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +13 -0
  109. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_20.xml +13 -0
  110. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_20.xml +13 -0
  111. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml +13 -0
  112. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_4_1.xml +13 -0
  113. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_4_1.xml +13 -0
  114. package/android/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_1.xml +13 -0
  115. package/android/.idea/misc.xml +9 -0
  116. package/android/.idea/modules/android.iml +133 -0
  117. package/android/.idea/modules.xml +8 -0
  118. package/android/.idea/vcs.xml +6 -0
  119. package/android/.idea/workspace.xml +62 -0
  120. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +1 -1
  121. package/android/build/intermediates/compile_library_classes/debug/classes.jar +0 -0
  122. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
  123. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +3 -4
  124. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +1 -1
  125. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/JSONUtils$WritableMapBuilder.class +0 -0
  126. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/JSONUtils.class +0 -0
  127. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ObjectMapper.class +0 -0
  128. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule$1.class +0 -0
  129. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule$2$1$1.class +0 -0
  130. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule$2$1.class +0 -0
  131. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule$2.class +0 -0
  132. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule$3.class +0 -0
  133. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule$4.class +0 -0
  134. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule.class +0 -0
  135. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/StorageUtils.class +0 -0
  136. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/EventEmitter.class +0 -0
  137. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewFragment$1.class +0 -0
  138. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewFragment$2.class +0 -0
  139. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewFragment$3$1.class +0 -0
  140. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewFragment$3.class +0 -0
  141. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewFragment.class +0 -0
  142. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewManager.class +0 -0
  143. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/common/ScanbotComponentFrameLayout.class +0 -0
  144. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/components/common/ScanbotComponentRootView.class +0 -0
  145. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +1 -1
  146. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLibraryResources/R-def.txt +0 -1
  147. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +3 -3
  148. package/android/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +43 -5
  149. package/android/build/intermediates/symbols/debug/R.txt +907 -869
  150. package/android/build/outputs/logs/manifest-merger-debug-report.txt +28 -28
  151. package/android/build.gradle +1 -1
  152. package/android/src/main/java/com/reactlibrary/ScanbotBarcodeSdkModule.java +0 -6
  153. package/android/src/main/java/com/reactlibrary/ScanbotBarcodeSdkPackage.java +6 -11
  154. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkPackage.java +6 -10
  155. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraView.java +380 -0
  156. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/{RNScanbotBarcodeCameraConfiguration.java → ScanbotBarcodeCameraViewConfiguration.java} +18 -21
  157. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewManager.java +114 -0
  158. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/communication/{RNScanbotEventEmitter.java → ScanbotEventEmitter.java} +7 -7
  159. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/communication/{RNScanbotEventReceiver.java → ScanbotEventReceiver.java} +7 -7
  160. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/models/ScanbotFinderInset.java +8 -0
  161. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/ui/ScanbotViewWrapper.java +26 -0
  162. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/utils/ScanbotViewUtils.java +52 -0
  163. package/package.json +1 -1
  164. package/src/components/barcode-camera-view/scanbot-barcode-camera-view.tsx +30 -3
  165. package/android/build/.transforms/8cdb68f56773f65afa4976aa86d988f7/classes/classes.dex +0 -0
  166. package/android/build/.transforms/8cdb68f56773f65afa4976aa86d988f7.bin +0 -1
  167. package/android/build/.transforms/991094845a707011dcf91007d9838bb7/classes/classes.dex +0 -0
  168. package/android/build/.transforms/991094845a707011dcf91007d9838bb7.bin +0 -1
  169. package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
  170. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  171. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  172. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  173. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ReactBarcodeExtensionsFilter$1.class +0 -0
  174. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ReactBarcodeExtensionsFilter$Type.class +0 -0
  175. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/ReactBarcodeExtensionsFilter.class +0 -0
  176. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/barcode/ScanbotBarcodeDetectorAdditionalConfigBuilder.class +0 -0
  177. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/barcode/ScanbotBarcodeDetectorConfigBuilder.class +0 -0
  178. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/filters/ReactBarcodeExtensionsFilter$1.class +0 -0
  179. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/filters/ReactBarcodeExtensionsFilter$Type.class +0 -0
  180. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/filters/ReactBarcodeExtensionsFilter.class +0 -0
  181. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/utils/BitmapHelper.class +0 -0
  182. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/utils/JSONUtils$WritableMapBuilder.class +0 -0
  183. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/utils/JSONUtils.class +0 -0
  184. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/utils/LogUtils.class +0 -0
  185. package/android/build/intermediates/javac/debug/classes/io/scanbot/barcodesdk/plugin/reactnative/utils/ResponseUtils.class +0 -0
  186. package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
  187. package/android/build/intermediates/packaged_res/debug/drawable/ic_baseline_arrow_back_24.xml +0 -10
  188. package/android/build/intermediates/runtime_library_classes/debug/classes.jar +0 -0
  189. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/RNScanbotBarcodeCameraComponent.java +0 -283
  190. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/RNScanbotBarcodeCameraUi.java +0 -81
  191. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/RNScanbotNativeComponent.java +0 -90
  192. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/RNScanbotNativeComponentManager.java +0 -133
  193. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/RNScanbotNativeComponentManagerFactory.java +0 -40
  194. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/RNScanbotNativeComponentUi.java +0 -131
  195. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/views/RNScanbotNativeComponentFrameLayout.java +0 -53
  196. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/base/views/RNScanbotNativeComponentRootView.java +0 -154
  197. package/android/src/main/res/layout/component_barcode_camera_view.xml +0 -28
  198. package/android/src/main/res/layout/fragment_barcode_scanner.xml +0 -23
  199. package/ios/.DS_Store +0 -0
  200. package/ios/ScanbotBarcodeSdk.xcodeproj/xcuserdata/mayankpatil.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  201. package/ios/ScanbotBarcodeSdk.xcworkspace/xcuserdata/mayankpatil.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
@@ -1,37 +1,37 @@
1
1
  -- Merging decision tree log ---
2
2
  manifest
3
- ADDED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
4
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
5
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
6
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
7
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
8
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
9
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
3
+ ADDED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
4
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
5
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
6
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
7
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
8
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
9
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
10
10
  package
11
- ADDED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:2:11-61
12
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
13
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
11
+ ADDED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:2:11-61
12
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
13
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
14
14
  android:versionName
15
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
16
- ADDED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
17
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
15
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
16
+ ADDED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
17
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
18
18
  android:versionCode
19
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
20
- ADDED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
21
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
19
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
20
+ ADDED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:1-4:12
21
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
22
22
  xmlns:android
23
- ADDED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:11-69
23
+ ADDED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml:1:11-69
24
24
  uses-sdk
25
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
26
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
27
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
28
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
29
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
25
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
26
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
27
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
28
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
29
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
30
30
  android:targetSdkVersion
31
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
32
- ADDED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
33
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
31
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
32
+ ADDED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
33
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
34
34
  android:minSdkVersion
35
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
36
- ADDED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
37
- INJECTED from /Users/mayankpatil/Mayank/Projects/SBReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
35
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
36
+ ADDED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
37
+ INJECTED from /Users/marcosaia/Work/Projects/Scanbot/ReactNative/scanbot-barcode-sdk-react-native/android/src/main/AndroidManifest.xml
@@ -4,7 +4,7 @@ def DEFAULT_COMPILE_SDK_VERSION = 31
4
4
  def DEFAULT_MIN_SDK_VERSION = 21
5
5
  def DEFAULT_TARGET_SDK_VERSION = 31
6
6
 
7
- def sdkVersion = '3.3.1'
7
+ def sdkVersion = '3.3.1.244-SNAPSHOT'
8
8
 
9
9
  buildscript {
10
10
  if (project == rootProject) {
@@ -23,10 +23,4 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule {
23
23
  public String getName() {
24
24
  return "ScanbotBarcodeSdk";
25
25
  }
26
-
27
- @ReactMethod
28
- public void sampleMethod(String stringArgument, int numberArgument, Callback callback) {
29
- // TODO: Implement some actually useful functionality
30
- callback.invoke("Received numberArgument: " + numberArgument + " stringArgument: " + stringArgument);
31
- }
32
26
  }
@@ -8,6 +8,7 @@ package com.reactlibrary;
8
8
  import androidx.annotation.NonNull;
9
9
 
10
10
  import java.util.Arrays;
11
+ import java.util.Collections;
11
12
  import java.util.List;
12
13
 
13
14
  import com.facebook.react.ReactPackage;
@@ -15,13 +16,13 @@ import com.facebook.react.bridge.NativeModule;
15
16
  import com.facebook.react.bridge.ReactApplicationContext;
16
17
  import com.facebook.react.uimanager.ViewManager;
17
18
 
18
- import io.scanbot.barcodesdk.plugin.reactnative.components.barcodecameraview.RNScanbotBarcodeCameraComponent;
19
- import io.scanbot.barcodesdk.plugin.reactnative.components.base.RNScanbotNativeComponentManagerFactory;
19
+ import io.scanbot.barcodesdk.plugin.reactnative.components.barcodecameraview.ScanbotBarcodeCameraViewManager;
20
20
 
21
21
  public class ScanbotBarcodeSdkPackage implements ReactPackage {
22
+ @NonNull
22
23
  @Override
23
- public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
24
- return Arrays.<NativeModule>asList(new ScanbotBarcodeSdkModule(reactContext));
24
+ public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
25
+ return Collections.singletonList(new ScanbotBarcodeSdkModule(reactContext));
25
26
  }
26
27
 
27
28
  /*
@@ -31,11 +32,5 @@ public class ScanbotBarcodeSdkPackage implements ReactPackage {
31
32
  @SuppressWarnings({ "rawtypes" })
32
33
  @Override
33
34
  public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
34
- // The ViewManager for each component is generated automatically through the
35
- // RNScanbotNativeComponentManagerFactory
36
- final RNScanbotNativeComponentManagerFactory factory = new RNScanbotNativeComponentManagerFactory(reactContext);
37
- return Arrays.asList(new ViewManager[] {
38
- factory.createManager(new RNScanbotBarcodeCameraComponent(reactContext), "ScanbotBarcodeCameraView")
39
- });
40
- }
35
+ return
41
36
  }
@@ -8,6 +8,7 @@ package io.scanbot.barcodesdk.plugin.reactnative;
8
8
  import androidx.annotation.NonNull;
9
9
 
10
10
  import java.util.Arrays;
11
+ import java.util.Collections;
11
12
  import java.util.List;
12
13
 
13
14
  import com.facebook.react.ReactPackage;
@@ -15,13 +16,13 @@ import com.facebook.react.bridge.NativeModule;
15
16
  import com.facebook.react.bridge.ReactApplicationContext;
16
17
  import com.facebook.react.uimanager.ViewManager;
17
18
 
18
- import io.scanbot.barcodesdk.plugin.reactnative.components.barcodecameraview.RNScanbotBarcodeCameraComponent;
19
- import io.scanbot.barcodesdk.plugin.reactnative.components.base.RNScanbotNativeComponentManagerFactory;
19
+ import io.scanbot.barcodesdk.plugin.reactnative.components.barcodecameraview.ScanbotBarcodeCameraViewManager;
20
20
 
21
21
  public class ScanbotBarcodeSdkPackage implements ReactPackage {
22
+ @NonNull
22
23
  @Override
23
- public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
24
- return Arrays.<NativeModule>asList(new ScanbotBarcodeSdkModule(reactContext));
24
+ public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
25
+ return Collections.singletonList(new ScanbotBarcodeSdkModule(reactContext));
25
26
  }
26
27
 
27
28
  /*
@@ -31,11 +32,6 @@ public class ScanbotBarcodeSdkPackage implements ReactPackage {
31
32
  @SuppressWarnings({ "rawtypes" })
32
33
  @Override
33
34
  public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
34
- // The ViewManager for each component is generated automatically through the
35
- // RNScanbotNativeComponentManagerFactory
36
- final RNScanbotNativeComponentManagerFactory factory = new RNScanbotNativeComponentManagerFactory(reactContext);
37
- return Arrays.asList(new ViewManager[] {
38
- factory.createManager(new RNScanbotBarcodeCameraComponent(reactContext), "ScanbotBarcodeCameraView")
39
- });
35
+ return Collections.singletonList(new ScanbotBarcodeCameraViewManager());
40
36
  }
41
37
  }
@@ -0,0 +1,380 @@
1
+ package io.scanbot.barcodesdk.plugin.reactnative.components.barcodecameraview;
2
+
3
+ import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
4
+ import static io.scanbot.barcodesdk.plugin.reactnative.utils.ScanbotViewUtils.colorWithAlpha;
5
+
6
+ import android.Manifest;
7
+ import android.app.Activity;
8
+ import android.content.Context;
9
+ import android.content.pm.PackageManager;
10
+ import android.graphics.Color;
11
+ import android.util.Size;
12
+ import android.view.View;
13
+ import android.view.ViewGroup;
14
+ import android.widget.FrameLayout;
15
+
16
+ import androidx.annotation.NonNull;
17
+ import androidx.core.app.ActivityCompat;
18
+ import androidx.core.content.ContextCompat;
19
+ import androidx.lifecycle.LifecycleOwner;
20
+
21
+ import com.facebook.react.bridge.ReactContext;
22
+ import com.facebook.react.bridge.ReadableMap;
23
+ import com.facebook.react.bridge.WritableMap;
24
+ import com.facebook.react.views.view.ReactViewGroup;
25
+
26
+ import java.util.Collections;
27
+ import java.util.List;
28
+
29
+ import io.scanbot.barcodesdk.plugin.reactnative.R;
30
+ import io.scanbot.barcodesdk.plugin.reactnative.components.base.ui.ScanbotViewWrapper;
31
+ import io.scanbot.barcodesdk.plugin.reactnative.components.base.communication.ScanbotEventEmitter;
32
+ import io.scanbot.barcodesdk.plugin.reactnative.utils.JSONUtils;
33
+ import io.scanbot.barcodesdk.plugin.reactnative.utils.ScanbotViewUtils;
34
+ import io.scanbot.sdk.SdkLicenseError;
35
+ import io.scanbot.sdk.barcode.BarcodeDetectorFrameHandler;
36
+ import io.scanbot.sdk.barcode.DefaultScanbotBarcodeDetector;
37
+ import io.scanbot.sdk.barcode.ScanbotBarcodeDetector;
38
+ import io.scanbot.sdk.barcode.entity.BarcodeItem;
39
+ import io.scanbot.sdk.barcode.entity.BarcodeScannerAdditionalConfig;
40
+ import io.scanbot.sdk.barcode.entity.BarcodeScanningResult;
41
+ import io.scanbot.sdk.camera.FrameHandlerResult;
42
+ import io.scanbot.sdk.ui.camera.FinderOverlayView;
43
+ import io.scanbot.sdk.ui.camera.ScanbotCameraXView;
44
+ import kotlin.TypeCastException;
45
+ import kotlin.Unit;
46
+
47
+ public class ScanbotBarcodeCameraView extends FrameLayout implements BarcodeDetectorFrameHandler.ResultHandler {
48
+ // From Java to JavaScript
49
+ public enum NativeEvents implements ScanbotEventEmitter.NativeEvent {
50
+ BARCODE_SCANNER_RESULT("onBarcodeScannerResult");
51
+
52
+ private final String name;
53
+ NativeEvents(final String name) {
54
+ this.name = name;
55
+ }
56
+
57
+ public String getName() {
58
+ return name;
59
+ }
60
+ }
61
+
62
+ // Constants
63
+ private static final int REQUEST_PERMISSION_CODE = 200;
64
+
65
+ // Views
66
+ private ScanbotCameraXView cameraView;
67
+ private FinderOverlayView finderOverlayView;
68
+ private ViewGroup childrenContainerView;
69
+
70
+ // Barcode Detection
71
+ private BarcodeDetectorFrameHandler frameHandler;
72
+ private ScanbotBarcodeDetector barcodeDetector;
73
+
74
+ // Communication
75
+ private ScanbotEventEmitter eventEmitter;
76
+
77
+ // Configuration
78
+ private ScanbotBarcodeCameraViewConfiguration configuration = new ScanbotBarcodeCameraViewConfiguration();
79
+ private float userDefinedCameraZoomFactor = -1;
80
+
81
+ public ScanbotBarcodeCameraView(@NonNull Context context) {
82
+ super(context);
83
+ initCommunication();
84
+ createViews();
85
+ createFrameHandler();
86
+ refreshConfiguration();
87
+ }
88
+
89
+ /*---------------------------*
90
+ * Barcode Detection
91
+ ---------------------------*/
92
+ private void createFrameHandler() {
93
+ this.barcodeDetector = new DefaultScanbotBarcodeDetector();
94
+ this.frameHandler = BarcodeDetectorFrameHandler.attach(cameraView, barcodeDetector);
95
+ this.frameHandler.setDetectionInterval(0);
96
+ this.frameHandler.addResultHandler(this);
97
+ }
98
+
99
+ // Barcode Detector Frame Handler - Result Handler
100
+ @Override
101
+ public boolean handle(@NonNull FrameHandlerResult<? extends BarcodeScanningResult, ? extends SdkLicenseError> result) {
102
+ if (result instanceof FrameHandlerResult.Success) {
103
+ //noinspection unchecked
104
+ handleBarcodeScanningResult((FrameHandlerResult.Success<BarcodeScanningResult>) result);
105
+ }
106
+ return false;
107
+ }
108
+
109
+ private void handleBarcodeScanningResult(final FrameHandlerResult.Success<BarcodeScanningResult> result) {
110
+ if (result.getValue() == null) {
111
+ return;
112
+ }
113
+
114
+ final List<BarcodeItem> barcodeItems = result.getValue().getBarcodeItems();
115
+ sendResultToJS(preprocessBarcodeItems(barcodeItems));
116
+ }
117
+
118
+ private List<BarcodeItem> preprocessBarcodeItems(final List<BarcodeItem> barcodeItems) {
119
+ if (configuration.barcodeFilter != null) {
120
+ return JSONUtils.getBarcodeItemsFromItemListWithFilter(barcodeItems, configuration.barcodeFilter);
121
+ }
122
+ return barcodeItems;
123
+ }
124
+
125
+ /*---------------------------*
126
+ * Communication
127
+ ---------------------------*/
128
+ private void initCommunication() {
129
+ this.eventEmitter = new ScanbotEventEmitter(getReactContext(), this);
130
+ }
131
+
132
+ private void sendResultToJS(final List<BarcodeItem> barcodeItems) {
133
+ if (barcodeItems == null || barcodeItems.size() == 0) {
134
+ return;
135
+ }
136
+
137
+ final ReadableMap result = JSONUtils.jsonResultFromBarcodeItems(barcodeItems);
138
+ final WritableMap data = new JSONUtils.WritableMapBuilder()
139
+ .putMap("result", result)
140
+ .build();
141
+
142
+ eventEmitter.emitEvent(NativeEvents.BARCODE_SCANNER_RESULT, data);
143
+ }
144
+
145
+ /*---------------------------*
146
+ * Configuration
147
+ ---------------------------*/
148
+ public void applyConfiguration(@NonNull final ReadableMap jsonConfig) {
149
+ this.configuration = ScanbotBarcodeCameraViewConfiguration.fromJsonMap(jsonConfig);
150
+ refreshConfiguration();
151
+ }
152
+
153
+ public void refreshConfiguration() {
154
+ getReactContext().runOnUiQueueThread(() -> {
155
+
156
+ final ScanbotBarcodeCameraViewConfiguration config = this.configuration;
157
+
158
+ // Finder Overlay View
159
+ finderOverlayView.setOverlayColor(colorWithAlpha(
160
+ config.getFinderBackgroundColor(),
161
+ config.getFinderBackgroundOpacity()
162
+ ));
163
+
164
+ finderOverlayView.setVisibility(config.shouldUseFinderView() ? View.VISIBLE : View.INVISIBLE);
165
+ finderOverlayView.setStrokeWidth(config.getFinderLineWidth());
166
+ finderOverlayView.setStrokeColor(config.getFinderLineColor());
167
+
168
+ if (config.finderInset != null) {
169
+ finderOverlayView.setFinderInset(
170
+ config.finderInset.left,
171
+ config.finderInset.top,
172
+ config.finderInset.right,
173
+ config.finderInset.bottom);
174
+ }
175
+
176
+ finderOverlayView.setFinderMinPadding(config.getFinderMinimumPadding());
177
+ finderOverlayView.setRequiredAspectRatios(Collections.singletonList(config.getFinderAspectRatio()));
178
+ finderOverlayView.requestLayout();
179
+
180
+ // Camera View
181
+ cameraView.useFlash(config.isFlashEnabled());
182
+
183
+ if (shouldSetCameraZoomFactor(config)) {
184
+ cameraView.setOpticalZoomLevel(config.getCameraZoomFactor());
185
+ userDefinedCameraZoomFactor = config.getCameraZoomFactor();
186
+ }
187
+
188
+ // TODO: Re-use ScanbotBarcodeDetectorConfigBuilder
189
+ barcodeDetector.modifyConfig(b -> {
190
+ if(!config.barcodeFormats.isEmpty()) {
191
+ b.setBarcodeFormats(config.barcodeFormats);
192
+ }
193
+ if(!config.acceptedDocumentFormats.isEmpty()) {
194
+ b.setAcceptedDocumentFormats(config.acceptedDocumentFormats);
195
+ }
196
+ b.setEngineMode(config.engineMode);
197
+ if (config.additionalConfiguration != null) {
198
+ // TODO: Re-use ScanbotBarcodeDetectorAdditionalConfigBuilder
199
+ b.modifyAdditionalConfig(ab -> {
200
+ final BarcodeScannerAdditionalConfig cfg = config.additionalConfiguration;
201
+ ab.setMinimumTextLength(cfg.getMinimumTextLength());
202
+ ab.setMaximumTextLength(cfg.getMaximumTextLength());
203
+ ab.setMsiPlesseyChecksumAlgorithms(cfg.getMsiPlesseyChecksumAlgorithms());
204
+ ab.setStripCheckDigits(cfg.getStripCheckDigits());
205
+ ab.setGs1DecodingEnabled(cfg.getGs1DecodingEnabled());
206
+ ab.setMinimum1DQuietZoneSize(cfg.getMinimum1DQuietZoneSize());
207
+ ab.setLowPowerMode(cfg.getLowPowerMode());
208
+ return Unit.INSTANCE;
209
+ });
210
+ }
211
+
212
+ return Unit.INSTANCE;
213
+ });
214
+ });
215
+ }
216
+
217
+ private boolean shouldSetCameraZoomFactor(final ScanbotBarcodeCameraViewConfiguration config) {
218
+ return (
219
+ config.getCameraZoomFactor() != -1 &&
220
+ (config.getCameraZoomFactor() != userDefinedCameraZoomFactor || userDefinedCameraZoomFactor == -1)
221
+ );
222
+ }
223
+
224
+ /*---------------------------*
225
+ * Views Creation
226
+ ---------------------------*/
227
+ private void createViews() {
228
+ final Context context = getReactContext().getCurrentActivity();
229
+
230
+ cameraView = createScanbotCameraView(context);
231
+ finderOverlayView = createFinderOverlayView(context);
232
+ childrenContainerView = createChildrenContainerView(context);
233
+
234
+ addView(cameraView);
235
+ addView(finderOverlayView);
236
+ addView(childrenContainerView);
237
+ }
238
+
239
+ private ViewGroup createChildrenContainerView(final Context context) {
240
+ final ReactViewGroup containerView = new ReactViewGroup(context);
241
+
242
+ containerView.setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT));
243
+ containerView.setZ(2.0f);
244
+
245
+ return containerView;
246
+ }
247
+
248
+ private FinderOverlayView createFinderOverlayView(final Context context) {
249
+ final FinderOverlayView finderView = new FinderOverlayView(context, null);
250
+
251
+ finderView.setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT));
252
+ finderView.setId(R.id.finder_overlay);
253
+
254
+ ScanbotViewUtils.installHierarchyFitter(finderView);
255
+
256
+ return finderView;
257
+ }
258
+
259
+ private ScanbotCameraXView createScanbotCameraView(final Context context) {
260
+ final ScanbotCameraXView cameraView = new ScanbotCameraXView(context);
261
+
262
+ cameraView.setLifecycleOwner(getLifecycleOwner());
263
+ cameraView.setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT));
264
+ cameraView.setBackgroundColor(Color.BLACK);
265
+ cameraView.setCameraOpenCallback(cameraView::continuousFocus);
266
+ cameraView.post(this::checkPermissions);
267
+
268
+ applyWorkaroundForReactNativeIssue17968(cameraView);
269
+
270
+ return cameraView;
271
+ }
272
+
273
+ /*---------------------------*
274
+ * View Lifecycle Handling
275
+ ---------------------------*/
276
+ @Override
277
+ protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
278
+ super.onLayout(changed, left, top, right, bottom);
279
+ remeasureCameraFrame();
280
+ }
281
+
282
+ /*---------------------------*
283
+ * React Views Handling
284
+ ---------------------------*/
285
+ @Override
286
+ public void addView(View child, int index, ViewGroup.LayoutParams params) {
287
+ if (isReactChildView(child)) {
288
+ addReactChildView(child);
289
+ } else {
290
+ super.addView(child, index, params);
291
+ }
292
+ }
293
+
294
+ /**
295
+ * WORKAROUND FOR ISSUE: react child views are not measured / positioned correctly
296
+ */
297
+ private void addReactChildView(final View child) {
298
+ // If the child has a parent, we take it away ¯\_(ツ)_/¯
299
+ if (child.getParent() instanceof ViewGroup) {
300
+ ((ViewGroup) child.getParent()).removeView(child);
301
+ }
302
+
303
+ final View view = ScanbotViewWrapper.wrap(child);
304
+ childrenContainerView.addView(view);
305
+ childrenContainerView.invalidate();
306
+ childrenContainerView.requestLayout();
307
+
308
+ view.invalidate();
309
+ view.requestLayout();
310
+
311
+ childrenContainerView.bringToFront();
312
+ }
313
+
314
+ private boolean isReactChildView(final View child) {
315
+ return child != cameraView && child != finderOverlayView && child != childrenContainerView;
316
+ }
317
+
318
+ /*---------------------------*
319
+ * Camera Related
320
+ ---------------------------*/
321
+ /**
322
+ * WORKAROUND FOR ISSUE: camera frame size is not auto-calculated correctly
323
+ */
324
+ private void remeasureCameraFrame() {
325
+ cameraView.setCameraFrameSize(new Size(this.getWidth(), this.getHeight()));
326
+ }
327
+
328
+ /*---------------------------*
329
+ * Utils and overrides
330
+ ---------------------------*/
331
+ /**
332
+ * WORKAROUND for React Native ISSUE #17968
333
+ * Android native UI components are not re-layout on dynamically added views
334
+ * https://github.com/facebook/react-native/issues/17968
335
+ * @param cameraView - The view that CONTAINS a PreviewView
336
+ */
337
+ private void applyWorkaroundForReactNativeIssue17968(final ViewGroup cameraView) {
338
+ ScanbotViewUtils.installHierarchyFitter(cameraView);
339
+ ScanbotViewUtils.installHierarchyFitter(cameraView.findViewById(R.id.camera_preview_view));
340
+ }
341
+
342
+ public static NativeEvents[] getNativeEvents() {
343
+ return NativeEvents.values();
344
+ }
345
+
346
+ private ReactContext getReactContext() {
347
+ final Context context = getContext();
348
+ if (context instanceof ReactContext) {
349
+ return (ReactContext) context;
350
+ }
351
+ throw new TypeCastException("Context is not of type ReactContext");
352
+ }
353
+
354
+ private LifecycleOwner getLifecycleOwner() {
355
+ final Activity activity = getReactContext().getCurrentActivity();
356
+ if (activity instanceof LifecycleOwner) {
357
+ return (LifecycleOwner) activity;
358
+ }
359
+ throw new TypeCastException("Activity is not of type LifecycleOwner");
360
+ }
361
+
362
+ private void checkPermissions() {
363
+ final Activity activity = this.getReactContext().getCurrentActivity();
364
+ if (activity == null) {
365
+ return;
366
+ }
367
+ final int cameraPermission = ContextCompat.checkSelfPermission(
368
+ activity,
369
+ Manifest.permission.CAMERA
370
+ );
371
+
372
+ if (cameraPermission != PackageManager.PERMISSION_GRANTED) {
373
+ ActivityCompat.requestPermissions(
374
+ activity,
375
+ new String[] { Manifest.permission.CAMERA },
376
+ REQUEST_PERMISSION_CODE
377
+ );
378
+ }
379
+ }
380
+ }
@@ -1,7 +1,5 @@
1
1
  package io.scanbot.barcodesdk.plugin.reactnative.components.barcodecameraview;
2
2
 
3
- ;
4
-
5
3
  import android.graphics.Color;
6
4
 
7
5
  import androidx.annotation.NonNull;
@@ -11,19 +9,19 @@ import com.facebook.react.bridge.ReadableMap;
11
9
  import java.util.ArrayList;
12
10
  import java.util.List;
13
11
 
12
+ import io.scanbot.barcodesdk.plugin.reactnative.ObjectMapper;
13
+ import io.scanbot.barcodesdk.plugin.reactnative.components.base.models.ScanbotFinderInset;
14
+ import io.scanbot.barcodesdk.plugin.reactnative.utils.JSONUtils;
15
+ import io.scanbot.sdk.barcode.BarcodeFilter;
14
16
  import io.scanbot.sdk.barcode.entity.BarcodeDensity;
15
17
  import io.scanbot.sdk.barcode.entity.BarcodeDocumentFormat;
16
18
  import io.scanbot.sdk.barcode.entity.BarcodeFormat;
17
19
  import io.scanbot.sdk.barcode.entity.BarcodeScannerAdditionalConfig;
18
20
  import io.scanbot.sdk.barcode.entity.EngineMode;
19
- import io.scanbot.barcodesdk.plugin.reactnative.utils.JSONUtils;
20
- import io.scanbot.barcodesdk.plugin.reactnative.ObjectMapper;
21
21
  import io.scanbot.sdk.ui.camera.FinderAspectRatio;
22
- import io.scanbot.sdk.barcode.BarcodeFilter;
23
- import io.scanbot.sdk.ui.view.barcode.SelectionOverlayConfiguration;
24
22
 
25
23
  @SuppressWarnings("unused")
26
- public class RNScanbotBarcodeCameraConfiguration {
24
+ public class ScanbotBarcodeCameraViewConfiguration {
27
25
  // Manually mapped properties (must NOT have a getter and setter)
28
26
  public List<BarcodeFormat> barcodeFormats = new ArrayList<>();
29
27
  public List<BarcodeDocumentFormat> acceptedDocumentFormats = new ArrayList<>();
@@ -31,13 +29,14 @@ public class RNScanbotBarcodeCameraConfiguration {
31
29
  public BarcodeScannerAdditionalConfig additionalConfiguration;
32
30
  public BarcodeFilter barcodeFilter;
33
31
  public BarcodeDensity codeDensity;
34
- public FinderInset finderInset;
32
+ public ScanbotFinderInset finderInset;
35
33
 
36
34
  // Automatically mapped properties (must have a getter and a setter with the same name)
37
35
  private boolean shouldUseFinderView = false;
38
36
  private int finderLineWidth = 1;
39
37
  private int finderLineColor = Color.WHITE;
40
38
  private int finderBackgroundColor = Color.BLACK;
39
+ private int finderMinimumPadding = 64;
41
40
  private float finderBackgroundOpacity = 0.66f;
42
41
  private float cameraZoomFactor = -1;
43
42
  private boolean flashEnabled = false;
@@ -55,6 +54,10 @@ public class RNScanbotBarcodeCameraConfiguration {
55
54
  this.finderLineColor = viewFinderLineColor;
56
55
  }
57
56
 
57
+ public void setFinderMinimumPadding(int finderMinimumPadding) {
58
+ this.finderMinimumPadding = finderMinimumPadding;
59
+ }
60
+
58
61
  public void setFinderBackgroundColor(@androidx.annotation.ColorInt int viewFinderBackgroundColor) {
59
62
  this.finderBackgroundColor = viewFinderBackgroundColor;
60
63
  }
@@ -83,6 +86,8 @@ public class RNScanbotBarcodeCameraConfiguration {
83
86
  return finderLineWidth;
84
87
  }
85
88
 
89
+ public int getFinderMinimumPadding() { return finderMinimumPadding; }
90
+
86
91
  public int getFinderLineColor() {
87
92
  return finderLineColor;
88
93
  }
@@ -113,9 +118,10 @@ public class RNScanbotBarcodeCameraConfiguration {
113
118
  * @param jsonConfig ReadableMap
114
119
  */
115
120
  private void populateFinderInset(ReadableMap jsonConfig) {
116
- this.finderInset = new FinderInset();
117
121
  if (jsonConfig.hasKey("finderInset")) {
122
+ this.finderInset = new ScanbotFinderInset();
118
123
  jsonConfig = jsonConfig.getMap("finderInset");
124
+ assert jsonConfig != null;
119
125
 
120
126
  if (jsonConfig.hasKey("left")) {
121
127
  this.finderInset.left = jsonConfig.getInt("left");
@@ -136,8 +142,8 @@ public class RNScanbotBarcodeCameraConfiguration {
136
142
  }
137
143
 
138
144
  @NonNull
139
- public static RNScanbotBarcodeCameraConfiguration fromJsonMap(ReadableMap jsonConfig) {
140
- final RNScanbotBarcodeCameraConfiguration nativeConfig = new RNScanbotBarcodeCameraConfiguration();
145
+ public static ScanbotBarcodeCameraViewConfiguration fromJsonMap(ReadableMap jsonConfig) {
146
+ final ScanbotBarcodeCameraViewConfiguration nativeConfig = new ScanbotBarcodeCameraViewConfiguration();
141
147
 
142
148
  // Automatic Mapping
143
149
  try {
@@ -176,16 +182,7 @@ public class RNScanbotBarcodeCameraConfiguration {
176
182
 
177
183
  // Finder inset
178
184
  nativeConfig.populateFinderInset(jsonConfig);
185
+
179
186
  return nativeConfig;
180
187
  }
181
188
  }
182
-
183
- /**
184
- * Finder Inset class to extract data from common React native side and carry it to the native classical component.
185
- */
186
- class FinderInset {
187
- public int left;
188
- public int top;
189
- public int right;
190
- public int bottom;
191
- }