react-native-scanbot-barcode-scanner-sdk 3.1.0-alpha1 → 3.1.0-beta10

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 (145) hide show
  1. package/Libraries.txt +352 -283
  2. package/RNScanbotBarcodeSDK.podspec +1 -1
  3. package/android/.gradle/7.0-rc-1/dependencies-accessors/dependencies-accessors.lock +0 -0
  4. package/android/.gradle/{6.1.1 → 7.0-rc-1/dependencies-accessors}/gc.properties +0 -0
  5. package/android/.gradle/{6.1.1 → 7.0-rc-1}/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/7.0-rc-1/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/7.0-rc-1/gc.properties +0 -0
  8. package/android/.gradle/7.1.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  9. package/android/.gradle/7.1.1/dependencies-accessors/gc.properties +0 -0
  10. package/android/.gradle/7.1.1/fileChanges/last-build.bin +0 -0
  11. package/android/.gradle/7.1.1/fileHashes/fileHashes.lock +0 -0
  12. package/android/.gradle/7.1.1/gc.properties +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  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/.project +28 -0
  20. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  21. package/android/build.gradle +1 -1
  22. package/android/local.properties +8 -0
  23. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/JSONUtils.java +36 -2
  24. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ObjectMapper.java +5 -0
  25. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkConfiguration.java +37 -1
  26. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule.java +37 -20
  27. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcodecameraview/ScanbotBarcodeCameraViewFragment.java +15 -1
  28. package/index.d.ts +7 -10
  29. package/ios/Components/BarcodeCameraView/RNScanbotBarcodeCameraView.h +1 -0
  30. package/ios/Components/BarcodeCameraView/RNScanbotBarcodeCameraView.m +14 -4
  31. package/ios/ScanbotBarcodeSdk.m +86 -16
  32. package/ios/Utils/BarcodeMapping.h +18 -1
  33. package/package.json +6 -3
  34. package/src/components/barcode-camera-view/scanbot-barcode-camera-view-types.tsx +121 -0
  35. package/src/components/barcode-camera-view/scanbot-barcode-camera-view.tsx +163 -0
  36. package/src/components/barcode-camera-view/scanbot-native-barcode-camera-view.tsx +6 -0
  37. package/src/configuration.ts +357 -300
  38. package/src/enum.ts +2 -0
  39. package/src/model.ts +38 -1
  40. package/android/.gradle/6.1.1/executionHistory/executionHistory.bin +0 -0
  41. package/android/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
  42. package/android/.gradle/6.1.1/fileHashes/fileHashes.bin +0 -0
  43. package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  44. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  45. package/android/.idea/caches/build_file_checksums.ser +0 -0
  46. package/android/.idea/compiler.xml +0 -6
  47. package/android/.idea/gradle.xml +0 -22
  48. package/android/.idea/jarRepositories.xml +0 -50
  49. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml +0 -16
  50. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml +0 -11
  51. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_rc01_aar.xml +0 -13
  52. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml +0 -16
  53. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml +0 -13
  54. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
  55. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
  56. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -13
  57. package/android/.idea/libraries/Gradle__androidx_camera_camera_camera2_1_0_0_aar.xml +0 -16
  58. package/android/.idea/libraries/Gradle__androidx_camera_camera_core_1_0_0_aar.xml +0 -16
  59. package/android/.idea/libraries/Gradle__androidx_camera_camera_lifecycle_1_0_0_aar.xml +0 -13
  60. package/android/.idea/libraries/Gradle__androidx_camera_camera_view_1_0_0_alpha24_aar.xml +0 -16
  61. package/android/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml +0 -13
  62. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
  63. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_0_4_aar.xml +0 -11
  64. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_4.xml +0 -9
  65. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml +0 -16
  66. package/android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml +0 -16
  67. package/android/.idea/libraries/Gradle__androidx_core_core_ktx_1_3_2_aar.xml +0 -13
  68. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  69. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  70. package/android/.idea/libraries/Gradle__androidx_databinding_viewbinding_4_2_1_aar.xml +0 -13
  71. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -13
  72. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  73. package/android/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml +0 -13
  74. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml +0 -16
  75. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  76. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -13
  77. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -13
  78. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml +0 -13
  79. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml +0 -11
  80. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml +0 -13
  81. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +0 -13
  82. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml +0 -13
  83. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_ktx_2_3_1_aar.xml +0 -13
  84. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +0 -13
  85. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +0 -13
  86. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  87. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -13
  88. package/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml +0 -16
  89. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -16
  90. package/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml +0 -16
  91. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
  92. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -13
  93. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  94. package/android/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml +0 -16
  95. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
  96. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
  97. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +0 -13
  98. package/android/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml +0 -16
  99. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  100. package/android/.idea/libraries/Gradle__com_commonsware_cwac_camera_camera_0_6_41_aar.xml +0 -11
  101. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +0 -15
  102. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +0 -18
  103. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +0 -18
  104. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +0 -18
  105. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +0 -18
  106. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +0 -15
  107. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +0 -15
  108. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +0 -15
  109. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +0 -13
  110. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_60_6_aar.xml +0 -18
  111. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +0 -13
  112. package/android/.idea/libraries/Gradle__com_google_android_material_material_1_3_0_aar.xml +0 -16
  113. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
  114. package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml +0 -13
  115. package/android/.idea/libraries/Gradle__com_google_dagger_dagger_2_35.xml +0 -13
  116. package/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml +0 -13
  117. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1.xml +0 -13
  118. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1.xml +0 -13
  119. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml +0 -13
  120. package/android/.idea/libraries/Gradle__commons_io_commons_io_2_4.xml +0 -13
  121. package/android/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_1_aar.xml +0 -15
  122. package/android/.idea/libraries/Gradle__io_reactivex_rxjava2_rxjava_2_1_5.xml +0 -13
  123. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_barcode_scanner_sdk_3_0_1_aar.xml +0 -11
  124. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_barcode_scanner_sdk_ui_3_0_1_aar.xml +0 -11
  125. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_barcode_3_0_1_aar.xml +0 -11
  126. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_base_3_0_1_aar.xml +0 -11
  127. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_ui_barcode_3_0_1_aar.xml +0 -11
  128. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_ui_base_3_0_1_aar.xml +0 -11
  129. package/android/.idea/libraries/Gradle__io_scanbot_sdk_barcode_assets_3_0_1_aar.xml +0 -11
  130. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_barcode_3_0_1_aar.xml +0 -11
  131. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_barcode_native_3_0_1_aar.xml +0 -11
  132. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_sap_3_0_1_aar.xml +0 -11
  133. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  134. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
  135. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_20.xml +0 -13
  136. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_20.xml +0 -13
  137. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml +0 -13
  138. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_4_1.xml +0 -13
  139. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_4_1.xml +0 -13
  140. package/android/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_1.xml +0 -13
  141. package/android/.idea/misc.xml +0 -9
  142. package/android/.idea/modules/android.iml +0 -133
  143. package/android/.idea/modules.xml +0 -8
  144. package/android/.idea/vcs.xml +0 -6
  145. package/android/.idea/workspace.xml +0 -62
@@ -2,7 +2,7 @@ require "json"
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
4
 
5
- ScanbotBarcodeScannerSDKVersion = '3.0.2'
5
+ ScanbotBarcodeScannerSDKVersion = '3.1.1'
6
6
 
7
7
  package = JSON.parse(File.read(File.join(__dir__, "package.json")))
8
8
 
File without changes
File without changes
@@ -1,2 +1,2 @@
1
- #Thu Jul 15 15:40:35 CEST 2021
2
- gradle.version=6.1.1
1
+ #Mon Jan 31 14:23:43 CET 2022
2
+ gradle.version=7.1.1
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projectDescription>
3
+ <name>android</name>
4
+ <comment>Project android created by Buildship.</comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
10
+ <arguments>
11
+ </arguments>
12
+ </buildCommand>
13
+ </buildSpec>
14
+ <natures>
15
+ <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
16
+ </natures>
17
+ <filteredResources>
18
+ <filter>
19
+ <id>1637321714029</id>
20
+ <name></name>
21
+ <type>30</type>
22
+ <matcher>
23
+ <id>org.eclipse.core.resources.regexFilterMatcher</id>
24
+ <arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
25
+ </matcher>
26
+ </filter>
27
+ </filteredResources>
28
+ </projectDescription>
@@ -0,0 +1,13 @@
1
+ arguments=
2
+ auto.sync=false
3
+ build.scans.enabled=false
4
+ connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(7.1.1))
5
+ connection.project.dir=
6
+ eclipse.preferences.version=1
7
+ gradle.user.home=
8
+ java.home=/Library/Java/JavaVirtualMachines/jdk-16.0.2.jdk/Contents/Home
9
+ jvm.arguments=
10
+ offline.mode=false
11
+ override.workspace.settings=true
12
+ show.console.view=true
13
+ show.executions.view=true
@@ -15,7 +15,7 @@ def DEFAULT_BUILD_TOOLS_VERSION = '28.0.3'
15
15
  def DEFAULT_MIN_SDK_VERSION = 21
16
16
  def DEFAULT_TARGET_SDK_VERSION = 29
17
17
 
18
- def sdkVersion = '3.0.5'
18
+ def sdkVersion = '3.1.0'
19
19
 
20
20
  def safeExtGet(prop, fallback) {
21
21
  rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
@@ -0,0 +1,8 @@
1
+ ## This file must *NOT* be checked into Version Control Systems,
2
+ # as it contains information specific to your local configuration.
3
+ #
4
+ # Location of the SDK. This is only used by Gradle.
5
+ # For customization when using a Version Control System, please read the
6
+ # header note.
7
+ #Tue Jan 18 13:44:25 CET 2022
8
+ sdk.dir=/Users/rutkaybiyik/Library/Android/sdk
@@ -18,6 +18,7 @@ import com.facebook.react.bridge.WritableMap;
18
18
  import com.facebook.react.bridge.WritableNativeMap;
19
19
 
20
20
  import org.jetbrains.annotations.NotNull;
21
+ import org.json.JSONArray;
21
22
 
22
23
  import java.util.ArrayList;
23
24
  import java.util.EnumSet;
@@ -30,6 +31,7 @@ import io.scanbot.sdk.barcode.entity.BarcodeScannerAdditionalConfig;
30
31
  import io.scanbot.sdk.barcode.entity.EngineMode;
31
32
  import io.scanbot.sdk.barcode.entity.MSIPlesseyChecksumAlgorithm;
32
33
  import io.scanbot.sdk.ui.view.barcode.configuration.BarcodeScannerAdditionalConfiguration;
34
+ import io.scanbot.sdk.ui.view.base.configuration.CameraOrientationMode;
33
35
 
34
36
  public final class JSONUtils {
35
37
 
@@ -116,6 +118,30 @@ public final class JSONUtils {
116
118
  return nativeBarcodeDocumentFormats;
117
119
  }
118
120
 
121
+ public static @Nullable CameraOrientationMode extractCameraOrientationMode(final ReadableMap configuration) {
122
+ if (configuration.hasKey("allowedInterfaceOrientations")) {
123
+ String orientation = configuration.getString("allowedInterfaceOrientations");
124
+ if (orientation == null) {
125
+ orientation = "NONE";
126
+ }
127
+ switch (orientation) {
128
+ case "NONE":
129
+ break;
130
+ case "PORTRAIT":
131
+ case "PORTRAIT_UPSIDE_DOWN":
132
+ return CameraOrientationMode.PORTRAIT;
133
+ case "LANDSCAPE_LEFT":
134
+ case "LANDSCAPE_RIGHT":
135
+ case "LANDSCAPE":
136
+ return CameraOrientationMode.LANDSCAPE;
137
+ default:
138
+ return null;
139
+ }
140
+ }
141
+
142
+ return null;
143
+ }
144
+
119
145
  public static @Nullable BarcodeScannerAdditionalConfig extractBarcodeScannerAdditionalConfig(final ReadableMap configuration) {
120
146
  boolean changed = false;
121
147
 
@@ -158,13 +184,20 @@ public final class JSONUtils {
158
184
  changed = true;
159
185
  }
160
186
 
187
+ boolean lowPowerMode = BarcodeScannerAdditionalConfig.DEFAULT_LOW_POWER_MODE;
188
+ if (configuration.hasKey("lowPowerMode")) {
189
+ lowPowerMode = configuration.getBoolean("lowPowerMode");
190
+ changed = true;
191
+ }
192
+
161
193
  return changed ? new BarcodeScannerAdditionalConfig(
162
194
  minimumTextLength,
163
195
  maximumTextLength,
164
196
  minimum1DQuietZoneSize,
165
197
  gs1DecodingEnabled,
166
198
  msiPlesseyChecksumAlgorithms,
167
- stripCheckDigits
199
+ stripCheckDigits,
200
+ lowPowerMode
168
201
  ) : null;
169
202
  }
170
203
 
@@ -176,7 +209,8 @@ public final class JSONUtils {
176
209
  config.getMinimum1DQuietZoneSize(),
177
210
  config.getGs1DecodingEnabled(),
178
211
  config.getMsiPlesseyChecksumAlgorithms(),
179
- config.getStripCheckDigits()
212
+ config.getStripCheckDigits(),
213
+ config.getLowPowerMode()
180
214
  ) : null;
181
215
  }
182
216
 
@@ -63,6 +63,11 @@ public final class ObjectMapper {
63
63
  continue;
64
64
  }
65
65
 
66
+ // The default FRONT camera module should be FRONT_MIRRORED on Android
67
+ if ("cameraModule".equals(prop) && "FRONT".equals(value)) {
68
+ value = "FRONT_MIRRORED";
69
+ }
70
+
66
71
  final String setterName = "set" + prop.substring(0, 1).toUpperCase() + prop.substring(1);
67
72
 
68
73
  if (methodMap.containsKey(setterName)) {
@@ -7,8 +7,12 @@ package io.scanbot.barcodesdk.plugin.reactnative;
7
7
 
8
8
  public class ScanbotBarcodeSdkConfiguration {
9
9
  private boolean loggingEnabled = false;
10
+ private boolean enableNativeLogging = false;
10
11
  private String licenseKey;
11
12
  private String storageBaseDirectory = null;
13
+ private boolean useCameraX = false;
14
+ private boolean allowXnnpackAcceleration = true;
15
+ private boolean allowGpuAcceleration = true;
12
16
 
13
17
  public boolean isLoggingEnabled() {
14
18
  return loggingEnabled;
@@ -33,4 +37,36 @@ public class ScanbotBarcodeSdkConfiguration {
33
37
  public void setStorageBaseDirectory(String storageBaseDirectory) {
34
38
  this.storageBaseDirectory = storageBaseDirectory;
35
39
  }
36
- }
40
+
41
+ public boolean getAllowGpuAcceleration() {
42
+ return allowGpuAcceleration;
43
+ }
44
+
45
+ public void setAllowGpuAcceleration(boolean allowGpuAcceleration) {
46
+ this.allowGpuAcceleration = allowGpuAcceleration;
47
+ }
48
+
49
+ public boolean getUseCameraX() {
50
+ return useCameraX;
51
+ }
52
+
53
+ public void setUseCameraX(boolean useCameraX) {
54
+ this.useCameraX = useCameraX;
55
+ }
56
+
57
+ public boolean getAllowXnnpackAcceleration() {
58
+ return allowXnnpackAcceleration;
59
+ }
60
+
61
+ public void setAllowXnnpackAcceleration(boolean allowXnnpackAcceleration) {
62
+ this.allowXnnpackAcceleration = allowXnnpackAcceleration;
63
+ }
64
+
65
+ public boolean getEnableNativeLogging() {
66
+ return enableNativeLogging;
67
+ }
68
+
69
+ public void setEnableNativeLogging(boolean enableNativeLogging) {
70
+ this.enableNativeLogging = enableNativeLogging;
71
+ }
72
+ }
@@ -5,31 +5,23 @@
5
5
  */
6
6
  package io.scanbot.barcodesdk.plugin.reactnative;
7
7
 
8
- import android.app.Activity;
9
8
  import android.app.Application;
10
9
  import android.content.Intent;
11
10
  import android.graphics.Bitmap;
12
11
  import android.net.Uri;
13
12
  import android.provider.MediaStore;
14
-
15
13
  import com.facebook.react.bridge.ActivityEventListener;
16
14
  import com.facebook.react.bridge.Arguments;
17
- import com.facebook.react.bridge.BaseActivityEventListener;
18
15
  import com.facebook.react.bridge.Promise;
19
16
  import com.facebook.react.bridge.ReactApplicationContext;
20
17
  import com.facebook.react.bridge.ReactContext;
21
18
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
22
19
  import com.facebook.react.bridge.ReactMethod;
23
- import com.facebook.react.bridge.Callback;
24
- import com.facebook.react.bridge.ReadableArray;
25
20
  import com.facebook.react.bridge.ReadableMap;
26
21
  import com.facebook.react.bridge.WritableArray;
27
22
  import com.facebook.react.bridge.WritableMap;
28
- import com.facebook.react.bridge.WritableNativeMap;
29
-
30
23
  import org.jetbrains.annotations.Contract;
31
24
  import org.jetbrains.annotations.NotNull;
32
-
33
25
  import java.io.File;
34
26
  import java.io.IOException;
35
27
  import java.util.ArrayList;
@@ -37,9 +29,7 @@ import java.util.HashMap;
37
29
  import java.util.Map;
38
30
  import java.util.concurrent.ExecutorService;
39
31
  import java.util.concurrent.Executors;
40
-
41
32
  import io.scanbot.sap.SdkLicenseInfo;
42
- import io.scanbot.sap.Status;
43
33
  import io.scanbot.sdk.barcode.ScanbotBarcodeDetector;
44
34
  import io.scanbot.sdk.barcode.entity.BarcodeDocumentFormat;
45
35
  import io.scanbot.sdk.barcode.entity.BarcodeFormat;
@@ -47,20 +37,18 @@ import io.scanbot.sdk.barcode.entity.BarcodeItem;
47
37
  import io.scanbot.sdk.barcode.entity.BarcodeScannerAdditionalConfigBuilder;
48
38
  import io.scanbot.sdk.barcode.entity.BarcodeScannerConfigBuilder;
49
39
  import io.scanbot.sdk.barcode.entity.BarcodeScanningResult;
50
- import io.scanbot.sdk.barcode.entity.EngineMode;
51
40
  import io.scanbot.sdk.barcode_scanner.ScanbotBarcodeScannerSDK;
52
41
  import io.scanbot.sdk.barcode_scanner.ScanbotBarcodeScannerSDKInitializer;
53
42
  import io.scanbot.sdk.ui.barcode_scanner.view.barcode.BarcodeScannerActivity;
54
43
  import io.scanbot.sdk.ui.barcode_scanner.view.barcode.batch.BatchBarcodeScannerActivity;
55
44
  import io.scanbot.sdk.ui.view.barcode.batch.configuration.BatchBarcodeScannerConfiguration;
56
- import io.scanbot.sdk.ui.view.barcode.configuration.BarcodeImageGenerationType;
57
45
  import io.scanbot.sdk.ui.view.barcode.configuration.BarcodeScannerAdditionalConfiguration;
58
46
  import io.scanbot.sdk.ui.view.barcode.configuration.BarcodeScannerConfiguration;
47
+ import io.scanbot.sdk.ui.view.base.configuration.CameraOrientationMode;
59
48
  import kotlin.Unit;
60
49
  import kotlin.jvm.functions.Function1;
61
- import okhttp3.Response;
50
+ import android.app.Activity;
62
51
 
63
- import static io.scanbot.barcodesdk.plugin.reactnative.LogUtils.debugLog;
64
52
 
65
53
  public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implements ActivityEventListener {
66
54
 
@@ -108,9 +96,13 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
108
96
  final String callbackMessage;
109
97
 
110
98
  final ScanbotBarcodeScannerSDKInitializer initializer = new ScanbotBarcodeScannerSDKInitializer();
111
- initializer.withLogging(configuration.isLoggingEnabled());
99
+ initializer.withLogging(configuration.isLoggingEnabled(), configuration.getEnableNativeLogging());
112
100
  LogUtils.setLoggingEnabled(configuration.isLoggingEnabled());
113
101
 
102
+ initializer.allowGpuAcceleration(configuration.getAllowGpuAcceleration());
103
+ initializer.allowXnnpackAcceleration(configuration.getAllowXnnpackAcceleration());
104
+ initializer.useCameraXRtuUi(configuration.getUseCameraX());
105
+
114
106
  if (configuration.getStorageBaseDirectory() != null && !"".equals(configuration.getStorageBaseDirectory())) {
115
107
  final Uri uri = Uri.parse(configuration.getStorageBaseDirectory());
116
108
  final File customStorageBaseDirectory = new File(uri.getPath());
@@ -245,6 +237,11 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
245
237
 
246
238
  safeMap(options, configuration, promise);
247
239
 
240
+ CameraOrientationMode orientationMode = JSONUtils.extractCameraOrientationMode(options);
241
+ if (orientationMode != null) {
242
+ configuration.setOrientationLockMode(orientationMode);
243
+ }
244
+
248
245
  final ArrayList<BarcodeFormat> formats = JSONUtils.extractBarcodeFormats(options);
249
246
  if (!formats.isEmpty()) {
250
247
  configuration.setBarcodeFormatsFilter(formats);
@@ -273,6 +270,13 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
273
270
  }
274
271
  }
275
272
 
273
+ @ReactMethod
274
+ public void closeBarcodeScanner(final Promise promise) {
275
+ final ReactContext context = getReactApplicationContext();
276
+ BarcodeScannerActivity.forceClose(context);
277
+ promise.resolve(null);
278
+ }
279
+
276
280
  @ReactMethod
277
281
  public void startBatchBarcodeScanner(ReadableMap configuration, final Promise promise) {
278
282
  final ReactContext context = getReactApplicationContext();
@@ -289,6 +293,11 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
289
293
  nativeConfig.setAdditionalDetectionParameters(additionalConfiguration);
290
294
  }
291
295
 
296
+ CameraOrientationMode orientationMode = JSONUtils.extractCameraOrientationMode(configuration);
297
+ if (orientationMode != null) {
298
+ nativeConfig.setOrientationLockMode(orientationMode);
299
+ }
300
+
292
301
  // Barcode Format Filters
293
302
  ArrayList<BarcodeFormat> formats = JSONUtils.extractBarcodeFormats(configuration);
294
303
  if (!formats.isEmpty()) {
@@ -313,6 +322,13 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
313
322
  }
314
323
  }
315
324
 
325
+ @ReactMethod
326
+ public void closeBatchBarcodeScanner(final Promise promise) {
327
+ final ReactContext context = getReactApplicationContext();
328
+ BatchBarcodeScannerActivity.forceClose(context, false);
329
+ promise.resolve(null);
330
+ }
331
+
316
332
  @ReactMethod
317
333
  public void cleanup(final Promise promise) {
318
334
  if (rejectIfUninitialized(promise)) {
@@ -343,7 +359,7 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
343
359
 
344
360
  switch (requestCode) {
345
361
  case REQUEST_SB_BARCODE_SCANNER:
346
- this.handleBarcodeScannerActivityCompletion(intent, (resultCode != Activity.RESULT_OK));
362
+ this.handleBarcodeScannerActivityCompletion(intent, resultCode);
347
363
  return;
348
364
 
349
365
  default:
@@ -355,13 +371,14 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
355
371
  public void onNewIntent(Intent intent) {
356
372
  }
357
373
 
358
- private void handleBarcodeScannerActivityCompletion(final Intent intent, boolean canceled) {
374
+ private void handleBarcodeScannerActivityCompletion(final Intent intent, final int resultCode) {
359
375
  Promise promise = this.activityCallbackPromise;
360
376
  this.activityCallbackPromise = null;
361
377
 
362
- if (!canceled) {
363
- final BarcodeScanningResult barcodeResult = intent.getParcelableExtra(BarcodeScannerActivity.SCANNED_BARCODE_EXTRA);
364
- final WritableMap result = jsonResultFromBarcodeScannerResult(barcodeResult);
378
+ final BarcodeScannerActivity.Result barcodeResult = BarcodeScannerActivity.extractResult(resultCode, intent);
379
+
380
+ if (barcodeResult.getResultOk()) {
381
+ final WritableMap result = jsonResultFromBarcodeScannerResult(barcodeResult.getResult());
365
382
 
366
383
  String imagePath = intent.getStringExtra(BarcodeScannerActivity.SCANNED_BARCODE_IMAGE_PATH_EXTRA);
367
384
  if (imagePath == null) {
@@ -34,6 +34,8 @@ import io.scanbot.sdk.barcode.BarcodeDetectorFrameHandler;
34
34
  import io.scanbot.sdk.barcode.DefaultScanbotBarcodeDetector;
35
35
  import io.scanbot.sdk.barcode.ScanbotBarcodeDetector;
36
36
  import io.scanbot.sdk.barcode.entity.BarcodeItem;
37
+ import io.scanbot.sdk.barcode.entity.BarcodeScannerAdditionalConfig;
38
+ import io.scanbot.sdk.barcode.entity.BarcodeScannerAdditionalConfigBuilder;
37
39
  import io.scanbot.sdk.barcode.entity.BarcodeScannerConfigBuilder;
38
40
  import io.scanbot.sdk.barcode.entity.BarcodeScanningResult;
39
41
  import io.scanbot.sdk.camera.CameraOpenCallback;
@@ -143,7 +145,19 @@ public class ScanbotBarcodeCameraViewFragment extends Fragment implements Barcod
143
145
  b.setEngineMode(configuration.engineMode);
144
146
 
145
147
  if(configuration.additionalConfiguration != null) {
146
- b.setAdditionalConfig(configuration.additionalConfiguration);
148
+ b.modifyAdditionalConfig(new Function1<BarcodeScannerAdditionalConfigBuilder, Unit>() {
149
+ @Override
150
+ public Unit invoke(BarcodeScannerAdditionalConfigBuilder ab) {
151
+ final BarcodeScannerAdditionalConfig config = configuration.additionalConfiguration;
152
+ ab.setMinimumTextLength(config.getMinimumTextLength());
153
+ ab.setMaximumTextLength(config.getMaximumTextLength());
154
+ ab.setMsiPlesseyChecksumAlgorithms(config.getMsiPlesseyChecksumAlgorithms());
155
+ ab.setStripCheckDigits(config.getStripCheckDigits());
156
+ ab.setGs1DecodingEnabled(config.getGs1DecodingEnabled());
157
+ ab.setMinimum1DQuietZoneSize(config.getMinimum1DQuietZoneSize());
158
+ return Unit.INSTANCE;
159
+ }
160
+ });
147
161
  }
148
162
  return Unit.INSTANCE;
149
163
  }
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { BarcodeScannerConfiguration, BatchBarcodeScannerConfiguration } from "./src/configuration";
1
+ import { InitializationOptions } from "react-native-scanbot-barcode-scanner-sdk/src/model";
2
+ import { BarcodeScannerConfiguration, BatchBarcodeScannerConfiguration, DetectBarcodesOnImageArguments } from "./src/configuration";
2
3
  import { BarcodeDocumentFormat, BarcodeFormat, EngineMode } from "./src/enum";
3
4
  import { BarcodeResult, BarcodeScannerResult, BatchBarcodeScannerResult } from "./src/result";
4
5
 
@@ -16,24 +17,20 @@ export {
16
17
 
17
18
  export interface ScanbotBarcodeSdk {
18
19
  // SDK Internal
19
- initializeSdk(options: any): Promise<{result: string}>;
20
+ initializeSdk(options: InitializationOptions): Promise<{result: string}>;
20
21
  getLicenseInfo(): Promise<any>;
21
22
  cleanup(): Promise<void>;
22
23
 
23
24
  // RTU-UI Barcode Scanning
24
25
  startBarcodeScanner(configuration: BarcodeScannerConfiguration): Promise<BarcodeScannerResult>;
26
+ closeBarcodeScanner(): Promise<void>;
27
+
25
28
  startBatchBarcodeScanner(configuration: BatchBarcodeScannerConfiguration): Promise<BatchBarcodeScannerResult>;
29
+ closeBatchBarcodeScanner(): Promise<void>;
26
30
 
27
31
  // Other Barcode Scanning functionalities
28
32
  detectBarcodesOnImage(
29
- args: {
30
- imageFileUri: string,
31
- barcodeFormats?: BarcodeFormat[],
32
- acceptedDocumentFormats?: BarcodeDocumentFormat[],
33
- minimumTextLength?: number, // NOTE: This feature works on ITF barcodes only.
34
- maximumTextLength?: number, // NOTE: This feature works on ITF barcodes only.
35
- minimum1DBarcodesQuietZone?: number //NOTE: This feature works on ITF barcodes only.
36
- }
33
+ args: DetectBarcodesOnImageArguments
37
34
  ): Promise<BarcodeResult>;
38
35
  }
39
36
 
@@ -44,6 +44,7 @@
44
44
  @property (nonatomic, copy) NSNumber* _Nullable gs1DecodingEnabled;
45
45
  @property (nonatomic, copy) NSNumber* _Nullable minimumTextLength;
46
46
  @property (nonatomic, copy) NSNumber* _Nullable maximumTextLength;
47
+ @property (nonatomic, copy) NSNumber* _Nullable stripCheckDigits;
47
48
  @property (nonatomic, copy) NSArray<SBSDKBarcodeType *>* _Nullable barcodeFormats;
48
49
  @property (nonatomic, copy) NSArray<SBSDKBarcodeDocumentType *>* _Nullable acceptedDocumentFormats;
49
50
  @property (nonatomic) SBSDKBarcodeMSIPlesseyChecksumAlgorithm msiPlesseyChecksumAlgorithm;
@@ -112,18 +112,28 @@
112
112
  if (_cameraViewConfiguration.acceptedDocumentFormats) {
113
113
  viewController.acceptedDocumentTypes = _cameraViewConfiguration.acceptedDocumentFormats;
114
114
  }
115
+
116
+ // Map Additional Parameters
117
+ SBSDKBarcodeAdditionalParameters* additionalParameters = [[SBSDKBarcodeAdditionalParameters alloc] init];
118
+
115
119
  if (_cameraViewConfiguration.gs1DecodingEnabled) {
116
- viewController.additionalDetectionParameters.enableGS1Decoding = [_cameraViewConfiguration.gs1DecodingEnabled boolValue];
120
+ additionalParameters.enableGS1Decoding = [_cameraViewConfiguration.gs1DecodingEnabled boolValue];
117
121
  }
118
122
  if (_cameraViewConfiguration.maximumTextLength) {
119
- viewController.additionalDetectionParameters.maximumTextLength = [_cameraViewConfiguration.maximumTextLength intValue];
123
+ additionalParameters.maximumTextLength = [_cameraViewConfiguration.maximumTextLength intValue];
120
124
  }
121
125
  if (_cameraViewConfiguration.minimumTextLength) {
122
- viewController.additionalDetectionParameters.minimumTextLength = [_cameraViewConfiguration.minimumTextLength intValue];
126
+ additionalParameters.minimumTextLength = [_cameraViewConfiguration.minimumTextLength intValue];
123
127
  }
124
128
  if (_cameraViewConfiguration.msiPlesseyChecksumAlgorithm != -1) {
125
- viewController.additionalDetectionParameters.msiPlesseyChecksumAlgorithm = _cameraViewConfiguration.msiPlesseyChecksumAlgorithm;
129
+ additionalParameters.msiPlesseyChecksumAlgorithm = _cameraViewConfiguration.msiPlesseyChecksumAlgorithm;
130
+ }
131
+ if (_cameraViewConfiguration.stripCheckDigits) {
132
+ additionalParameters.stripCheckDigits = [_cameraViewConfiguration.stripCheckDigits boolValue];
126
133
  }
134
+
135
+ viewController.additionalDetectionParameters = additionalParameters;
136
+
127
137
  if (_cameraViewConfiguration.cameraZoomFactor) {
128
138
  CGFloat value = [_cameraViewConfiguration.cameraZoomFactor floatValue];
129
139
  if (value != _userDefinedCameraZoomFactor || _userDefinedCameraZoomFactor == -1) {