anyline-ocr-react-native-module 53.2.0 → 53.3.0

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.
@@ -61,7 +61,7 @@ repositories {
61
61
 
62
62
  dependencies {
63
63
  implementation fileTree(dir: "libs", include: ["*.jar"])
64
- implementation 'io.anyline:anylinesdk:53.2.0'
64
+ implementation 'io.anyline:anylinesdk:53.3.0'
65
65
  implementation "com.facebook.react:react-native:+"
66
66
  implementation("com.google.android.material:material:1.9.0")
67
67
  implementation 'androidx.multidex:multidex:2.0.1'
@@ -35,6 +35,7 @@ class AnylineSDKPlugin extends ReactContextBaseJavaModule implements ResultRepor
35
35
  public static final String REACT_CLASS = "AnylineSDKPlugin";
36
36
  public static final String EXTRA_LICENSE_KEY = "EXTRA_LICENSE_KEY";
37
37
  public static final String EXTRA_CONFIG_JSON = "EXTRA_CONFIG_JSON";
38
+ public static final String EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS = "EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS";
38
39
  public static final String EXTRA_SCAN_MODE = "EXTRA_SCAN_MODE";
39
40
  public static final String EXTRA_ERROR_MESSAGE = "EXTRA_ERROR_MESSAGE";
40
41
  public static final String EXTRA_OCR_CONFIG_JSON = "EXTRA_OCR_CONFIG_JSON";
@@ -53,6 +54,7 @@ class AnylineSDKPlugin extends ReactContextBaseJavaModule implements ResultRepor
53
54
  private Promise promise;
54
55
  private String returnMethod;
55
56
  private String config;
57
+ private String scanViewInitializationParameters;
56
58
  private AssetContextJsonParser assetContextJsonParser;
57
59
 
58
60
  private static WrapperConfig wrapperConfig;
@@ -175,10 +177,16 @@ class AnylineSDKPlugin extends ReactContextBaseJavaModule implements ResultRepor
175
177
 
176
178
  @ReactMethod
177
179
  public void setup(String config, String scanMode, Callback onResultReact, Callback onErrorReact) {
180
+ setupWithInitializationParameters(null, config, scanMode, onResultReact, onErrorReact);
181
+ }
182
+
183
+ @ReactMethod
184
+ public void setupWithInitializationParameters(String initializationParameters, String config, String scanMode, Callback onResultReact, Callback onErrorReact) {
178
185
  onResultCallback = onResultReact;
179
186
  onErrorCallback = onErrorReact;
180
187
  this.returnMethod = "callback";
181
188
  this.config = config;
189
+ this.scanViewInitializationParameters = initializationParameters;
182
190
 
183
191
  routeScanMode(scanMode);
184
192
  }
@@ -226,9 +234,14 @@ class AnylineSDKPlugin extends ReactContextBaseJavaModule implements ResultRepor
226
234
 
227
235
  @ReactMethod
228
236
  public void setupPromise(String config, String scanMode, final Promise promise) {
237
+ setupPromiseWithInitializationParameters(null, config, scanMode, promise);
238
+ }
239
+ @ReactMethod
240
+ public void setupPromiseWithInitializationParameters(String initializationParameters, String config, String scanMode, final Promise promise) {
229
241
  this.promise = promise;
230
242
  this.returnMethod = "promise";
231
243
  this.config = config;
244
+ this.scanViewInitializationParameters = initializationParameters;
232
245
 
233
246
  routeScanMode(scanMode);
234
247
  }
@@ -281,13 +294,14 @@ class AnylineSDKPlugin extends ReactContextBaseJavaModule implements ResultRepor
281
294
 
282
295
  if (optionsJSONObject != null) {
283
296
  intent.putExtra(
284
- EXTRA_ENABLE_BARCODE_SCANNING,
285
- optionsJSONObject.optBoolean("nativeBarcodeEnabled", false)
297
+ EXTRA_ENABLE_BARCODE_SCANNING,
298
+ optionsJSONObject.optBoolean("nativeBarcodeEnabled", false)
286
299
  );
287
300
  }
288
301
 
289
302
  intent.putExtra(EXTRA_LICENSE_KEY, license);
290
303
  intent.putExtra(EXTRA_CONFIG_JSON, configObject.toString());
304
+ intent.putExtra(EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS, scanViewInitializationParameters);
291
305
 
292
306
  ResultReporter.setListener(this);
293
307
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -1,8 +1,10 @@
1
1
  package com.anyline.reactnative;
2
2
 
3
3
  import static com.anyline.reactnative.AnylineSDKPlugin.EXTRA_CONFIG_JSON;
4
+ import static com.anyline.reactnative.AnylineSDKPlugin.EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS;
4
5
  import static com.anyline.reactnative.AnylineSDKPlugin.EXTRA_ERROR_MESSAGE;
5
6
  import static com.anyline.reactnative.AnylineSDKPlugin.RESULT_ERROR;
7
+ import static io.anyline2.sdk.extension.ScanViewInitializationParametersExtensionKt.getScanViewInitializationParametersFromJsonObject;
6
8
 
7
9
  import android.content.Intent;
8
10
  import android.content.pm.ActivityInfo;
@@ -29,6 +31,7 @@ import org.json.JSONObject;
29
31
  import java.util.Timer;
30
32
  import java.util.TimerTask;
31
33
 
34
+ import io.anyline.plugin.config.ScanViewInitializationParameters;
32
35
  import io.anyline2.ScanResult;
33
36
  import io.anyline2.view.ScanView;
34
37
  import io.anyline2.viewplugin.ScanViewPlugin;
@@ -98,7 +101,17 @@ public class ScanActivity extends AppCompatActivity {
98
101
  setupChangeOrientationButton(configJSON);
99
102
  setupCustomUIFeedback(configJSON);
100
103
 
101
- scanView.init(configJSON);
104
+ String initializationParametersString = getIntent().getStringExtra(EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS);
105
+ if (initializationParametersString != null) {
106
+ ScanViewInitializationParameters scanViewInitializationParameters =
107
+ getScanViewInitializationParametersFromJsonObject(
108
+ this,
109
+ new JSONObject(initializationParametersString));
110
+ scanView.init(configJSON, scanViewInitializationParameters);
111
+ }
112
+ else {
113
+ scanView.init(configJSON);
114
+ }
102
115
 
103
116
  ViewPluginBase viewPluginBase = scanView.getScanViewPlugin();
104
117
 
@@ -8,6 +8,7 @@ NS_ASSUME_NONNULL_BEGIN
8
8
  - (instancetype)initWithLicensekey:(NSString *)licensekey
9
9
  configuration:(NSDictionary *)anylineConfig
10
10
  uiConfig:(ALJSONUIConfiguration *)uiConfig
11
+ initializationParamsStr:(NSString *)initializationParamsStr
11
12
  finished:(ALPluginCallback)callback;
12
13
  @end
13
14
 
@@ -47,6 +47,7 @@ API_AVAILABLE(ios(13.0))
47
47
  // JPEG compression quality 0-100
48
48
  @property (nonatomic, assign) NSUInteger quality;
49
49
 
50
+ @property (nonatomic, nullable) NSString *initializationParamsStr;
50
51
 
51
52
  @end
52
53
 
@@ -56,13 +57,14 @@ API_AVAILABLE(ios(13.0))
56
57
  - (instancetype)initWithLicensekey:(NSString *)licensekey
57
58
  configuration:(NSDictionary *)anylineConfig
58
59
  uiConfig:(ALJSONUIConfiguration *)uiConfig
60
+ initializationParamsStr:(NSString *)initializationParamsStr
59
61
  finished:(ALPluginCallback)callback {
60
62
  if (self = [super init]) {
61
63
  _licenseKey = licensekey;
62
64
  _callback = callback;
63
65
  _config = anylineConfig;
64
66
  _uiConfig = uiConfig;
65
-
67
+ _initializationParamsStr = initializationParamsStr;
66
68
  self.quality = 90;
67
69
  }
68
70
  return self;
@@ -95,12 +97,20 @@ API_AVAILABLE(ios(13.0))
95
97
  return;
96
98
  }
97
99
 
100
+ ALScanViewInitializationParameters *initializationParams = nil;
101
+ if(_initializationParamsStr){
102
+ initializationParams= [ALScanViewInitializationParameters withJSONString:_initializationParamsStr error:&error];
103
+ }
104
+
98
105
  [self.view addSubview:self.scanView];
99
106
 
100
107
  self.resultDict = [[NSMutableDictionary alloc] init];
101
108
  self.detectedBarcodes = [NSMutableArray array];
102
109
 
103
- self.scanView = [ALScanViewFactory withJSONDictionary:self.config delegate:self error:&error];
110
+ self.scanView = [ALScanViewFactory withJSONDictionary:self.config
111
+ initializationParams:initializationParams
112
+ delegate:self
113
+ error:&error];
104
114
  self.scanView.delegate = self;
105
115
 
106
116
  [self configureMRZPlugin];
@@ -10,7 +10,7 @@ typedef void (^ALPluginCallback)(NSDictionary * _Nullable callbackObj, NSError *
10
10
 
11
11
  @interface ALPluginHelper : NSObject
12
12
 
13
- + (void)startScan:(NSDictionary *)config finished:(ALPluginCallback)callback;
13
+ + (void)startScan:(NSDictionary *)config initializationParamsStr:(NSString *)initializationParamsStr finished:(ALPluginCallback)callback;
14
14
 
15
15
  + (NSString *)saveImageToFileSystem:(UIImage *)image;
16
16
 
@@ -10,7 +10,7 @@ NSErrorDomain const ALDefaultDomain = @"ALDefaultErrorDomain";
10
10
 
11
11
  #pragma mark - Launch Anyline
12
12
 
13
- + (void)startScan:(NSDictionary *)config finished:(ALPluginCallback)callback {
13
+ + (void)startScan:(NSDictionary *)config initializationParamsStr:(NSString *)initializationParamsStr finished:(ALPluginCallback)callback {
14
14
 
15
15
  NSDictionary *pluginConf = config;
16
16
 
@@ -35,7 +35,8 @@ NSErrorDomain const ALDefaultDomain = @"ALDefaultErrorDomain";
35
35
  ALNFCScanViewController *nfcScanViewController = [[ALNFCScanViewController alloc] initWithLicensekey:licenseKey
36
36
  configuration:pluginConf
37
37
  uiConfig:jsonUIConf
38
- finished:callback];
38
+ initializationParamsStr:initializationParamsStr
39
+ finished:callback];
39
40
  if (nfcScanViewController != nil) {
40
41
  [nfcScanViewController setModalPresentationStyle:UIModalPresentationFullScreen];
41
42
  [[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:nfcScanViewController
@@ -50,6 +51,7 @@ NSErrorDomain const ALDefaultDomain = @"ALDefaultErrorDomain";
50
51
  ALPluginScanViewController *pluginScanViewController = [[ALPluginScanViewController alloc] initWithLicensekey:licenseKey
51
52
  configuration:pluginConf
52
53
  uiConfiguration:jsonUIConf
54
+ initializationParamsStr:initializationParamsStr
53
55
  finished:callback];
54
56
 
55
57
  if ([pluginConf valueForKey:@"quality"]){
@@ -10,6 +10,7 @@ NS_ASSUME_NONNULL_BEGIN
10
10
  - (instancetype)initWithLicensekey:(NSString *)licenseKey
11
11
  configuration:(NSDictionary *)config
12
12
  uiConfiguration:(ALJSONUIConfiguration *)JSONUIConfig
13
+ initializationParamsStr:(NSString *)initializationParamsStr
13
14
  finished:(ALPluginCallback)callback;
14
15
 
15
16
  @end
@@ -37,6 +37,8 @@
37
37
 
38
38
  @property (nonatomic, strong) NSError *scanViewError;
39
39
 
40
+ @property (nonatomic, nullable) NSString *initializationParamsStr;
41
+
40
42
  @end
41
43
 
42
44
 
@@ -49,6 +51,7 @@
49
51
  - (instancetype)initWithLicensekey:(NSString *)licenseKey
50
52
  configuration:(NSDictionary *)config
51
53
  uiConfiguration:(ALJSONUIConfiguration *)JSONUIConfig
54
+ initializationParamsStr:(NSString *)initializationParamsStr
52
55
  finished:(ALPluginCallback)callback {
53
56
 
54
57
  if (self = [super init]) {
@@ -56,7 +59,8 @@
56
59
  _callback = callback;
57
60
  _config = config;
58
61
  _uiConfig = JSONUIConfig;
59
-
62
+ _initializationParamsStr = initializationParamsStr;
63
+
60
64
  self.quality = 100;
61
65
  }
62
66
  return self;
@@ -79,7 +83,18 @@
79
83
  }
80
84
  }
81
85
 
86
+ ALScanViewInitializationParameters *initializationParams = nil;
87
+ if(![self isStringEmpty:_initializationParamsStr]){
88
+ initializationParams = [ALScanViewInitializationParameters withJSONString: _initializationParamsStr error:&error];
89
+ }
90
+
91
+ if ([self showErrorAlertIfNeeded:error]) {
92
+ self.scanViewError = error;
93
+ return;
94
+ }
95
+
82
96
  self.scanView = [ALScanViewFactory withJSONDictionary:self.config
97
+ initializationParams:initializationParams
83
98
  delegate:self
84
99
  error:&error];
85
100
 
@@ -434,6 +449,13 @@
434
449
  return YES;
435
450
  }
436
451
 
452
+ -(BOOL)isStringEmpty:(NSString *)str {
453
+ if(str == nil || [str isKindOfClass:[NSNull class]] || str.length==0) {
454
+ return YES;
455
+ }
456
+ return NO;
457
+ }
458
+
437
459
  // MARK: - Miscellaneous
438
460
 
439
461
  - (BOOL)showErrorAlertIfNeeded:(NSError *)error {
@@ -18,7 +18,7 @@ Pod::Spec.new do |s|
18
18
  s.source = { :git => "https://github.com/Anyline/anyline-ocr-react-native-module.git", :tag => "#{s.version}" }
19
19
 
20
20
  s.source_files = "*.{h,m}"
21
- s.dependency "Anyline", "53.2.0"
21
+ s.dependency "Anyline", "53.3.0"
22
22
  s.dependency "React"
23
23
 
24
- end
24
+ end
@@ -27,6 +27,8 @@ ALWrapperConfig *wrapperConfig = nil;
27
27
 
28
28
  @property (nonatomic, copy) NSString *returnMethod;
29
29
 
30
+ @property (nonatomic, copy) NSString *initializationParamsStr;
31
+
30
32
  @end
31
33
 
32
34
 
@@ -46,15 +48,19 @@ RCT_EXPORT_METHOD(setupScanViewWithConfigJson:(NSString *)config scanMode:(NSStr
46
48
  self.onErrorCallback = onError;
47
49
  self.returnMethod = @"callback";
48
50
  self.config = config;
49
- [self initView:scanMode];
51
+ [self initView:scanMode initializationParamsStr:nil];
50
52
  }
51
53
 
52
54
  RCT_EXPORT_METHOD(setup:(NSString *)config scanMode:(NSString *)scanMode onResultCallback:(RCTResponseSenderBlock)onResult onErrorCallback:(RCTResponseSenderBlock)onError) {
55
+ [self setupWithInitializationParameters:nil config:config scanMode:scanMode onResultCallback:onResult onErrorCallback:onError];
56
+ }
57
+
58
+ RCT_EXPORT_METHOD(setupWithInitializationParameters:(NSString * _Nullable)initializationParametersStr config:(NSString *)config scanMode:(NSString *)scanMode onResultCallback:(RCTResponseSenderBlock)onResult onErrorCallback:(RCTResponseSenderBlock)onError) {
53
59
  self.onResultCallback = onResult;
54
60
  self.onErrorCallback = onError;
55
61
  self.returnMethod = @"callback";
56
62
  self.config = config;
57
- [self initView:scanMode];
63
+ [self initView:scanMode initializationParamsStr:initializationParametersStr];
58
64
  }
59
65
 
60
66
  RCT_EXPORT_METHOD(setupAnylineSDK:(NSString *)licenseKey
@@ -92,11 +98,16 @@ RCT_EXPORT_METHOD(setupAnylineSDKWithCacheConfig:(NSString *)licenseKey
92
98
  }
93
99
 
94
100
  RCT_EXPORT_METHOD(setupPromise:(NSString *)config scanMode:(NSString *)scanMode resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
101
+ [self setupPromiseWithInitializationParameters:nil config:config scanMode:scanMode resolver:resolve rejecter:reject];
102
+ }
103
+
104
+ RCT_EXPORT_METHOD(setupPromiseWithInitializationParameters:(NSString * _Nullable)initializationParametersStr config:(NSString *)configStr scanMode:(NSString *)scanMode resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
95
105
  _resolveBlock = resolve;
96
106
  _rejectBlock = reject;
97
107
  self.returnMethod = @"promise";
98
- self.config = config;
99
- [self initView:scanMode];
108
+ self.config = configStr;
109
+ self.initializationParamsStr = initializationParametersStr;
110
+ [self initView:scanMode initializationParamsStr:self.initializationParamsStr];
100
111
  }
101
112
 
102
113
  RCT_EXPORT_METHOD(getSDKVersion:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
@@ -134,7 +145,7 @@ RCT_EXPORT_METHOD(exportCachedEvents:(RCTPromiseResolveBlock)resolve rejecter:(R
134
145
  }
135
146
 
136
147
 
137
- - (void)initView:(NSString *)scanMode {
148
+ - (void)initView:(NSString *)scanMode initializationParamsStr:(NSString * _Nullable)initializationParamsStr {
138
149
  NSData *data = [self.config dataUsingEncoding:NSUTF8StringEncoding];
139
150
  if (!data) {
140
151
  [NSException raise:@"Config could not be loaded from disk" format:@"Config could not be loaded from disk"];
@@ -172,6 +183,7 @@ RCT_EXPORT_METHOD(exportCachedEvents:(RCTPromiseResolveBlock)resolve rejecter:(R
172
183
  ALNFCScanViewController *nfcScanViewController = [[ALNFCScanViewController alloc] initWithLicensekey:self.appKey
173
184
  configuration:dictionary
174
185
  uiConfig:self.jsonUIConf
186
+ initializationParamsStr:initializationParamsStr
175
187
  finished:^(NSDictionary * _Nullable callbackObj, NSError * _Nullable error) {
176
188
  [self returnCallback:callbackObj andError:error];
177
189
  }];
@@ -191,7 +203,9 @@ RCT_EXPORT_METHOD(exportCachedEvents:(RCTPromiseResolveBlock)resolve rejecter:(R
191
203
  ALPluginScanViewController *pluginScanViewController =
192
204
  [[ALPluginScanViewController alloc] initWithLicensekey:self.appKey
193
205
  configuration:dictionary
194
- uiConfiguration:self.jsonUIConf finished:^(NSDictionary * _Nullable callbackObj, NSError * _Nullable error) {
206
+ uiConfiguration:self.jsonUIConf
207
+ initializationParamsStr:initializationParamsStr
208
+ finished:^(NSDictionary * _Nullable callbackObj, NSError * _Nullable error) {
195
209
  [self returnCallback:callbackObj andError:error];
196
210
  }];
197
211
 
@@ -204,7 +218,9 @@ RCT_EXPORT_METHOD(exportCachedEvents:(RCTPromiseResolveBlock)resolve rejecter:(R
204
218
  ALPluginScanViewController *pluginScanViewController =
205
219
  [[ALPluginScanViewController alloc] initWithLicensekey:self.appKey
206
220
  configuration:dictionary
207
- uiConfiguration:self.jsonUIConf finished:^(NSDictionary * _Nullable callbackObj, NSError * _Nullable error) {
221
+ uiConfiguration:self.jsonUIConf
222
+ initializationParamsStr:initializationParamsStr
223
+ finished:^(NSDictionary * _Nullable callbackObj, NSError * _Nullable error) {
208
224
  [self returnCallback:callbackObj andError:error];
209
225
  }];
210
226
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "_from": "anyline-ocr-react-native-module@^53.2.0",
3
- "_id": "anyline-ocr-react-native-module@^53.2.0",
2
+ "_from": "anyline-ocr-react-native-module@^53.3.0",
3
+ "_id": "anyline-ocr-react-native-module@^53.3.0",
4
4
  "_inBundle": false,
5
5
  "_integrity": "sha512-BGi9zNkSsoxXywDBIqzgBRvKUBniQOJHDKBrozZubKthZNRBAj8Ry5tW0Me0yLXt/fauME//hbC0wsenfPJZqw==",
6
6
  "_location": "/anyline-ocr-react-native-module",
@@ -8,19 +8,19 @@
8
8
  "_requested": {
9
9
  "type": "range",
10
10
  "registry": true,
11
- "raw": "anyline-ocr-react-native-module@^53.2.0",
11
+ "raw": "anyline-ocr-react-native-module@^53.3.0",
12
12
  "name": "anyline-ocr-react-native-module",
13
13
  "escapedName": "anyline-ocr-react-native-module",
14
- "rawSpec": "^53.2.0",
14
+ "rawSpec": "^53.3.0",
15
15
  "saveSpec": null,
16
- "fetchSpec": "^53.2.0"
16
+ "fetchSpec": "^53.3.0"
17
17
  },
18
18
  "_requiredBy": [
19
19
  "/"
20
20
  ],
21
- "_resolved": "https://registry.npmjs.org/anyline-ocr-react-native-module/-/anyline-ocr-react-native-module-53.2.0.tgz",
21
+ "_resolved": "https://registry.npmjs.org/anyline-ocr-react-native-module/-/anyline-ocr-react-native-module-53.3.0.tgz",
22
22
  "_shasum": "bacbcd260cc662244f59393ed81a6edba009b52c",
23
- "_spec": "anyline-ocr-react-native-module@^53.2.0",
23
+ "_spec": "anyline-ocr-react-native-module@^53.3.0",
24
24
  "_where": "/Users/amiransari/Projects/anyline-ocr-react-native-module1/example/RNExampleApp",
25
25
  "bugs": {
26
26
  "url": "https://github.com/Anyline/anyline-ocr-react-native-module/issues"
@@ -47,5 +47,5 @@
47
47
  "type": "git",
48
48
  "url": "git+https://github.com/Anyline/anyline-ocr-react-native-module.git"
49
49
  },
50
- "version": "53.2.0"
50
+ "version": "53.3.0"
51
51
  }