@Override protected String getTitleText() { return getString(R.string.app_name); }
@Override protected String getTitleText() { return getString(R.string.app_name); }
@Override protected String getTitleText() { return getString(R.string.app_name); }
@Override protected String getTitleText() { return getString(R.string.app_name); }
private void addEntry(StringBuilder stringBuilder, @StringRes int entryKeyResourceId, @NonNull String value) { stringBuilder.append(getString(entryKeyResourceId)).append(": ").append(value).append("\n"); }
private MenuListItem buildAdvancedIntegrationElement() { return new MenuListItem(getString(R.string.customUI), new Runnable() { @Override public void run() { startActivity(new Intent(MainActivity.this, ScanActivity.class)); } }); }
@Override protected List<MenuListItem> createMenuListItems() { List<MenuListItem> items = new ArrayList<>(); items.add(new MenuListItem(getString(R.string.scanMRTD), new Runnable() { @Override public void run() { if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { // request write permission ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_EXTERNAL_STORAGE); } else { startScanning(); } } })); return items; }
@Override protected List<MenuListItem> createMenuListItems() { List<MenuListItem> items = new ArrayList<>(); items.add(new MenuListItem(getString(R.string.scan_croatian_id_front), new Runnable() { @Override public void run() { mFrontSideTemplatingRecognizer = mFrontSideTemplatingUtil.getDetectorRecognizer(); //wrapping into SuccessFrameGrabberRecognizer because we want to show successful scan image mSuccessFrameGrabberRecognizer = new SuccessFrameGrabberRecognizer(mFrontSideTemplatingRecognizer); startScanActivity(SCAN_FRONT_REQ_CODE); } })); items.add(new MenuListItem(getString(R.string.scan_croatian_id_back), new Runnable() { @Override public void run() { mBackSideTemplatingRecognizer = mBackSideTemplatingUtil.getMRTDRecognizer(); mSuccessFrameGrabberRecognizer = new SuccessFrameGrabberRecognizer(mBackSideTemplatingRecognizer); startScanActivity(SCAN_BACK_REQ_CODE); } })); return items; }
private MenuListItem buildSimpleIntegrationItem() { mTotalAmountParser = new AmountParser(); mTaxParser = new AmountParser(); mIbanParser = new IbanParser(); // we need to scan 3 items, so we will add 3 elements to bundle mSimpleFieldByFieldBundle= new FieldByFieldBundle( // each scan configuration contains two string resource IDs: // string shown in title bar and string shown in text field above scan box new FieldByFieldElement(R.string.amount_title, R.string.amount_msg, mTotalAmountParser), new FieldByFieldElement(R.string.tax_title, R.string.tax_msg, mTaxParser), new FieldByFieldElement(R.string.iban_title, R.string.iban_msg, mIbanParser) ); final FieldByFieldUISettings uiSettings = new FieldByFieldUISettings(mSimpleFieldByFieldBundle); uiSettings.setHelpIntent(new Intent(this, HelpActivity.class)); return new MenuListItem(getString(R.string.simple_integration), new Runnable() { @Override public void run() { ActivityRunner.startActivityForResult(MainActivity.this, SIMPLE_INTEGRATION_REQUEST_CODE, uiSettings); } }); }
private MenuListItem buildRegexExampleElement() { // now let's setup OCR engine parameters for scanning VIN: BlinkOCREngineOptions engineOptions = new BlinkOCREngineOptions(); // only uppercase chars and digits are allowed. Don't waste time on classifying other characters as we // do not need them. engineOptions.addAllDigitsToWhitelist(OcrFont.OCR_FONT_ANY).addUppercaseCharsToWhitelist(OcrFont.OCR_FONT_ANY); // do not bother with text lines that are smaller than 40 pixels engineOptions.setMinimumLineHeight(40); // we expect the VIN to be black text, so we can drop all colors from image - this will give better accuracy // because coloured text will be automatically discarded. engineOptions.setColorDropoutEnabled(true); // now let's create a RegexParser mVinParser = new RegexParser("[A-Z0-9]{17}", engineOptions); // same as in simple integration, create field by field bundle mVinFieldByFieldBundle = new FieldByFieldBundle ( new FieldByFieldElement(R.string.vin_title, R.string.vin_msg, mVinParser) ); final FieldByFieldUISettings uiSettings = new FieldByFieldUISettings(mVinFieldByFieldBundle); return new MenuListItem(getString(R.string.regex_example), new Runnable() { @Override public void run() { ActivityRunner.startActivityForResult(MainActivity.this, BLINK_OCR_VIN_REQUEST_CODE, uiSettings); } }); }