Skip to content

Commit 368c80f

Browse files
Release 53.3.0 (#180)
1 parent 2eb819d commit 368c80f

15 files changed

+111
-32
lines changed

example/RNExampleApp/android/app/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ android {
8787
minSdkVersion rootProject.ext.minSdkVersion
8888
targetSdkVersion rootProject.ext.targetSdkVersion
8989
versionCode 5
90-
versionName "53.2.0"
90+
versionName "53.3.0"
9191
multiDexEnabled true
9292

9393
buildConfigField("boolean", "REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS", (findProperty("reactNative.unstable_useRuntimeSchedulerAlways") ?: true).toString())

example/RNExampleApp/ios/RNExampleApp.xcodeproj/project.pbxproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@
272272
inputPaths = (
273273
"${PODS_ROOT}/Target Support Files/Pods-RNExampleApp/Pods-RNExampleApp-resources.sh",
274274
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
275-
"${PODS_ROOT}/Anyline/AnylineSDK_iOS_53.2.0/Framework/AnylineResources.bundle",
275+
"${PODS_ROOT}/Anyline/AnylineSDK_iOS_53.3.0/Framework/AnylineResources.bundle",
276276
);
277277
name = "[CP] Copy Pods Resources";
278278
outputPaths = (
@@ -347,7 +347,7 @@
347347
INFOPLIST_FILE = RNExampleApp/Info.plist;
348348
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
349349
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
350-
MARKETING_VERSION = 53.2.0;
350+
MARKETING_VERSION = 53.3.0;
351351
OTHER_LDFLAGS = (
352352
"$(inherited)",
353353
"-ObjC",
@@ -380,7 +380,7 @@
380380
INFOPLIST_FILE = RNExampleApp/Info.plist;
381381
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
382382
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
383-
MARKETING_VERSION = 53.2.0;
383+
MARKETING_VERSION = 53.3.0;
384384
OTHER_LDFLAGS = (
385385
"$(inherited)",
386386
"-ObjC",

example/RNExampleApp/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-example-app",
3-
"version": "53.2.0",
3+
"version": "53.3.0",
44
"private": true,
55
"scripts": {
66
"initProject": "yarn add expo && yarn add ../../plugin",

plugin/android/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ repositories {
6161

6262
dependencies {
6363
implementation fileTree(dir: "libs", include: ["*.jar"])
64-
implementation 'io.anyline:anylinesdk:53.2.0'
64+
implementation 'io.anyline:anylinesdk:53.3.0'
6565
implementation "com.facebook.react:react-native:+"
6666
implementation("com.google.android.material:material:1.9.0")
6767
implementation 'androidx.multidex:multidex:2.0.1'

plugin/android/src/main/java/com/anyline/reactnative/AnylineSDKPlugin.java

+16-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class AnylineSDKPlugin extends ReactContextBaseJavaModule implements ResultRepor
3535
public static final String REACT_CLASS = "AnylineSDKPlugin";
3636
public static final String EXTRA_LICENSE_KEY = "EXTRA_LICENSE_KEY";
3737
public static final String EXTRA_CONFIG_JSON = "EXTRA_CONFIG_JSON";
38+
public static final String EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS = "EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS";
3839
public static final String EXTRA_SCAN_MODE = "EXTRA_SCAN_MODE";
3940
public static final String EXTRA_ERROR_MESSAGE = "EXTRA_ERROR_MESSAGE";
4041
public static final String EXTRA_OCR_CONFIG_JSON = "EXTRA_OCR_CONFIG_JSON";
@@ -53,6 +54,7 @@ class AnylineSDKPlugin extends ReactContextBaseJavaModule implements ResultRepor
5354
private Promise promise;
5455
private String returnMethod;
5556
private String config;
57+
private String scanViewInitializationParameters;
5658
private AssetContextJsonParser assetContextJsonParser;
5759

5860
private static WrapperConfig wrapperConfig;
@@ -175,10 +177,16 @@ public void resetUpdate() {
175177

176178
@ReactMethod
177179
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) {
178185
onResultCallback = onResultReact;
179186
onErrorCallback = onErrorReact;
180187
this.returnMethod = "callback";
181188
this.config = config;
189+
this.scanViewInitializationParameters = initializationParameters;
182190

183191
routeScanMode(scanMode);
184192
}
@@ -226,9 +234,14 @@ public void exportCachedEvents(final Promise promise) {
226234

227235
@ReactMethod
228236
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) {
229241
this.promise = promise;
230242
this.returnMethod = "promise";
231243
this.config = config;
244+
this.scanViewInitializationParameters = initializationParameters;
232245

233246
routeScanMode(scanMode);
234247
}
@@ -281,13 +294,14 @@ private void scan() throws LicenseException, JSONException {
281294

282295
if (optionsJSONObject != null) {
283296
intent.putExtra(
284-
EXTRA_ENABLE_BARCODE_SCANNING,
285-
optionsJSONObject.optBoolean("nativeBarcodeEnabled", false)
297+
EXTRA_ENABLE_BARCODE_SCANNING,
298+
optionsJSONObject.optBoolean("nativeBarcodeEnabled", false)
286299
);
287300
}
288301

289302
intent.putExtra(EXTRA_LICENSE_KEY, license);
290303
intent.putExtra(EXTRA_CONFIG_JSON, configObject.toString());
304+
intent.putExtra(EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS, scanViewInitializationParameters);
291305

292306
ResultReporter.setListener(this);
293307
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

plugin/android/src/main/java/com/anyline/reactnative/ScanActivity.java

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.anyline.reactnative;
22

33
import static com.anyline.reactnative.AnylineSDKPlugin.EXTRA_CONFIG_JSON;
4+
import static com.anyline.reactnative.AnylineSDKPlugin.EXTRA_SCANVIEW_INITIALIZATION_PARAMETERS;
45
import static com.anyline.reactnative.AnylineSDKPlugin.EXTRA_ERROR_MESSAGE;
56
import static com.anyline.reactnative.AnylineSDKPlugin.RESULT_ERROR;
7+
import static io.anyline2.sdk.extension.ScanViewInitializationParametersExtensionKt.getScanViewInitializationParametersFromJsonObject;
68

79
import android.content.Intent;
810
import android.content.pm.ActivityInfo;
@@ -29,6 +31,7 @@
2931
import java.util.Timer;
3032
import java.util.TimerTask;
3133

34+
import io.anyline.plugin.config.ScanViewInitializationParameters;
3235
import io.anyline2.ScanResult;
3336
import io.anyline2.view.ScanView;
3437
import io.anyline2.viewplugin.ScanViewPlugin;
@@ -98,7 +101,17 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
98101
setupChangeOrientationButton(configJSON);
99102
setupCustomUIFeedback(configJSON);
100103

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+
}
102115

103116
ViewPluginBase viewPluginBase = scanView.getScanViewPlugin();
104117

plugin/ios/ALNFCScanViewController.h

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ NS_ASSUME_NONNULL_BEGIN
88
- (instancetype)initWithLicensekey:(NSString *)licensekey
99
configuration:(NSDictionary *)anylineConfig
1010
uiConfig:(ALJSONUIConfiguration *)uiConfig
11+
initializationParamsStr:(NSString *)initializationParamsStr
1112
finished:(ALPluginCallback)callback;
1213
@end
1314

plugin/ios/ALNFCScanViewController.m

+12-2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ @interface ALNFCScanViewController () <ALNFCDetectorDelegate, ALScanPluginDelega
4747
// JPEG compression quality 0-100
4848
@property (nonatomic, assign) NSUInteger quality;
4949

50+
@property (nonatomic, nullable) NSString *initializationParamsStr;
5051

5152
@end
5253

@@ -56,13 +57,14 @@ @implementation ALNFCScanViewController
5657
- (instancetype)initWithLicensekey:(NSString *)licensekey
5758
configuration:(NSDictionary *)anylineConfig
5859
uiConfig:(ALJSONUIConfiguration *)uiConfig
60+
initializationParamsStr:(NSString *)initializationParamsStr
5961
finished:(ALPluginCallback)callback {
6062
if (self = [super init]) {
6163
_licenseKey = licensekey;
6264
_callback = callback;
6365
_config = anylineConfig;
6466
_uiConfig = uiConfig;
65-
67+
_initializationParamsStr = initializationParamsStr;
6668
self.quality = 90;
6769
}
6870
return self;
@@ -95,12 +97,20 @@ - (void)viewDidLoad {
9597
return;
9698
}
9799

100+
ALScanViewInitializationParameters *initializationParams = nil;
101+
if(_initializationParamsStr){
102+
initializationParams= [ALScanViewInitializationParameters withJSONString:_initializationParamsStr error:&error];
103+
}
104+
98105
[self.view addSubview:self.scanView];
99106

100107
self.resultDict = [[NSMutableDictionary alloc] init];
101108
self.detectedBarcodes = [NSMutableArray array];
102109

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];
104114
self.scanView.delegate = self;
105115

106116
[self configureMRZPlugin];

plugin/ios/ALPluginHelper.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ typedef void (^ALPluginCallback)(NSDictionary * _Nullable callbackObj, NSError *
1010

1111
@interface ALPluginHelper : NSObject
1212

13-
+ (void)startScan:(NSDictionary *)config finished:(ALPluginCallback)callback;
13+
+ (void)startScan:(NSDictionary *)config initializationParamsStr:(NSString *)initializationParamsStr finished:(ALPluginCallback)callback;
1414

1515
+ (NSString *)saveImageToFileSystem:(UIImage *)image;
1616

plugin/ios/ALPluginHelper.m

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ @implementation ALPluginHelper
1010

1111
#pragma mark - Launch Anyline
1212

13-
+ (void)startScan:(NSDictionary *)config finished:(ALPluginCallback)callback {
13+
+ (void)startScan:(NSDictionary *)config initializationParamsStr:(NSString *)initializationParamsStr finished:(ALPluginCallback)callback {
1414

1515
NSDictionary *pluginConf = config;
1616

@@ -35,7 +35,8 @@ + (void)startScan:(NSDictionary *)config finished:(ALPluginCallback)callback {
3535
ALNFCScanViewController *nfcScanViewController = [[ALNFCScanViewController alloc] initWithLicensekey:licenseKey
3636
configuration:pluginConf
3737
uiConfig:jsonUIConf
38-
finished:callback];
38+
initializationParamsStr:initializationParamsStr
39+
finished:callback];
3940
if (nfcScanViewController != nil) {
4041
[nfcScanViewController setModalPresentationStyle:UIModalPresentationFullScreen];
4142
[[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:nfcScanViewController
@@ -50,6 +51,7 @@ + (void)startScan:(NSDictionary *)config finished:(ALPluginCallback)callback {
5051
ALPluginScanViewController *pluginScanViewController = [[ALPluginScanViewController alloc] initWithLicensekey:licenseKey
5152
configuration:pluginConf
5253
uiConfiguration:jsonUIConf
54+
initializationParamsStr:initializationParamsStr
5355
finished:callback];
5456

5557
if ([pluginConf valueForKey:@"quality"]){

plugin/ios/ALPluginScanViewController.h

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ NS_ASSUME_NONNULL_BEGIN
1010
- (instancetype)initWithLicensekey:(NSString *)licenseKey
1111
configuration:(NSDictionary *)config
1212
uiConfiguration:(ALJSONUIConfiguration *)JSONUIConfig
13+
initializationParamsStr:(NSString *)initializationParamsStr
1314
finished:(ALPluginCallback)callback;
1415

1516
@end

plugin/ios/ALPluginScanViewController.m

+23-1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ @interface ALPluginScanViewController () <ALScanPluginDelegate, ALViewPluginComp
3737

3838
@property (nonatomic, strong) NSError *scanViewError;
3939

40+
@property (nonatomic, nullable) NSString *initializationParamsStr;
41+
4042
@end
4143

4244

@@ -49,14 +51,16 @@ - (void)dealloc {
4951
- (instancetype)initWithLicensekey:(NSString *)licenseKey
5052
configuration:(NSDictionary *)config
5153
uiConfiguration:(ALJSONUIConfiguration *)JSONUIConfig
54+
initializationParamsStr:(NSString *)initializationParamsStr
5255
finished:(ALPluginCallback)callback {
5356

5457
if (self = [super init]) {
5558
_licenseKey = licenseKey;
5659
_callback = callback;
5760
_config = config;
5861
_uiConfig = JSONUIConfig;
59-
62+
_initializationParamsStr = initializationParamsStr;
63+
6064
self.quality = 100;
6165
}
6266
return self;
@@ -79,7 +83,18 @@ - (void)viewDidLoad {
7983
}
8084
}
8185

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+
8296
self.scanView = [ALScanViewFactory withJSONDictionary:self.config
97+
initializationParams:initializationParams
8398
delegate:self
8499
error:&error];
85100

@@ -434,6 +449,13 @@ - (BOOL)segmentModesAreValid {
434449
return YES;
435450
}
436451

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+
437459
// MARK: - Miscellaneous
438460

439461
- (BOOL)showErrorAlertIfNeeded:(NSError *)error {

plugin/ios/AnylineReact.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Pod::Spec.new do |s|
1818
s.source = { :git => "https://github.com/Anyline/anyline-ocr-react-native-module.git", :tag => "#{s.version}" }
1919

2020
s.source_files = "*.{h,m}"
21-
s.dependency "Anyline", "53.2.0"
21+
s.dependency "Anyline", "53.3.0"
2222
s.dependency "React"
2323

24-
end
24+
end

0 commit comments

Comments
 (0)