diff --git a/example/RNExampleApp/android/app/src/main/assets/anyline_capitals.traineddata b/example/RNExampleApp/android/app/src/main/assets/anyline_capitals.traineddata new file mode 100755 index 00000000..3f647f95 Binary files /dev/null and b/example/RNExampleApp/android/app/src/main/assets/anyline_capitals.traineddata differ diff --git a/example/RNExampleApp/android/app/src/main/assets/deu.traineddata b/example/RNExampleApp/android/app/src/main/assets/deu.traineddata new file mode 100755 index 00000000..38b23fc5 Binary files /dev/null and b/example/RNExampleApp/android/app/src/main/assets/deu.traineddata differ diff --git a/example/RNExampleApp/android/app/src/main/assets/eng_no_dict.traineddata b/example/RNExampleApp/android/app/src/main/assets/eng_no_dict.traineddata new file mode 100755 index 00000000..f722655e Binary files /dev/null and b/example/RNExampleApp/android/app/src/main/assets/eng_no_dict.traineddata differ diff --git a/example/RNExampleApp/ios/traineddata/CNN_vin_det_class_prot2_36_whitelist.any b/example/RNExampleApp/android/app/src/main/assets/tessdata/vin.any similarity index 100% rename from example/RNExampleApp/ios/traineddata/CNN_vin_det_class_prot2_36_whitelist.any rename to example/RNExampleApp/android/app/src/main/assets/tessdata/vin.any diff --git a/example/RNExampleApp/android/app/src/main/assets/vin.ale b/example/RNExampleApp/android/app/src/main/assets/vin.ale index f3c314e7..838d7bce 100644 --- a/example/RNExampleApp/android/app/src/main/assets/vin.ale +++ b/example/RNExampleApp/android/app/src/main/assets/vin.ale @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/example/RNExampleApp/android/app/src/main/assets/vin.any b/example/RNExampleApp/android/app/src/main/assets/vin.any new file mode 100644 index 00000000..ed889b92 Binary files /dev/null and b/example/RNExampleApp/android/app/src/main/assets/vin.any differ diff --git a/example/RNExampleApp/config/VINConfig.js b/example/RNExampleApp/config/VINConfig.js index 9c51547a..612d9cd7 100644 --- a/example/RNExampleApp/config/VINConfig.js +++ b/example/RNExampleApp/config/VINConfig.js @@ -15,22 +15,20 @@ export default { 'NE9tUzVraWdNUVZLaW8vaWlJS2tIVEVUdUxjYWJEWWtacExZdVR2YnU1S1hIc0R6\n' + 'b1NxUUJTL3ZFS3VYUHhhCjNnanZnS285M3lrSjJKQjVBZjZiSkE9PQo=', options: { - "captureResolution": "1080p", "cutout": { - "style": "rect", - "width": 500, - "alignment": "top", - "ratioFromSize": { - "width": 62, - "height": 9 - }, - "offset": { - "x": 0, - "y": 395 - }, - "outerColor": "000000", - "outerAlpha": 0.3, - "cornerRadius": 3 + "style": "rect", + "maxWidthPercent": "70%", + "alignment": "top_half", + "ratioFromSize": { + "width": 62, + "height": 9 + }, + "outerColor": "000000", + "outerAlpha": 0.3, + "strokeWidth": 1, + "strokeColor": "FFFFFF", + "cornerRadius": 2, + "feedbackStrokeColor": "0099FF", }, "flash": { "mode": "manual", @@ -39,18 +37,22 @@ export default { "imageOff": "ic_flash_off" }, "visualFeedback": { - "animation": "traverse_multi", - "animationDuration": 250, - "style": "contour_rect", - "strokeWidth": 2, - "strokeColor": "0099FF" - } - + "animation": "traverse_multi", + "animationDuration" : 250, + "style": "contour_rect", + "strokeWidth": 2, + "strokeColor": "0099FF" + }, + "beepOnResult": false, + "vibrateOnResult": true, + "blinkAnimationOnResult": true, + "cancelOnResult": true, + "reportingEnabled": true }, ocr: { "scanMode": "AUTO", "aleFile": "vin.ale", - "traineddataFiles": ["CNN_vin_det_class_prot2_36_whitelist.any"], + "traineddataFiles": ["vin.any"], "minConfidence": 0 }, } \ No newline at end of file diff --git a/example/RNExampleApp/ios/RNExampleApp.xcodeproj/project.pbxproj b/example/RNExampleApp/ios/RNExampleApp.xcodeproj/project.pbxproj index 1549552e..28f95c37 100644 --- a/example/RNExampleApp/ios/RNExampleApp.xcodeproj/project.pbxproj +++ b/example/RNExampleApp/ios/RNExampleApp.xcodeproj/project.pbxproj @@ -20,11 +20,11 @@ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; + 17F5D56E205BDA6E00146C06 /* vin.any in Resources */ = {isa = PBXBuildFile; fileRef = 17A3F24C205AA3CA00EAB23A /* vin.any */; }; 2461A0FE4220A12E83C78AAA /* libPods-RNExampleApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0049A81087564E18C8F99C /* libPods-RNExampleApp.a */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 7C42F21D20516865002BB8E4 /* vin.ale in Resources */ = {isa = PBXBuildFile; fileRef = 7C42F21620516864002BB8E4 /* vin.ale */; }; 7C42F21E20516865002BB8E4 /* anyline_austrian_driving_license.ale in Resources */ = {isa = PBXBuildFile; fileRef = 7C42F21720516864002BB8E4 /* anyline_austrian_driving_license.ale */; }; - 7C42F21F20516865002BB8E4 /* CNN_vin_det_class_prot2_36_whitelist.any in Resources */ = {isa = PBXBuildFile; fileRef = 7C42F21920516865002BB8E4 /* CNN_vin_det_class_prot2_36_whitelist.any */; }; 7C42F22020516865002BB8E4 /* anyline_capitals.traineddata in Resources */ = {isa = PBXBuildFile; fileRef = 7C42F21A20516865002BB8E4 /* anyline_capitals.traineddata */; }; 7C42F22120516865002BB8E4 /* deu.traineddata in Resources */ = {isa = PBXBuildFile; fileRef = 7C42F21B20516865002BB8E4 /* deu.traineddata */; }; 7C42F22220516865002BB8E4 /* eng_no_dict.traineddata in Resources */ = {isa = PBXBuildFile; fileRef = 7C42F21C20516865002BB8E4 /* eng_no_dict.traineddata */; }; @@ -306,11 +306,11 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RNExampleApp/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = RNExampleApp/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + 17A3F24C205AA3CA00EAB23A /* vin.any */ = {isa = PBXFileReference; lastKnownFileType = file; path = vin.any; sourceTree = ""; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 7C42F21620516864002BB8E4 /* vin.ale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vin.ale; sourceTree = ""; }; 7C42F21720516864002BB8E4 /* anyline_austrian_driving_license.ale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = anyline_austrian_driving_license.ale; sourceTree = ""; }; - 7C42F21920516865002BB8E4 /* CNN_vin_det_class_prot2_36_whitelist.any */ = {isa = PBXFileReference; lastKnownFileType = file; path = CNN_vin_det_class_prot2_36_whitelist.any; sourceTree = ""; }; 7C42F21A20516865002BB8E4 /* anyline_capitals.traineddata */ = {isa = PBXFileReference; lastKnownFileType = file; path = anyline_capitals.traineddata; sourceTree = ""; }; 7C42F21B20516865002BB8E4 /* deu.traineddata */ = {isa = PBXFileReference; lastKnownFileType = file; path = deu.traineddata; sourceTree = ""; }; 7C42F21C20516865002BB8E4 /* eng_no_dict.traineddata */ = {isa = PBXFileReference; lastKnownFileType = file; path = eng_no_dict.traineddata; sourceTree = ""; }; @@ -488,7 +488,7 @@ 7C42F21820516865002BB8E4 /* traineddata */ = { isa = PBXGroup; children = ( - 7C42F21920516865002BB8E4 /* CNN_vin_det_class_prot2_36_whitelist.any */, + 17A3F24C205AA3CA00EAB23A /* vin.any */, 7C42F21A20516865002BB8E4 /* anyline_capitals.traineddata */, 7C42F21B20516865002BB8E4 /* deu.traineddata */, 7C42F21C20516865002BB8E4 /* eng_no_dict.traineddata */, @@ -937,8 +937,8 @@ files = ( 7C42F22120516865002BB8E4 /* deu.traineddata in Resources */, 7C42F21D20516865002BB8E4 /* vin.ale in Resources */, + 17F5D56E205BDA6E00146C06 /* vin.any in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - 7C42F21F20516865002BB8E4 /* CNN_vin_det_class_prot2_36_whitelist.any in Resources */, 7C42F21E20516865002BB8E4 /* anyline_austrian_driving_license.ale in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 7C42F22020516865002BB8E4 /* anyline_capitals.traineddata in Resources */, diff --git a/example/RNExampleApp/ios/ale/vin.ale b/example/RNExampleApp/ios/ale/vin.ale index f3c314e7..838d7bce 100644 --- a/example/RNExampleApp/ios/ale/vin.ale +++ b/example/RNExampleApp/ios/ale/vin.ale @@ -1 +1 @@ -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 \ No newline at end of file +HiwqPAQfFiJYP1lmax8zLGYRcng3BA4LW2c/dn08f2ZkeAUIQjwxQh8mJVJoQhl5MVoXOjgxBwRVOCZfGSdBURIIQnl2YjAZKiphbUVkcE1ULS4sBA5CMD1YVHMweggDRiwmFEwyaTYOCVMXM1sTa3F6CANGLCZpEiw/PQIZXzY8GR8nOy0VMlg2NlNMeWl0QwRbODVTPiwiPwkZFGNkBlprIjVhClMOO1ICIWliVV8GJH4UGTw/KBQZFGMpFBgmLz0vDFs8cAxUJj4sERhCBjZTAiwoLAgCWHY9QwI5Piw+A1k9NwxGa2d6FRRGPHAMVCAmOQYIFHVwXxsoLD0pCF8+OkJUc31oTU9fNDNREx4iPBUFFGNmBEY0NnRDDlo4IUUfLyI7YRlfNjwUTDJpMQ8dQy1wDA1rJTcFCHg4P1NUc2kxDx1DLX1fGDk+LD4DWT03DEZrZ3oIbVc+N34TICwwFU8MbWIaVCAmOQYIYTA2Qh5rcWxREBp7PUMCOT4sQ1dNezxZEiwFOQwIFGNwWQM9Oy0VMkU2NEIbKDMHAgFXKiEZGTw/KBQZaTc9UhNze3pNT0IgIlNUc2k7DQxFKjtQHyoqLAgCWHsvGlQ+IzEVCHowIUI4Ji89LwxbPHAMVCAlKBQZGS46XwIsBzESGWk3PVITc3t6TU9BMTtCEwUiKxVPDCJwBlRzMHoPCEMrPVg/Jy89GU8MaX4WVD4jMRUIejAhQlRzeiVNTwd7aE1UJy4tEwJYEDxSEzFpYlBBFnslXh89LhQIHkJ7aAcLZWlqQ1dNezxTAzskNigDUjwqFEx7Z3hDGl4wJlM6IDgsQ1cHJH4URWtxI0MDUywgWRhJJTwEFRRjYRpWazwwCBlTFTtFAmtxaRxBFG1wDA1rJT0UH1k3G1gSLDN6W1kaeXBBHiA/PS0ERS1wDEc0Z3pUTwwicFgTPDk3DyRYPTdOVHN+dEFPQTE7QhMFIisVTwxoLxpUf2liGk9YPCdEGScCNgUITntoNlppaS8JBEI8Hl8FPWliUBAae2UUTDJpNgQYRDY8fxgtLiBDVwF1chQBISIsBCFfKiYUTHg2dENVFGMpFBgsPioOA383NlMOa3FgTU0ULjpfAiwHMRIZFGNjS1prcnpbFhQ3N0MEJiURDwlTIXAMT2VrehYFXy03eh86P3pbXEt1cHdUczB6DwhDKz1YPycvPRlPDGhiGlZrPDAIGVMVO0UCa3FpHEEUG3AMDWslPRQfWTcbWBIsM3pbXAd1chQBISIsBCFfKiYUTHg2dEMuFGMpFBgsPioOA383NlMOa3FpU0EWeyVeHz0uFAgeQntoBwtlaRxDV017PFMDOyQ2KANSPCoUTHh4dEFPQTE7QhMFIisVTwxoLxpUDGliGk9YPCdEGScCNgUITntoB0Jla3oWBV8tN3ofOj96W1xLdXBwVHMweg8IQys9WD8nLz0ZTwxoZxpWazwwCBlTFTtFAmtxaRxBFB5wDA1rJT0UH1k3G1gSLDN6W1w2dXIUASEiLAQhXyomFEx4NnRDJRRjKRQYLD4qDgN/NzZTDmtxaVZBFnslXh89LhQIHkJ7aAcLZWkRQ1dNezxTAzskNigDUjwqFEx4c3RBT0ExO0ITBSIrFU8MaC8aVANpYhpPWDwnRBknAjYFCE57aAdPZWt6FgVfLTd6Hzo/eltcS3VwfVRzMHoPCEMrPVg/Jy89GU8Ma2IaVms8MAgZUxU7RQJrcWkcQRQVcAwNayU9FB9ZNxtYEiwzeltfB3VyFAEhIiwEIV8qJhRMeDZ0QyAUYykUGCw+Kg4Dfzc2Uw5rcWpTQRZ7JV4fPS4UCB5Ce2gHC2VpFkNXTXs8UwM7JDYoA1I8KhRMe3h0QU9BMTtCEwUiKxVPDGgvGlQGaWIaT1g8J0QZJwI2BQhOe2gEQmVrehYFXy03eh86P3pbXEt1cGZUczB6DwhDKz1YPycvPRlPDGtnGlZrPDAIGVMVO0UCa3FpHEEUCHAMDWslPRQfWTcbWBIsM3pbXzZ1chQBISIsBCFfKiYUTHg2dEM/FGMpFBgsPioOA383NlMOa3FqVkEWeyVeHz0uFAgeQntoBwtlaQtDV017PFMDOyQ2KANSPCoUTHtzdEFPQTE7QhMFIisVTwxoLxpUHWliGk9YPCdEGScCNgUITntoBE9la3oWBV8tN3ofOj96W1xLdXBjVHMweg8IQys9WD8nLz0ZTwxqYhpWazwwCBlTFTtFAmtxaRxBFA9wDA1rJT0UH1k3G1gSLDN6W14HdXIUASEiLAQhXyomFEx4NnRDOhRjKRQYLD4qDgN/NzZTDmtxa1NBFnslXh89LhQIHkJ7aAcLZWlYQ1dNezxTAzskNigDUjwqFEx6eHRBT0ExO0ITBSIrFU8MaC8aVBBpYhpPWDwnRBknAjYFCE57aAVCZWt6FgVfLTd6Hzo/eltcS3VwbFRzMHoPCEMrPVg/Jy89GU8MamcaVms8MAgZUxU7RQJrcWkcEEskcA18aWt4QR5TLXISFSEqKjYFXy03Wh86P3hcTRRpYwRFfX5uVlUPGBB1MgwNHyknfRUfeCYbGAw0O2EBC2xUckFRRRlQeW8WPyciLDUIWCo9RBAlJC9JGUQ4O1gwICc9MhlEMDxRTGsdES9DVzcrFFppJT0VGlkrOWYXOyo1ElcSDRRmFzsqNRJBFjAhcxgqOSERGVM9aAdfckF4QU0WfSZQVnRrDAQDRTYgUBomPBkRHVogBV4fPS40CB5CcSZTGDokKgcBWS5oEgIvZ3gWBV8tN1ofOj9iRQ5eOCBhHiA/PQ0ERS1+FhE7KigJI1c0NwxUKic5Eh5fPztVFz0iNw9PH2JYPH9tLyphGnU2PlkEaXZ4KANfLRFZGiY5cAkITgomRB8nLGJDK3BpYgZGa2Jja2c/KjdCVm05PRIETDwFXxI9I3hcTQJrYg18Q0IrBBkWfT9XDgglPw0IB3lvFk5yQVESCEJ5dlsXMQo2BgFTa3ILVnp+alpnPFAhUwJpbzUIA3U2PEIZPDkrQVAWaGUNfEA4PRVNEjcnWzIgLDEVHhZkcgZNQ0FRRRtXNTtSJT05PWFtWjA8UxIbLj8EFRZkcn8YID8KBApTIXpEEy4uIDIZRDA8UUxrFQMgQGxpfw8rMnpvHEkUcGk8fEBvKgQeQzUmZQIoKDNBUBYQPF8CGy4rFAFCCiZXFSJrcBIETDxoB0RlazUIA3MoJ1caGy4rFAFCKmgFWmkqNA0CQRo9WAUsKC0VBEA8Pk8lKCY9NwxaLDcMR2BwUmtkEjQ7WDUmJT4ICVM3MVM7JywqQVAWEDxfAgQiNiICWD87UhMnKD0sDFg4NVMEaWMxDwRCMDNaOyAlGw4DUDA2UxgqLmJYWBp5NlMVOy45Egh7NjZDGiZxb01NUjwxRBMoOD0zDEI8aAdGYHBSa2RFPCYWUiA4DAQeQnlvFkZya3dOTUU8JhYCJmtpQQtZK3J6PxoKeBUIRS0hPH86LixBSV8qFlMUPCx4XE0GYnIZWXhrPg4fFio6WQEgJT9BCVM7J1FWICY5BghFU1tFEz1rfAgiZXlvFkdya3dOTVUsIEQTJz80GEEWLTpTVio+LA4YQnkzWh8uJTUEA0J5O1hWPSM9QQRZKnJEEyokKgUIRHkzRgZpIitBDlM3JlMEaWMsDh0WPz1EViglPBMCXz17FltkdXgPCFM9ckIZaSo8CxhFLXJVBCY7eBMIVS1YP1I7LjxBUBYQPF8CCiQ0Dh8WcTpTDho/KggDUWNwcDB5e2hRTx9iWDwLQ0F3Tk11Kz1GVi8kKkEBXyozFgIsOCwSZ18/ch5SIDgMBB5CeW8LVnhieBpnFnlyFlIgJjkGCBZkcmQTOiIiBEVfNDNRE3NvMQwMUTx+FgEgLywJVwFrYh9NQ0F4QU0WMDQWXm0iFzJNC2RyB19pMFJBTRZ5chZWaW8wBARRMSYWS2kMPRUkWzg1UyUgMT1JBFs4NVNMaW8xDAxRPH4WAjA7PVtNFBEXfzEBH3pIVjx5chZWaWt4QUlPGjdYAiw5eFxNcjAkXxIsY3wJCF8+OkJaaXlxWmcWeXIWVmlreEUUfzcmFktpGTcUA1Jxdk81LCUsBB8fYlg/VmlreEUUdSwmWQM9a2VBPkM7JkQXKj9wRRR/NyYaVn18cVpnP3lyFlY7LigOH0J5dk81PD83FBkNU3IWVmlreEFNEjogWQYbLjsVTQt5G1gfPRk9AhkeIWgERmVrIVtJTxonQhk8P3RBGl89Jl5Mf39gTU1ePDtRHj1xYVVEDVB9GVYKPiwOGEJ5J0UTLWsxD01APDpfFSUueAgJFjQ9UhNpIjZBBFkqckQTKiQqBQhEeTNGBmljOwQDQjwgH3xpa3hBEBY8PkUTaTBSQU0WeXIWVmlvOxMCRgs3VQJpdngoA18tUlMVPWMgW18GdXJPTHpybU1NQTA2Qh5zfWxZQRYxN18RIT9iWFkfYlsZWWkILRUCQy1yQwUsL3gIAxYvN14fKic9QQRSeT9ZEixrMQ9NVzc2RBkgL3gTCFU2IFITO2s5ER0WcSZZBmlgeA4LUCo3QlZ6cm1IZxZ5chYLQ0J8CG1XPjcWS2kIKg4dHjA/VxEscXwIbVc+NxpWOy47FVcSOiBZBhsuOxVEDVMvPHxtKSoICl4tPFMFOmtlQSBTODx0BCAsMBUDUyohfxgbLjsVTR4wP1cRLHF8CG1XPjcaVj4iPBUFZjwgVRMnP2JRQwR1cl4TICwwFT1TKzFTGD1xaE9fGnk9UBA6LiwxCEQ6N1gCc3t2UUQNUyBTBiY5LEFJVCs7UR49JT0SHg1TIFMGJjksQUlfNDNRE3JBUkUfUyo7TBMtAjVhClN5bxYkLDgxGwgWcTtbFy4uYkUEWzg1U1ppPDEFGV5jdkQTOiIiBDpfPSZeX3JBKgQdWSsmFlI7LisIF1MOO1ICIXBSa0IZeTFeEyogeAcCRHkxWQQ7LjsVTV83IkMCaSI1YQpTeSFfDCxrOQ8JFikzUlYgJXgCDEU8cl8CaS83BB5YfiYWECA/eFddTmpiBlY6IiIEZxIxN18RIT94XE1xPCZ/GygsPTIETDx6XxsoLD1bTRIrN0UfMy48KG1XPjcaVj0yKARXFnsacz8OAwxDRA1TWF8QYW8wBARRMSYWSml9aEhNTVNbEgQsODEbCFIQP1cRLGtlQT9TKjtME0kmOQYIRQ47Qh4ZKjwFBFg+el8bKCw9W0lEPCFfDCwvEQwMUTx+Fhk8PygUGX48O1EePXFuUUEWNidCBjw/DwgJQjFoAkR5Z3gRDFI9O1gRHTIoBFcUCxdmOkkIGTUoFHBpPAtpLjQSCBYiWD8fL2N8CQhfPjpCVndrblFEFiJYP39tOT0SBEw8Nn8bKCw9QVAWCzdFHzMueEkEWzg1U0xtIjVhClN1cl4TICwwFVc2aXsNfEBCfBMIRTAoUxJJJjkGCBZkcmQTOiIiBCRbODVTBR4iLAk9Vz02XxguYzEMDFE8aBIELDgxGwhSED9XESxneA4YQiknQj4sIj8JGQxvYhpWJj4sERhCDjtSAiFxbFNdGnkiVxItIjYGOU8pNwxUGw4ILSR1GAZzVGBwUmgQPCRYPHxtLBEMDFE8cgtWDjk5GD5VOD5TVmEiNWEKU2N2RBM6IiIECX80M1ETYHBSa0IZeX8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bW2RmdUxAG3R/PFlmQXdOTXIQFX8iaQ8dNSh1DRt5OENkd2tCGXl/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fzxSPS0RDAxRPHILVh0uNhICRD8+WQFpYywEA0U2IFAaJjxiRRlQdXJfGygsPVtJURA/VxEsZ3gGH1cpOngXJC5iQwlTLTdVAiAkNkNEDVNYEhk5LjYECX80M1ETaXZ4Lh1TN3pfGygsPVtJQj8bWxcuLnRBBVMwNV4Cc350QRpfPSZeTHhneAoIRDc3WiIwOz1bT2QcEWJUYHBSRQJGPDxTEkkmOQYIFmRyeQYsJXAIbVc+NwxSJjs9DwhSED9XESxneAkIXz46Qkx4Z3gWBFItOgxFZWszBB9YPD5iDzkuYkM/cxoGFF9yQVJFGV4rN0UeJic8BAl/NDNRE2l2eDUFRDwhXhklL3hJBFs4NVNMbSQoBANTPRtbFy4udEEZXis3RR4mJzxbXANpfhYCMDs9W090EBx3JBBpcVpnPH0xWRg9JC0THhZkcnAfJy8bDgNCNidEBWljMQwMUTxoEgIhOT0SBVk1NlMSSSY5BggaeT9fGAEuMQYFQmNjBF9yQSoEHVkrJhZSKiQ2FQJDKyENfCAteElJXyoWUxQ8LHhcUBZoexYNQ2t4QU1FMT1BVm0sEQwMUTxpPFZpa3gSBVkuchICLwI1YQpTYlgWVmlrKwkCQXl2WQYsJT0FJFs4NVNNQ0IrCQJBeXZCHjsuKwkCWj03Uj8kKj8EVjxQdlUZJz83FB9FED9XESxrZUEpRDgldBk8JTwIA1ELN1UCOmtwCG1XPjcMUi4CNWEKU3VyVRknPzcUH0VjdlUZJz83FB9FdXJVGSUkKltJRDw2GlYlIjYEOV4wMV0YLDgrW18fYlg/BSEkL0FJVTY8Qhk8OSsobVc+Nw18NEFSRR5ZKyZTEgokNhUCQyshFktpGDcTGXU2PEIZPDkrQUVVNjxCGTw5K1tJVTY8Qhk8OStNTUU2IEI3PT8qCA9DLTcMVBFpcVpnPHZ9FhAmOXgPAkF1clcFOj41BE1CMTNCVig/eA0IVyomFhclJ3gPCFU8IUUXOzJ4UFoWOjpXBCgoLAQfRXk6V3YsaywOTVQ8clAZPCU8QQ9PeSZeE2kvPRUIVS07WRhDbzsOA0I2J0Q1Jj42FU0LeRFZGD0kLRMuWSw8QlZhKDcPGVksIEVMbTg3ExlTPRFZGD0kLRMeH2JYXxBpY3wCAlgtPUMECiQtDxkWZ3IHQWBrI2tNFnlyEgUmOSwECXU2PEIZPDkrQVAWCzdFGSU9PSICWC09QwQ6YzsOA0I2J0QFc28rDh9CPDZ1GSc/NxQfRXVyWx8nDzEGBEIqaBIbICUbDgNCNidEBWVrNWEVcjA1XwI6cWlWQRY0M04uDSIrFQxYOjcMR3xneBIZRDAxQkx5Z3gTCEU2PkATSSUsBB9fNiBxFzk4YlBEPCRYPB8va3BFBEUNN0UCaXZlQVwfeSk8f20oNw8ZfzQzURNpdnglH1cuEFkDJy8xDwpkPDFCBWljMQwMUTxoEgIhOT0SBVk1NlMSSSY5BggaeTFZGD0kLRMeDH0hWQQ9LjwiAlgtPUMEOmd4AgJaNiAMUi05ORYuWTU9RFppJzEPCGIxO1UdJy4rElcHcGk8fzojNxZNEjo9WAJJJjkGCA1TLzx8ZmR4EwhGNiBCViAlPAgbXz0nVxppKDcPGVksIEVWLyQqQRtfKidXGmktPQQJVDgxXXw7LigOH0J5dkUZOz89BS5ZNyZZAzs4Y2tnGXZyQwUsL3gHAkR5E0wDOy54EwhGNiBCHycsUhMIRjYgQj8kKj8EK1krHlkRaW8xDAxRPGk8fGZkeBMIRjYgQlY9LiAVTUQ8MUIXJyw0BE1QNiAWdiA4LWEBFj83UxIrKjsKZxItN04CGy47FU0LeVJTFT0NKg5tdTY8Qhk8OStJDlk3JlkDOzhiRR5ZKyZTEgokNhUCQyshGlYoPywTBFQsJlNMax4WKCJ4e3sNfDsuKA4fQnl2QhMxPwoEDkJiWDxSKiQ2FQJDKxFZAyc/eFxNdTY8Qhk8ORsOGFgtch4VJiUsDhhEKmgSBSY5LAQJdTY8Qhk8OStIVjxTO1BebSg3DxlZLCB1GTwlLEFRFn0/XxgKJDYVAkMrIR9WMkF4QU0WfTZDGyQyeFxNdzs9RAIeIiwJP0M3FFcfJT4qBE0eOj1SE3NrbVFdB3VyWxM6ODkGCAx5cHAZPCU8QQFTKiEWFSYlLA4YRCpyQh4oJXgPCFM9N1JWLyQqQR5TKztXGmklLQwPUyshGFRgcFIcZzxTfRlWZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bW2RBd05nGXZycD8daxQoI3N5Bn4kBh4fKU11HBxiMxtrCC4keA0BPFlmQXdOTRt0fxtbZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbU3ZQHz0/PQUhXzc3FktpDTEVIV83NxZeKiQ2FQJDKyEMUjokKhUIUho9WAImPioSQRY9O0UCHTIoBFcUDhd6JQoDekhWPFN2VxguJz1BUBYaPVsGPD89IANRNTcWXiUiNgRXEj87QgIsLxQIA1NwaTx8IC1wRQxYPj5TVndrfAwMThg8URosenFBFjxQO1BebSo2BgFTeW4WUiQqICADUTU3BF9pMFJoZBI9J1sbMGtlQSxUNiBCISA/MDMYWB8zXxo8OT1BRVU2NlNMaX5tVFgaeT9TBToqPwRXFnsTWBElLngOCxY/O0ICLC94DQRYPHJCGSZrKxUIUyl8FF9yQVEcZ0tTWDxZZmt1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bW2RmdWtCGVN9GVYKBBUxOGIccnszDQIZL01+HBtxPh1rFydNchAVfyIaQXdOZxl2chtbZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bfG0oNw8ZWSwgfhMgLDAVTQt5H1MSICo2IgJYLT1DBBoiIgRFVTY8Qhk8OStbSUU2IEITLQg3DxlZLCBFWmk/IREIDHsacz8OAwxDRA1TWDxZZmt1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bW2RmdWtCGVN9GVYKHgxBImMNcn87CAwdMmcZdlgZWWlmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZlJFDn48O1EePWtlQSxSPXIeUiokNhUCQysaUx8uIyxNTQR3Yh9NQ0F8EwhFMChTJCg/MQ5NC3kWX3YgLz1BRQRhfAZaaW87KQhfPjpCX3JBUkUOUzcmUwQZJDEPGUV5bxY1JiYoFBlTGjdYAiw5Ky4LdTY8Qhk8OStJDlk3JlkDOzhiRR5ZKyZTEgokNhUCQyshH01DQXwCGEIWJ0I/JCo/BB4WZHJ1Az0ELRUkWzg1UwVhIjVhClNjdlE/JCo/BEEWOjdYAiw5CA4EWC0hDFIqLjYVCEQJPV8YPTh0QQVTMDVeAnN/aE1NQTA2Qh5zf2hNTUQ8IV8MLBk5FQRZY3ZEEzoiIgQ/Vy07WVppOzkFCV83NWIPOS5iQz9zCR5/NQgfHUNEDVNYPFlma3VMQBt0fxtbZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1a0IZU30ZVgoHGTI+fx8bdTcdAhcvZxl2WBlZaWZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bW2RmUkUDWSs/VxogMT0FJFs4NVMFaXZ4JgFZOzNaNSYlLBMMRS0cWQQkKjQIF1N5el8bKCw9ElcSOidCOTw/EQwMUTwhH01DQXwTCEUsPkJWdGsMBANFNiBQGiY8eEkZUzchWQQvJzcWVxItNBpWICY5BghFY3ZYGTsmOQ0ETDw2fxsoLD0SQRY+IFcGIQU5DAgMezFaFzo4MQcEVTgmXxknaXRBDlk3NF8SLCU7BFcHcGk8BSEkL0FJRDwhQxo9cFJFDlk3NF8SLCU7BE0LeRFZGC8iPAQDVTwUWQQbLisUAUJxIFMFPCcsW0lEPCFDGj1neAgJUzcmXxAgLipbT0Q8IUMaPWlxWmdFMT1BVm0oNw8LXz03WBUscFJrZxl2chtbZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZGZ1TEAbdH8bfGZkUk5CFgoGZDMIBhQoI38XFRZQaR0dMyRwEBF3IkkEFmtCGVN9GVZkZnVMQBt0fxtbZGZ1TEAbdH8bW2RmdUxAG3R/G1tkZnVMQBt0fxtbZEF8EwhFLD5CVnRrCxUfUzg/Wh8nLnATCEUsPkJMbTk9EhhaLX4WAzouO2EeU2NwUyUqKjZDQRY3J1sULDkXBylfPjtCBXNvNhRtcjA1XwI6YmNrHl42JRZSOy4rFAFCYlg8Ujo+OjMIRSw+QlZ0awoEHkM1JmUDKzgsEwRYPnpEEzo+NBVXEis3RQMlP3RBBFI8PEIfLyI9E1cWe3ZEEzo+NBVPH2JYPFI7LisUAUJ5bxY3LS8LFA9kPCFDGj1jKgQeQzUmDFI7LisUAUJ1cl8SLCUsCAtfPCAMVms/PRkZFHVyQBclPj1bTRIqJ1QkLDgtDRkaeT1AEzs8KggZU2NjH01DQXwTCEUsPkJWdGsOYQFfPTNCExsuKxQBQnEgUwU8JyxbSUQ8IUMaPWd4CAlTNyZfECAuKltPQjwqQlRlayoEClMhaBJ2KCcxBT5CKzdXGyUiNgQJZDw1Uw5gcFJrBFB5ehIfOh89EhkWZG8WRmBrI2tkEis3RQMlPxsOGFgtcgtWCC88MwhFLD5CIiYYLGEOXXl6RBM6PjQVPkI4MV1MbTk9EhhaLQFCFyogdEEfUyonWgJzbyoEHkM1Jh9NQ0J8EwhFLD5CVnRrHwQZZDwhQxo9DSoObWUtM1UdaWMqBB5DNSZlAigoM1tJRDwhQxo9GCxhDl1waTwLQ0F3Tk1DKjdSVi8kKkEsTCwgU1Y7LigOH0IwPFF8Oy4oDh9CeXZEEzo+NBVWPCs3QgM7JXhFH1MqJ1oCcg== \ No newline at end of file diff --git a/example/RNExampleApp/ios/traineddata/vin.any b/example/RNExampleApp/ios/traineddata/vin.any new file mode 100644 index 00000000..ed889b92 Binary files /dev/null and b/example/RNExampleApp/ios/traineddata/vin.any differ diff --git a/plugin/android/build.gradle b/plugin/android/build.gradle index 85b3dbaa..afee5208 100755 --- a/plugin/android/build.gradle +++ b/plugin/android/build.gradle @@ -57,7 +57,7 @@ repositories { dependencies { compile fileTree(dir: "libs", include: ["*.jar"]) compile 'com.android.support:appcompat-v7:25.1.0' - compile 'io.anyline:anylinesdk:3.21.0@aar' + compile 'io.anyline:anylinesdk:3.22.0@aar' compile 'com.google.android.gms:play-services-vision:11.8.0' compile 'com.android.support:design:25.1.0' compile "com.facebook.react:react-native:+" // From node_modules diff --git a/plugin/ios/AnylineBarcodeScanViewController.m b/plugin/ios/AnylineBarcodeScanViewController.m index 65673158..cd7e1799 100644 --- a/plugin/ios/AnylineBarcodeScanViewController.m +++ b/plugin/ios/AnylineBarcodeScanViewController.m @@ -53,7 +53,7 @@ - (void)viewDidAppear:(BOOL)animated { self.label.hidden = NO; - self.moduleView.captureDeviceManager.barcodeDelegate = nil; + [self.moduleView.captureDeviceManager removeBarcodeDelegate:self]; } #pragma mark - AnylineBarcodeModuleDelegate method diff --git a/plugin/ios/AnylineEnergyScanViewController.m b/plugin/ios/AnylineEnergyScanViewController.m index aab084f3..3eae840f 100644 --- a/plugin/ios/AnylineEnergyScanViewController.m +++ b/plugin/ios/AnylineEnergyScanViewController.m @@ -25,10 +25,10 @@ - (void)viewDidLoad { [energyModuleView setScanMode:self.scanMode error:nil]; - [energyModuleView.captureDeviceManager setBarcodeDelegate:self]; + [energyModuleView.captureDeviceManager addBarcodeDelegate:self]; if (self.nativeBarcodeEnabled) { - energyModuleView.captureDeviceManager.barcodeDelegate = self; + [energyModuleView.captureDeviceManager addBarcodeDelegate:self]; } // Set Serial Number specific configurations diff --git a/plugin/ios/AnylineOCRScanViewController.m b/plugin/ios/AnylineOCRScanViewController.m index 12303fd4..280896f9 100644 --- a/plugin/ios/AnylineOCRScanViewController.m +++ b/plugin/ios/AnylineOCRScanViewController.m @@ -40,11 +40,9 @@ - (void)viewDidLoad { NSMutableArray *languages = [NSMutableArray arrayWithCapacity:tesseractArray.count]; for (NSString *tesseractLang in tesseractArray) { NSString *ressourcePath = [[NSBundle mainBundle] pathForResource:[[tesseractLang lastPathComponent] stringByDeletingPathExtension] ofType:[[tesseractLang lastPathComponent] pathExtension] inDirectory:[NSString stringWithFormat:@"%@",[tesseractLang stringByDeletingLastPathComponent]]]; - NSError *copyError = nil; - [ocrModuleView copyTrainedData:ressourcePath fileHash:nil error:©Error]; - [languages addObject:[[tesseractLang lastPathComponent] stringByDeletingPathExtension]]; + [languages addObject:ressourcePath]; } - ocrConf.tesseractLanguages = languages; + ocrConf.languages = languages; NSError *error = nil; [ocrModuleView setupWithLicenseKey:self.key delegate:self ocrConfig:ocrConf error:&error]; // if(!success) {