Skip to content

Commit dc7a708

Browse files
author
Jenkins
committed
6.5.0
1 parent 274017e commit dc7a708

17 files changed

+6997
-6732
lines changed

RNDocumentReaderApi.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ Pod::Spec.new do |s|
1414
s.source = { :http => 'file:' + __dir__ }
1515
s.ios.deployment_target = '11.0'
1616
s.source_files = "ios/*.{h,m}"
17-
s.dependency 'DocumentReader', '6.4.2552'
17+
s.dependency 'DocumentReader', '6.5.2633'
1818
s.dependency 'React'
1919
end

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ dependencies {
4949
//noinspection GradleDynamicVersion
5050
implementation 'com.facebook.react:react-native:+'
5151
//noinspection GradleDependency
52-
implementation('com.regula.documentreader:api:6.4.7224') {
52+
implementation('com.regula.documentreader:api:6.5.7488') {
5353
transitive = true
5454
}
5555
}

android/src/main/java/com/regula/documentreader/Helpers.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import android.util.Base64;
1111

1212
import com.regula.documentreader.api.enums.BarcodeType;
13-
import com.regula.documentreader.api.params.FaceMetaData;
13+
import com.regula.documentreader.api.internal.params.FaceMetaData;
1414
import com.regula.documentreader.api.results.Bounds;
1515

1616
import org.json.JSONArray;

android/src/main/java/com/regula/documentreader/JSONConstructor.java

Lines changed: 24 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
import com.regula.documentreader.api.enums.eRPRM_Lights;
1616
import com.regula.documentreader.api.errors.DocumentReaderException;
1717
import com.regula.documentreader.api.internal.core.CoreDetailedScenario;
18-
import com.regula.documentreader.api.params.FaceMetaData;
18+
import com.regula.documentreader.api.params.DocReaderConfig;
19+
import com.regula.documentreader.api.internal.params.FaceMetaData;
1920
import com.regula.documentreader.api.params.ImageInputData;
2021
import com.regula.documentreader.api.params.rfid.TccParams;
2122
import com.regula.documentreader.api.params.rfid.authorization.PAAttribute;
@@ -56,7 +57,6 @@
5657
import com.regula.documentreader.api.results.rfid.File;
5758
import com.regula.documentreader.api.results.rfid.FileData;
5859
import com.regula.documentreader.api.results.rfid.RFIDSessionData;
59-
import com.regula.documentreader.api.results.rfid.RFIDSessionDataStatus;
6060
import com.regula.documentreader.api.results.rfid.SecurityObject;
6161
import com.regula.documentreader.api.results.rfid.SecurityObjectCertificates;
6262
import com.regula.documentreader.api.results.rfid.SignerInfo;
@@ -361,6 +361,28 @@ static TccParams TCCParamsFromJSON(JSONObject input) {
361361
return result;
362362
}
363363

364+
static DocReaderConfig DocReaderConfigFromJSON(JSONObject input) {
365+
DocReaderConfig result = new DocReaderConfig(null);
366+
byte[] license;
367+
try {
368+
if (input.has("license")) {
369+
license = Base64.decode(input.getString("license"), Base64.DEFAULT);
370+
result = new DocReaderConfig(license);
371+
} else return result;
372+
if (input.has("customDb"))
373+
result = new DocReaderConfig(license, Base64.decode(input.getString("customDb"), Base64.DEFAULT));
374+
if (input.has("licenseUpdate"))
375+
result.setLicenseUpdate(input.getBoolean("licenseUpdate"));
376+
if (input.has("delayedNNLoad"))
377+
result.setDelayedNNLoad(input.getBoolean("delayedNNLoad"));
378+
if (input.has("blackList"))
379+
result.setBlackList(input.getJSONObject("blackList"));
380+
} catch (JSONException e) {
381+
e.printStackTrace();
382+
}
383+
return result;
384+
}
385+
364386
static ImageInputData ImageInputDataFromJSON(JSONObject input) {
365387
ImageInputData result = new ImageInputData(null);
366388
int pageIndex = 0;
@@ -920,7 +942,6 @@ static JSONObject generateRFIDSessionData(RFIDSessionData input) {
920942
result.put("extLeSupport", input.extLeSupport);
921943
result.put("processTime", input.processTime);
922944
result.put("cardProperties", generateCardProperties(input.cardProperties));
923-
result.put("sessionDataStatus", generateRFIDSessionDataStatus(input.sessionDataStatus));
924945
result.put("accessControls", generateList(input.accessControls, JSONConstructor::generateAccessControlProcedureType));
925946
result.put("applications", generateList(input.applications, JSONConstructor::generateApplication));
926947
result.put("securityObjects", generateList(input.securityObjects, JSONConstructor::generateSecurityObject));
@@ -958,23 +979,6 @@ static JSONObject generatePDF417Info(PDF417Info input) {
958979
return result;
959980
}
960981

961-
static JSONObject generateRFIDSessionDataStatus(RFIDSessionDataStatus input) {
962-
JSONObject result = new JSONObject();
963-
if (input == null) return result;
964-
try {
965-
result.put("AA", input.AA);
966-
result.put("BAC", input.BAC);
967-
result.put("CA", input.CA);
968-
result.put("PA", input.PA);
969-
result.put("PACE", input.PACE);
970-
result.put("TA", input.TA);
971-
result.put("overallStatus", input.overallStatus);
972-
} catch (JSONException e) {
973-
e.printStackTrace();
974-
}
975-
return result;
976-
}
977-
978982
static JSONObject generateDocumentReaderBarcodeResult(DocumentReaderBarcodeResult input) {
979983
JSONObject result = new JSONObject();
980984
if (input == null) return result;
@@ -1243,7 +1247,6 @@ static JSONObject generateDocumentReaderResults(DocumentReaderResults input, Con
12431247
if (input == null) return result;
12441248
try {
12451249
result.put("chipPage", input.chipPage);
1246-
result.put("overallResult", input.getOverallResult());
12471250
result.put("processingFinishedStatus", input.processingFinishedStatus);
12481251
result.put("elapsedTime", input.elapsedTime);
12491252
result.put("elapsedTimeRFID", input.elapsedTimeRFID);
@@ -2038,8 +2041,6 @@ static RFIDSessionData RFIDSessionDataFromJSON(JSONObject input) {
20382041
result.processTime = input.getInt("processTime");
20392042
if (input.has("cardProperties"))
20402043
result.cardProperties = CardPropertiesFromJSON(input.getJSONObject("cardProperties"));
2041-
if (input.has("sessionDataStatus"))
2042-
result.sessionDataStatus = RFIDSessionDataStatusFromJSON(input.getJSONObject("sessionDataStatus"));
20432044
if (input.has("accessControls")){
20442045
JSONArray jsonArray_accessControls = input.getJSONArray("accessControls");
20452046
List<AccessControlProcedureType> accessControls = new ArrayList<>();
@@ -2105,30 +2106,6 @@ static PDF417Info PDF417InfoFromJSON(JSONObject input) {
21052106
return null;
21062107
}
21072108

2108-
static RFIDSessionDataStatus RFIDSessionDataStatusFromJSON(JSONObject input) {
2109-
try {
2110-
RFIDSessionDataStatus result = new RFIDSessionDataStatus();
2111-
if (input.has("AA"))
2112-
result.AA = input.getInt("AA");
2113-
if (input.has("BAC"))
2114-
result.BAC = input.getInt("BAC");
2115-
if (input.has("CA"))
2116-
result.CA = input.getInt("CA");
2117-
if (input.has("PA"))
2118-
result.PA = input.getInt("PA");
2119-
if (input.has("PACE"))
2120-
result.PACE = input.getInt("PACE");
2121-
if (input.has("TA"))
2122-
result.TA = input.getInt("TA");
2123-
if (input.has("overallStatus"))
2124-
result.overallStatus = input.getInt("overallStatus");
2125-
return result;
2126-
} catch (JSONException e) {
2127-
e.printStackTrace();
2128-
}
2129-
return null;
2130-
}
2131-
21322109
static DocumentReaderBarcodeResult DocumentReaderBarcodeResultFromJSON(JSONObject input) {
21332110
try {
21342111
DocumentReaderBarcodeResult result = new DocumentReaderBarcodeResult();

android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderModule.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@
3434
import com.regula.documentreader.api.internal.core.CoreScenarioUtil;
3535
import com.regula.documentreader.api.params.DocReaderConfig;
3636
import com.regula.documentreader.api.params.ImageInputData;
37-
import com.regula.documentreader.api.params.ImageInputParam;
37+
import com.regula.documentreader.api.internal.params.ImageInputParam;
3838
import com.regula.documentreader.api.params.rfid.PKDCertificate;
3939
import com.regula.documentreader.api.params.rfid.authorization.PAResourcesIssuer;
4040
import com.regula.documentreader.api.params.rfid.authorization.TAChallenge;
4141
import com.regula.documentreader.api.results.DocumentReaderResults;
42-
import com.regula.documentreader.api.parser.DocReaderResultsJsonParser;
42+
import com.regula.documentreader.api.internal.parser.DocReaderResultsJsonParser;
4343

4444
import org.json.JSONArray;
4545
import org.json.JSONException;
@@ -341,6 +341,9 @@ public void error(String s) {
341341
case "recognizeImage":
342342
recognizeImage(callback, args(0));
343343
break;
344+
case "recognizeData":
345+
recognizeData(callback, args(0));
346+
break;
344347
case "setRfidSessionStatus":
345348
setRfidSessionStatus(callback, args(0));
346349
break;
@@ -359,9 +362,6 @@ public void error(String s) {
359362
case "setTCCParams":
360363
setTCCParams(callback, args(0));
361364
break;
362-
case "initializeReaderWithDatabase":
363-
initializeReaderWithDatabase(callback, args(0), args(1));
364-
break;
365365
case "recognizeImageWithOpts":
366366
recognizeImageWithOpts(callback, args(0), args(1));
367367
break;
@@ -525,16 +525,9 @@ private void isRFIDAvailableForUse(Callback callback) {
525525
callback.success(Instance().isRFIDAvailableForUse());
526526
}
527527

528-
private void initializeReader(Callback callback, Object license) {
529-
if (!Instance().isReady())
530-
Instance().initializeReader(getContext(), new DocReaderConfig(Base64.decode(license.toString(), Base64.DEFAULT)), getInitCompletion(callback));
531-
else
532-
callback.success("already initialized");
533-
}
534-
535-
private void initializeReaderWithDatabase(Callback callback, Object license, Object db) {
528+
private void initializeReader(Callback callback, JSONObject config) {
536529
if (!Instance().isReady())
537-
Instance().initializeReader(getContext(), new DocReaderConfig(Base64.decode(license.toString(), Base64.DEFAULT), Base64.decode(db.toString(), Base64.DEFAULT)), getInitCompletion(callback));
530+
Instance().initializeReader(getContext(), JSONConstructor.DocReaderConfigFromJSON(config), getInitCompletion(callback));
538531
else
539532
callback.success("already initialized");
540533
}
@@ -559,6 +552,11 @@ private void recognizeImage(@SuppressWarnings("unused") Callback callback, Strin
559552
Instance().recognizeImage(Helpers.bitmapFromBase64(base64Image), getCompletion());
560553
}
561554

555+
private void recognizeData(@SuppressWarnings("unused") Callback callback, Object data) {
556+
stopBackgroundRFID();
557+
Instance().recognizeImage(Base64.decode(data.toString(), Base64.DEFAULT), getCompletion());
558+
}
559+
562560
private void recognizeImages(@SuppressWarnings("unused") Callback callback, JSONArray base64Images) throws JSONException {
563561
stopBackgroundRFID();
564562
Bitmap[] images = new Bitmap[base64Images.length()];

android/src/main/java/com/regula/documentreader/RegulaConfig.java

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66

77
import com.regula.documentreader.api.DocumentReader;
88
import com.regula.documentreader.api.params.ImageQA;
9+
import com.regula.documentreader.api.params.OnlineProcessingConfig;
910
import com.regula.documentreader.api.params.ParamsCustomization;
1011
import com.regula.documentreader.api.params.Functionality;
1112
import com.regula.documentreader.api.params.ProcessParam;
13+
import com.regula.documentreader.api.params.rfid.ReprocParams;
1214
import com.regula.documentreader.api.params.rfid.dg.DataGroups;
1315

1416
import android.content.Context;
@@ -59,8 +61,6 @@ private static void setFunctionality(Functionality functionality, JSONObject opt
5961
editor.setShowCaptureButtonDelayFromDetect(opts.getInt("showCaptureButtonDelayFromDetect"));
6062
if (opts.has("showCaptureButtonDelayFromStart"))
6163
editor.setShowCaptureButtonDelayFromStart(opts.getInt("showCaptureButtonDelayFromStart"));
62-
if (opts.has("isOnlineMode"))
63-
editor.setOnlineMode(opts.getBoolean("isOnlineMode"));
6464
if (opts.has("databaseAutoupdate"))
6565
editor.setDatabaseAutoupdate(opts.getBoolean("databaseAutoupdate"));
6666
if (opts.has("showSkipNextPageButton"))
@@ -73,8 +73,6 @@ private static void setFunctionality(Functionality functionality, JSONObject opt
7373
editor.setShowCameraSwitchButton(opts.getBoolean("showCameraSwitchButton"));
7474
if (opts.has("cameraFrame"))
7575
editor.setCameraFrame(opts.getString("cameraFrame"));
76-
if (opts.has("serviceURL"))
77-
editor.setServiceURL(opts.getString("serviceURL"));
7876
if (opts.has("btDeviceName"))
7977
editor.setBtDeviceName(opts.getString("btDeviceName"));
8078
if (opts.has("orientation"))
@@ -105,6 +103,8 @@ private static void setFunctionality(Functionality functionality, JSONObject opt
105103
editor.setExposure(BigDecimal.valueOf(opts.getDouble("exposure")).floatValue());
106104
if (opts.has("rfidTimeout"))
107105
editor.setRfidTimeout(opts.getInt("rfidTimeout"));
106+
if (opts.has("onlineProcessingConfiguration"))
107+
editor.setOnlineProcessingConfiguration(OnlineProcessingConfigFromJSON(opts.getJSONObject("onlineProcessingConfiguration")));
108108

109109
editor.apply();
110110
}
@@ -349,14 +349,12 @@ private static JSONObject getFunctionality(Functionality functionality) throws J
349349
object.put("showChangeFrameButton", functionality.isShowChangeFrameButton());
350350
object.put("showCaptureButtonDelayFromDetect", functionality.getShowCaptureButtonDelayFromDetect());
351351
object.put("showCaptureButtonDelayFromStart", functionality.getShowCaptureButtonDelayFromStart());
352-
object.put("isOnlineMode", functionality.isOnlineMode());
353352
object.put("databaseAutoupdate", functionality.isDatabaseAutoupdate());
354353
object.put("showSkipNextPageButton", functionality.isShowSkipNextPageButton());
355354
object.put("useAuthenticator", functionality.isUseAuthenticator());
356355
object.put("skipFocusingFrames", functionality.isSkipFocusingFrames());
357356
object.put("showCameraSwitchButton", functionality.isShowCameraSwitchButton());
358357
object.put("cameraFrame", functionality.getCameraFrame());
359-
object.put("serviceURL", functionality.getServiceURL());
360358
object.put("btDeviceName", functionality.getBtDeviceName());
361359
object.put("orientation", functionality.getOrientation());
362360
object.put("BTDeviceApiPresent", functionality.isBTDeviceApiPresent());
@@ -603,6 +601,10 @@ static void setRfidScenario(JSONObject opts) throws JSONException {
603601
setDataGroups(DocumentReader.Instance().rfidScenario().eIDDataGroups(), opts.getJSONObject("eIDDataGroups"));
604602
if (opts.has("eDLDataGroups"))
605603
setDataGroups(DocumentReader.Instance().rfidScenario().eDLDataGroups(), opts.getJSONObject("eDLDataGroups"));
604+
if (opts.has("reprocessParams"))
605+
DocumentReader.Instance().rfidScenario().setReprocessParams(ReprocParamsFromJSON(opts.getJSONObject("reprocessParams")));
606+
if (opts.has("defaultReadingBufferSize"))
607+
DocumentReader.Instance().rfidScenario().setDefaultReadingBufferSize(opts.getInt("defaultReadingBufferSize"));
606608
}
607609

608610
private static void setDataGroups(DataGroups dataGroup, JSONObject opts) throws JSONException {
@@ -649,4 +651,42 @@ private static void setDataGroups(DataGroups dataGroup, JSONObject opts) throws
649651
if (opts.has("DG21"))
650652
dataGroup.setDG14(opts.getBoolean("DG21"));
651653
}
654+
655+
private static ReprocParams ReprocParamsFromJSON(JSONObject input) {
656+
try {
657+
ReprocParams result;
658+
if (input.has("serviceUrl"))
659+
result = new ReprocParams(input.getString("serviceUrl"));
660+
else return null;
661+
if (input.has("failIfNoService"))
662+
result.setFailIfNoService(input.getBoolean("failIfNoService"));
663+
return result;
664+
} catch (JSONException e) {
665+
e.printStackTrace();
666+
}
667+
return null;
668+
}
669+
670+
private static OnlineProcessingConfig OnlineProcessingConfigFromJSON(JSONObject input) {
671+
try {
672+
OnlineProcessingConfig.Builder builder;
673+
if (input.has("mode"))
674+
builder = new OnlineProcessingConfig.Builder(input.getInt("mode"));
675+
else return null;
676+
if (input.has("imageFormat"))
677+
builder.setImageFormat(input.getInt("imageFormat"));
678+
if (input.has("url"))
679+
builder.setUrl(input.getString("url"));
680+
if (input.has("imageCompressionQuality"))
681+
builder.setImageCompressionQuality((float) input.getDouble("imageCompressionQuality"));
682+
if (input.has("processParams")) {
683+
ProcessParam params = new ProcessParam();
684+
setProcessParams(params, input.getJSONObject("processParams"));
685+
builder.setProcessParams(params);
686+
}
687+
} catch (JSONException e) {
688+
e.printStackTrace();
689+
}
690+
return null;
691+
}
652692
}

core/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)