Skip to content

Commit

Permalink
Merge pull request #90 from BlinkID/feature/v4.4.0
Browse files Browse the repository at this point in the history
Feature/v4.4.0
  • Loading branch information
i1E authored Nov 19, 2018
2 parents 2703d40 + 6c6de67 commit 0cdb974
Show file tree
Hide file tree
Showing 41 changed files with 1,348 additions and 404 deletions.
2 changes: 1 addition & 1 deletion BlinkID/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "blinkid-cordova",
"version": "4.3.0",
"version": "4.4.0",
"description": "A small and powerful ID card scanning library",
"cordova": {
"id": "blinkid-cordova",
Expand Down
209 changes: 107 additions & 102 deletions BlinkID/plugin.xml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion BlinkID/scripts/initIOSFramework.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
HERE="$(dirname "$(test -L "$0" && readlink "$0" || echo "$0")")"
pushd "${HERE}/../src/ios/" > /dev/null

LINK='https://github.com/BlinkID/blinkid-ios/releases/download/v4.3.0/blinkid-ios_v4.3.0.zip'
LINK='https://github.com/BlinkID/blinkid-ios/releases/download/v4.3.0/blinkid-ios_v4.4.0.zip'
FILENAME='blinkid-ios.zip'

# check if Microblink framework and bundle already exist
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,38 @@
public final class DocumentVerificationOverlaySettingsSerialization implements OverlaySettingsSerialization {
@Override
public UISettings createUISettings(JSONObject jsonUISettings, RecognizerBundle recognizerBundle) {
return new DocumentVerificationUISettings(recognizerBundle);
DocumentVerificationUISettings settings = new DocumentVerificationUISettings(recognizerBundle);

String firstSideSplashMessage = getStringFromJSONObject(jsonUISettings, "firstSideSplashMessage");
if (firstSideSplashMessage != null) {
settings.setFirstSideSplashMessage(firstSideSplashMessage);
}
String secondSideSplashMessage = getStringFromJSONObject(jsonUISettings, "secondSideSplashMessage");
if (secondSideSplashMessage != null) {
settings.setSecondSideSplashMessage(secondSideSplashMessage);
}
String firstSideInstructions = getStringFromJSONObject(jsonUISettings, "firstSideInstructions");
if (firstSideInstructions != null) {
settings.setFirstSideInstructions(firstSideInstructions);
}
String secondSideInstructions = getStringFromJSONObject(jsonUISettings, "secondSideInstructions");
if (secondSideInstructions != null) {
settings.setSecondSideInstructions(secondSideInstructions);
}
String glareMessage = getStringFromJSONObject(jsonUISettings, "glareMessage");
if (glareMessage != null) {
settings.setGlareMessage(glareMessage);
}

return settings;
}

private String getStringFromJSONObject(JSONObject map, String key) {
String value = map.optString(key, null);
if ("null".equals(value)) {
value = null;
}
return value;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ private void registerMapping( RecognizerSerialization recognizerSerialization )
registerMapping(new ElitePaymentCardFrontRecognizerSerialization());
registerMapping(new EudlRecognizerSerialization());
registerMapping(new GermanyCombinedRecognizerSerialization());
registerMapping(new GermanyDlBackRecognizerSerialization());
registerMapping(new GermanyIdBackRecognizerSerialization());
registerMapping(new GermanyIdFrontRecognizerSerialization());
registerMapping(new GermanyOldIdRecognizerSerialization());
Expand All @@ -64,13 +65,14 @@ private void registerMapping( RecognizerSerialization recognizerSerialization )
registerMapping(new KuwaitIdBackRecognizerSerialization());
registerMapping(new KuwaitIdFrontRecognizerSerialization());
registerMapping(new MalaysiaDlFrontRecognizerSerialization());
registerMapping(new MalaysiaMyTenteraFrontRecognizerSerialization());
registerMapping(new MexicoVoterIdFrontRecognizerSerialization());
registerMapping(new MoroccoIdBackRecognizerSerialization());
registerMapping(new MoroccoIdFrontRecognizerSerialization());
registerMapping(new MrtdCombinedRecognizerSerialization());
registerMapping(new MrtdRecognizerSerialization());
registerMapping(new MyKadBackRecognizerSerialization());
registerMapping(new MyKadFrontRecognizerSerialization());
registerMapping(new MyTenteraRecognizerSerialization());
registerMapping(new NewZealandDlFrontRecognizerSerialization());
registerMapping(new PaymentCardBackRecognizerSerialization());
registerMapping(new PaymentCardCombinedRecognizerSerialization());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ public final class CyprusIdBackRecognizerSerialization implements RecognizerSeri
public Recognizer<?, ?> createRecognizer(JSONObject jsonRecognizer) {
com.microblink.entities.recognizers.blinkid.cyprus.CyprusIdBackRecognizer recognizer = new com.microblink.entities.recognizers.blinkid.cyprus.CyprusIdBackRecognizer();
recognizer.setDetectGlare(jsonRecognizer.optBoolean("detectGlare", true));
recognizer.setExtractExpiresOn(jsonRecognizer.optBoolean("extractExpiresOn", true));
recognizer.setExtractSex(jsonRecognizer.optBoolean("extractSex", true));
recognizer.setFullDocumentImageDpi(jsonRecognizer.optInt("fullDocumentImageDpi", 250));
recognizer.setFullDocumentImageExtensionFactors(BlinkIDSerializationUtils.deserializeExtensionFactors(jsonRecognizer.optJSONObject("fullDocumentImageExtensionFactors")));
Expand All @@ -26,6 +27,7 @@ public JSONObject serializeResult(Recognizer<?, ?> recognizer) {
try {
SerializationUtils.addCommonResultData(jsonResult, result);
jsonResult.put("dateOfBirth", SerializationUtils.serializeDate(result.getDateOfBirth()));
jsonResult.put("expiresOn", SerializationUtils.serializeDate(result.getExpiresOn()));
jsonResult.put("fullDocumentImage", SerializationUtils.encodeImageBase64(result.getFullDocumentImage()));
jsonResult.put("sex", result.getSex());
} catch (JSONException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ public final class ElitePaymentCardBackRecognizerSerialization implements Recogn
@Override
public Recognizer<?, ?> createRecognizer(JSONObject jsonRecognizer) {
com.microblink.entities.recognizers.blinkid.elitepaymentcard.ElitePaymentCardBackRecognizer recognizer = new com.microblink.entities.recognizers.blinkid.elitepaymentcard.ElitePaymentCardBackRecognizer();
recognizer.setAnonymizeCardNumber(jsonRecognizer.optBoolean("anonymizeCardNumber", false));
recognizer.setAnonymizeCvv(jsonRecognizer.optBoolean("anonymizeCvv", false));
recognizer.setDetectGlare(jsonRecognizer.optBoolean("detectGlare", true));
recognizer.setExtractCvv(jsonRecognizer.optBoolean("extractCvv", true));
recognizer.setExtractInventoryNumber(jsonRecognizer.optBoolean("extractInventoryNumber", true));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ public final class ElitePaymentCardCombinedRecognizerSerialization implements Re
@Override
public Recognizer<?, ?> createRecognizer(JSONObject jsonRecognizer) {
com.microblink.entities.recognizers.blinkid.elitepaymentcard.ElitePaymentCardCombinedRecognizer recognizer = new com.microblink.entities.recognizers.blinkid.elitepaymentcard.ElitePaymentCardCombinedRecognizer();
recognizer.setAnonymizeCardNumber(jsonRecognizer.optBoolean("anonymizeCardNumber", false));
recognizer.setAnonymizeCvv(jsonRecognizer.optBoolean("anonymizeCvv", false));
recognizer.setAnonymizeOwner(jsonRecognizer.optBoolean("anonymizeOwner", false));
recognizer.setDetectGlare(jsonRecognizer.optBoolean("detectGlare", true));
recognizer.setExtractCvv(jsonRecognizer.optBoolean("extractCvv", true));
recognizer.setExtractInventoryNumber(jsonRecognizer.optBoolean("extractInventoryNumber", true));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public final class ElitePaymentCardFrontRecognizerSerialization implements Recog
@Override
public Recognizer<?, ?> createRecognizer(JSONObject jsonRecognizer) {
com.microblink.entities.recognizers.blinkid.elitepaymentcard.ElitePaymentCardFrontRecognizer recognizer = new com.microblink.entities.recognizers.blinkid.elitepaymentcard.ElitePaymentCardFrontRecognizer();
recognizer.setAnonymizeOwner(jsonRecognizer.optBoolean("anonymizeOwner", false));
recognizer.setDetectGlare(jsonRecognizer.optBoolean("detectGlare", true));
recognizer.setExtractOwner(jsonRecognizer.optBoolean("extractOwner", true));
recognizer.setFullDocumentImageDpi(jsonRecognizer.optInt("fullDocumentImageDpi", 250));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.phonegap.plugins.microblink.recognizers.serialization;

import com.microblink.entities.recognizers.Recognizer;
import com.phonegap.plugins.microblink.recognizers.RecognizerSerialization;

import org.json.JSONException;
import org.json.JSONObject;

public final class GermanyDlBackRecognizerSerialization implements RecognizerSerialization {

@Override
public Recognizer<?, ?> createRecognizer(JSONObject jsonRecognizer) {
com.microblink.entities.recognizers.blinkid.germany.GermanyDlBackRecognizer recognizer = new com.microblink.entities.recognizers.blinkid.germany.GermanyDlBackRecognizer();
recognizer.setDetectGlare(jsonRecognizer.optBoolean("detectGlare", true));
recognizer.setFullDocumentImageDpi(jsonRecognizer.optInt("fullDocumentImageDpi", 250));
recognizer.setFullDocumentImageExtensionFactors(BlinkIDSerializationUtils.deserializeExtensionFactors(jsonRecognizer.optJSONObject("fullDocumentImageExtensionFactors")));
recognizer.setReturnFullDocumentImage(jsonRecognizer.optBoolean("returnFullDocumentImage", false));
return recognizer;
}

@Override
public JSONObject serializeResult(Recognizer<?, ?> recognizer) {
com.microblink.entities.recognizers.blinkid.germany.GermanyDlBackRecognizer.Result result = ((com.microblink.entities.recognizers.blinkid.germany.GermanyDlBackRecognizer)recognizer).getResult();
JSONObject jsonResult = new JSONObject();
try {
SerializationUtils.addCommonResultData(jsonResult, result);
jsonResult.put("dateOfIssueB10", SerializationUtils.serializeDate(result.getDateOfIssueB10()));
jsonResult.put("dateOfIssueB10NotSpecified", result.isDateOfIssueB10NotSpecified());
jsonResult.put("fullDocumentImage", SerializationUtils.encodeImageBase64(result.getFullDocumentImage()));
} catch (JSONException e) {
// see https://developer.android.com/reference/org/json/JSONException
throw new RuntimeException(e);
}
return jsonResult;
}

@Override
public String getJsonName() {
return "GermanyDlBackRecognizer";
}

@Override
public Class<?> getRecognizerClass() {
return com.microblink.entities.recognizers.blinkid.germany.GermanyDlBackRecognizer.class;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,13 @@ public final class GermanyIdFrontRecognizerSerialization implements RecognizerSe
recognizer.setExtractNationality(jsonRecognizer.optBoolean("extractNationality", true));
recognizer.setExtractPlaceOfBirth(jsonRecognizer.optBoolean("extractPlaceOfBirth", true));
recognizer.setExtractSurname(jsonRecognizer.optBoolean("extractSurname", true));
recognizer.setFaceImageDpi(jsonRecognizer.optInt("faceImageDpi", 250));
recognizer.setFullDocumentImageDpi(jsonRecognizer.optInt("fullDocumentImageDpi", 250));
recognizer.setFullDocumentImageExtensionFactors(BlinkIDSerializationUtils.deserializeExtensionFactors(jsonRecognizer.optJSONObject("fullDocumentImageExtensionFactors")));
recognizer.setReturnFaceImage(jsonRecognizer.optBoolean("returnFaceImage", false));
recognizer.setReturnFullDocumentImage(jsonRecognizer.optBoolean("returnFullDocumentImage", false));
recognizer.setReturnSignatureImage(jsonRecognizer.optBoolean("returnSignatureImage", false));
recognizer.setSignatureImageDpi(jsonRecognizer.optInt("signatureImageDpi", 250));
return recognizer;
}

Expand All @@ -37,12 +40,12 @@ public JSONObject serializeResult(Recognizer<?, ?> recognizer) {
jsonResult.put("dateOfExpiry", SerializationUtils.serializeDate(result.getDateOfExpiry()));
jsonResult.put("documentNumber", result.getDocumentNumber());
jsonResult.put("faceImage", SerializationUtils.encodeImageBase64(result.getFaceImage()));
jsonResult.put("firstName", result.getFirstName());
jsonResult.put("fullDocumentImage", SerializationUtils.encodeImageBase64(result.getFullDocumentImage()));
jsonResult.put("lastName", result.getLastName());
jsonResult.put("givenNames", result.getGivenNames());
jsonResult.put("nationality", result.getNationality());
jsonResult.put("placeOfBirth", result.getPlaceOfBirth());
jsonResult.put("signatureImage", SerializationUtils.encodeImageBase64(result.getSignatureImage()));
jsonResult.put("surname", result.getSurname());
} catch (JSONException e) {
// see https://developer.android.com/reference/org/json/JSONException
throw new RuntimeException(e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,39 +6,41 @@
import org.json.JSONException;
import org.json.JSONObject;

public final class MyTenteraRecognizerSerialization implements RecognizerSerialization {
public final class MalaysiaMyTenteraFrontRecognizerSerialization implements RecognizerSerialization {

@Override
public Recognizer<?, ?> createRecognizer(JSONObject jsonRecognizer) {
com.microblink.entities.recognizers.blinkid.malaysia.MyTenteraRecognizer recognizer = new com.microblink.entities.recognizers.blinkid.malaysia.MyTenteraRecognizer();
com.microblink.entities.recognizers.blinkid.malaysia.MalaysiaMyTenteraFrontRecognizer recognizer = new com.microblink.entities.recognizers.blinkid.malaysia.MalaysiaMyTenteraFrontRecognizer();
recognizer.setDetectGlare(jsonRecognizer.optBoolean("detectGlare", true));
recognizer.setExtractFullNameAndAddress(jsonRecognizer.optBoolean("extractFullNameAndAddress", true));
recognizer.setExtractReligion(jsonRecognizer.optBoolean("extractReligion", true));
recognizer.setFaceImageDpi(jsonRecognizer.optInt("faceImageDpi", 250));
recognizer.setFullDocumentImageDpi(jsonRecognizer.optInt("fullDocumentImageDpi", 250));
recognizer.setFullDocumentImageExtensionFactors(BlinkIDSerializationUtils.deserializeExtensionFactors(jsonRecognizer.optJSONObject("fullDocumentImageExtensionFactors")));
recognizer.setReturnFaceImage(jsonRecognizer.optBoolean("returnFaceImage", false));
recognizer.setReturnFullDocumentImage(jsonRecognizer.optBoolean("returnFullDocumentImage", false));
return recognizer;
}

@Override
public JSONObject serializeResult(Recognizer<?, ?> recognizer) {
com.microblink.entities.recognizers.blinkid.malaysia.MyTenteraRecognizer.Result result = ((com.microblink.entities.recognizers.blinkid.malaysia.MyTenteraRecognizer)recognizer).getResult();
com.microblink.entities.recognizers.blinkid.malaysia.MalaysiaMyTenteraFrontRecognizer.Result result = ((com.microblink.entities.recognizers.blinkid.malaysia.MalaysiaMyTenteraFrontRecognizer)recognizer).getResult();
JSONObject jsonResult = new JSONObject();
try {
SerializationUtils.addCommonResultData(jsonResult, result);
jsonResult.put("armyNumber", result.getArmyNumber());
jsonResult.put("birthDate", SerializationUtils.serializeDate(result.getBirthDate()));
jsonResult.put("city", result.getCity());
jsonResult.put("faceImage", SerializationUtils.encodeImageBase64(result.getFaceImage()));
jsonResult.put("fullAddress", result.getFullAddress());
jsonResult.put("fullDocumentImage", SerializationUtils.encodeImageBase64(result.getFullDocumentImage()));
jsonResult.put("nricNumber", result.getNricNumber());
jsonResult.put("ownerAddress", result.getOwnerAddress());
jsonResult.put("ownerAddressCity", result.getOwnerAddressCity());
jsonResult.put("ownerAddressState", result.getOwnerAddressState());
jsonResult.put("ownerAddressStreet", result.getOwnerAddressStreet());
jsonResult.put("ownerAddressZipCode", result.getOwnerAddressZipCode());
jsonResult.put("ownerBirthDate", SerializationUtils.serializeDate(result.getOwnerBirthDate()));
jsonResult.put("ownerFullName", result.getOwnerFullName());
jsonResult.put("ownerReligion", result.getOwnerReligion());
jsonResult.put("ownerSex", result.getOwnerSex());
jsonResult.put("fullName", result.getFullName());
jsonResult.put("nric", result.getNric());
jsonResult.put("ownerState", result.getOwnerState());
jsonResult.put("religion", result.getReligion());
jsonResult.put("sex", result.getSex());
jsonResult.put("street", result.getStreet());
jsonResult.put("zipcode", result.getZipcode());
} catch (JSONException e) {
// see https://developer.android.com/reference/org/json/JSONException
throw new RuntimeException(e);
Expand All @@ -48,11 +50,11 @@ public JSONObject serializeResult(Recognizer<?, ?> recognizer) {

@Override
public String getJsonName() {
return "MyTenteraRecognizer";
return "MalaysiaMyTenteraFrontRecognizer";
}

@Override
public Class<?> getRecognizerClass() {
return com.microblink.entities.recognizers.blinkid.malaysia.MyTenteraRecognizer.class;
return com.microblink.entities.recognizers.blinkid.malaysia.MalaysiaMyTenteraFrontRecognizer.class;
}
}
Loading

0 comments on commit 0cdb974

Please sign in to comment.