react-native-scanbot-barcode-scanner-sdk 3.1.0-beta1 → 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 (143) 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 +28 -1
  26. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule.java +35 -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 +3 -3
  34. package/src/components/barcode-camera-view/scanbot-barcode-camera-view-types.tsx +8 -2
  35. package/src/configuration.ts +357 -300
  36. package/src/enum.ts +2 -0
  37. package/src/model.ts +15 -0
  38. package/android/.gradle/6.1.1/executionHistory/executionHistory.bin +0 -0
  39. package/android/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
  40. package/android/.gradle/6.1.1/fileHashes/fileHashes.bin +0 -0
  41. package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  42. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  43. package/android/.idea/caches/build_file_checksums.ser +0 -0
  44. package/android/.idea/compiler.xml +0 -6
  45. package/android/.idea/gradle.xml +0 -22
  46. package/android/.idea/jarRepositories.xml +0 -50
  47. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml +0 -16
  48. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml +0 -11
  49. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_rc01_aar.xml +0 -13
  50. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml +0 -16
  51. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml +0 -13
  52. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
  53. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
  54. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -13
  55. package/android/.idea/libraries/Gradle__androidx_camera_camera_camera2_1_0_0_aar.xml +0 -16
  56. package/android/.idea/libraries/Gradle__androidx_camera_camera_core_1_0_0_aar.xml +0 -16
  57. package/android/.idea/libraries/Gradle__androidx_camera_camera_lifecycle_1_0_0_aar.xml +0 -13
  58. package/android/.idea/libraries/Gradle__androidx_camera_camera_view_1_0_0_alpha24_aar.xml +0 -16
  59. package/android/.idea/libraries/Gradle__androidx_cardview_cardview_1_0_0_aar.xml +0 -13
  60. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
  61. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_0_4_aar.xml +0 -11
  62. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_solver_2_0_4.xml +0 -9
  63. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml +0 -16
  64. package/android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml +0 -16
  65. package/android/.idea/libraries/Gradle__androidx_core_core_ktx_1_3_2_aar.xml +0 -13
  66. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  67. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  68. package/android/.idea/libraries/Gradle__androidx_databinding_viewbinding_4_2_1_aar.xml +0 -13
  69. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -13
  70. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  71. package/android/.idea/libraries/Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml +0 -13
  72. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml +0 -16
  73. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  74. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -13
  75. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -13
  76. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml +0 -13
  77. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml +0 -11
  78. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml +0 -13
  79. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +0 -13
  80. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml +0 -13
  81. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_ktx_2_3_1_aar.xml +0 -13
  82. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +0 -13
  83. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +0 -13
  84. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  85. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -13
  86. package/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml +0 -16
  87. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -16
  88. package/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml +0 -16
  89. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
  90. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -13
  91. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  92. package/android/.idea/libraries/Gradle__androidx_transition_transition_1_2_0_aar.xml +0 -16
  93. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
  94. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
  95. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +0 -13
  96. package/android/.idea/libraries/Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml +0 -16
  97. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  98. package/android/.idea/libraries/Gradle__com_commonsware_cwac_camera_camera_0_6_41_aar.xml +0 -11
  99. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +0 -15
  100. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +0 -18
  101. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +0 -18
  102. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +0 -18
  103. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +0 -18
  104. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +0 -15
  105. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +0 -15
  106. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +0 -15
  107. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +0 -13
  108. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_60_6_aar.xml +0 -18
  109. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +0 -13
  110. package/android/.idea/libraries/Gradle__com_google_android_material_material_1_3_0_aar.xml +0 -16
  111. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
  112. package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml +0 -13
  113. package/android/.idea/libraries/Gradle__com_google_dagger_dagger_2_35.xml +0 -13
  114. package/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_1_0.xml +0 -13
  115. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1.xml +0 -13
  116. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1.xml +0 -13
  117. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml +0 -13
  118. package/android/.idea/libraries/Gradle__commons_io_commons_io_2_4.xml +0 -13
  119. package/android/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_1_aar.xml +0 -15
  120. package/android/.idea/libraries/Gradle__io_reactivex_rxjava2_rxjava_2_1_5.xml +0 -13
  121. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_barcode_scanner_sdk_3_0_1_aar.xml +0 -11
  122. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_barcode_scanner_sdk_ui_3_0_1_aar.xml +0 -11
  123. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_barcode_3_0_1_aar.xml +0 -11
  124. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_base_3_0_1_aar.xml +0 -11
  125. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_ui_barcode_3_0_1_aar.xml +0 -11
  126. package/android/.idea/libraries/Gradle__io_scanbot_scanbot_sdk_ui_base_3_0_1_aar.xml +0 -11
  127. package/android/.idea/libraries/Gradle__io_scanbot_sdk_barcode_assets_3_0_1_aar.xml +0 -11
  128. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_barcode_3_0_1_aar.xml +0 -11
  129. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_barcode_native_3_0_1_aar.xml +0 -11
  130. package/android/.idea/libraries/Gradle__io_scanbot_sdk_core_sap_3_0_1_aar.xml +0 -11
  131. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  132. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
  133. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_20.xml +0 -13
  134. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_20.xml +0 -13
  135. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_20.xml +0 -13
  136. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_4_1.xml +0 -13
  137. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_4_1.xml +0 -13
  138. package/android/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_1.xml +0 -13
  139. package/android/.idea/misc.xml +0 -9
  140. package/android/.idea/modules/android.iml +0 -133
  141. package/android/.idea/modules.xml +0 -8
  142. package/android/.idea/vcs.xml +0 -6
  143. 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.6'
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,11 @@ 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;
12
15
  private boolean allowGpuAcceleration = true;
13
16
 
14
17
  public boolean isLoggingEnabled() {
@@ -42,4 +45,28 @@ public class ScanbotBarcodeSdkConfiguration {
42
45
  public void setAllowGpuAcceleration(boolean allowGpuAcceleration) {
43
46
  this.allowGpuAcceleration = allowGpuAcceleration;
44
47
  }
45
- }
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,10 +96,12 @@ 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
 
114
102
  initializer.allowGpuAcceleration(configuration.getAllowGpuAcceleration());
103
+ initializer.allowXnnpackAcceleration(configuration.getAllowXnnpackAcceleration());
104
+ initializer.useCameraXRtuUi(configuration.getUseCameraX());
115
105
 
116
106
  if (configuration.getStorageBaseDirectory() != null && !"".equals(configuration.getStorageBaseDirectory())) {
117
107
  final Uri uri = Uri.parse(configuration.getStorageBaseDirectory());
@@ -247,6 +237,11 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
247
237
 
248
238
  safeMap(options, configuration, promise);
249
239
 
240
+ CameraOrientationMode orientationMode = JSONUtils.extractCameraOrientationMode(options);
241
+ if (orientationMode != null) {
242
+ configuration.setOrientationLockMode(orientationMode);
243
+ }
244
+
250
245
  final ArrayList<BarcodeFormat> formats = JSONUtils.extractBarcodeFormats(options);
251
246
  if (!formats.isEmpty()) {
252
247
  configuration.setBarcodeFormatsFilter(formats);
@@ -275,6 +270,13 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
275
270
  }
276
271
  }
277
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
+
278
280
  @ReactMethod
279
281
  public void startBatchBarcodeScanner(ReadableMap configuration, final Promise promise) {
280
282
  final ReactContext context = getReactApplicationContext();
@@ -291,6 +293,11 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
291
293
  nativeConfig.setAdditionalDetectionParameters(additionalConfiguration);
292
294
  }
293
295
 
296
+ CameraOrientationMode orientationMode = JSONUtils.extractCameraOrientationMode(configuration);
297
+ if (orientationMode != null) {
298
+ nativeConfig.setOrientationLockMode(orientationMode);
299
+ }
300
+
294
301
  // Barcode Format Filters
295
302
  ArrayList<BarcodeFormat> formats = JSONUtils.extractBarcodeFormats(configuration);
296
303
  if (!formats.isEmpty()) {
@@ -315,6 +322,13 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
315
322
  }
316
323
  }
317
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
+
318
332
  @ReactMethod
319
333
  public void cleanup(final Promise promise) {
320
334
  if (rejectIfUninitialized(promise)) {
@@ -345,7 +359,7 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
345
359
 
346
360
  switch (requestCode) {
347
361
  case REQUEST_SB_BARCODE_SCANNER:
348
- this.handleBarcodeScannerActivityCompletion(intent, (resultCode != Activity.RESULT_OK));
362
+ this.handleBarcodeScannerActivityCompletion(intent, resultCode);
349
363
  return;
350
364
 
351
365
  default:
@@ -357,13 +371,14 @@ public class ScanbotBarcodeSdkModule extends ReactContextBaseJavaModule implemen
357
371
  public void onNewIntent(Intent intent) {
358
372
  }
359
373
 
360
- private void handleBarcodeScannerActivityCompletion(final Intent intent, boolean canceled) {
374
+ private void handleBarcodeScannerActivityCompletion(final Intent intent, final int resultCode) {
361
375
  Promise promise = this.activityCallbackPromise;
362
376
  this.activityCallbackPromise = null;
363
377
 
364
- if (!canceled) {
365
- final BarcodeScanningResult barcodeResult = intent.getParcelableExtra(BarcodeScannerActivity.SCANNED_BARCODE_EXTRA);
366
- 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());
367
382
 
368
383
  String imagePath = intent.getStringExtra(BarcodeScannerActivity.SCANNED_BARCODE_IMAGE_PATH_EXTRA);
369
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) {