public void Scan(IOverlaySettings overlaySettings) { recognizerBundle = null; documentCaptureRecognizerTransferable = null; documentCaptureRecognizerWrapper = null; fieldByFieldCollection = null; fieldByFieldBundle = null; androidHostActivity.ScanningStarted(this); var aOverlaySettings = (OverlaySettings)overlaySettings; if (aOverlaySettings is DocumentCaptureOverlaySettings) { documentCaptureRecognizerTransferable = ((DocumentCaptureUISettings)aOverlaySettings.NativeUISettings).DocumentCaptureRecognizerTransferable; documentCaptureRecognizerWrapper = ((DocumentCaptureOverlaySettings)aOverlaySettings).DocumentCaptureRecognizerWrapper; ActivityRunner.StartActivityForResult(androidHostActivity.HostActivity, androidHostActivity.ScanActivityRequestCode, ((OverlaySettings)overlaySettings).NativeUISettings); return; } if (aOverlaySettings is FieldByFieldOverlaySettings) { var fieldByFieldOverlaySettings = (FieldByFieldOverlaySettings)aOverlaySettings; fieldByFieldCollection = fieldByFieldOverlaySettings.FieldByFieldCollection; var nativeOverlay = (FieldByFieldUISettings)fieldByFieldOverlaySettings.NativeUISettings; fieldByFieldBundle = nativeOverlay.FieldByFieldBundle; ActivityRunner.StartActivityForResult(androidHostActivity.HostActivity, androidHostActivity.ScanActivityRequestCode, nativeOverlay); return; } // assume given recognizerCollection was also used for constructing overlaySettings recognizerBundle = ((RecognizerCollection)((RecognizerCollectionOverlaySettings)aOverlaySettings).RecognizerCollection).NativeRecognizerBundle; ActivityRunner.StartActivityForResult(androidHostActivity.HostActivity, androidHostActivity.ScanActivityRequestCode, ((OverlaySettings)overlaySettings).NativeUISettings); }
public FieldByFieldCollection(IFieldByFieldElement[] fieldByFieldElements) { this.fieldByFieldElements = fieldByFieldElements; NativeFieldByFieldElement[] nativeElements = new NativeFieldByFieldElement[fieldByFieldElements.Length]; for (int i = 0; i < fieldByFieldElements.Length; ++i) { IFieldByFieldElement element = fieldByFieldElements[i]; NativeParser parser = (NativeParser)(element.Parser as Parser).NativeParser; NativeFieldByFieldElement nativeElement = new NativeFieldByFieldElement(element.LocalizedTitle, element.LocalizedTooltip, parser); nativeElements[i] = nativeElement; } NativeFieldByFieldBundle = new FieldByFieldBundle(nativeElements); }