apply method
Apply all configurations to the Document Reader SDK
Implementation
Future<void> apply() async {
final customization = _documentReader.customization;
final functionality = _documentReader.functionality;
final processParams = _documentReader.processParams;
// Apply color theme
if (_colorTheme != null) {
// customization.colors = CustomizationColors(
// );
}
// Apply multipage configuration
if (_multipage != null) {
customization.multipageButtonText = _multipage!.buttonText;
if (_multipage!.timeout != null) {
processParams.timeout = _multipage!.timeout!;
}
if (_multipage!.timeoutFromFirstDetect != null) {
processParams.timeoutFromFirstDetect =
_multipage!.timeoutFromFirstDetect!;
}
}
// Apply liveness configuration
if (_liveness != null) {
functionality.videoCaptureMotionControl = _liveness!.motionControl;
functionality.showCaptureButton = _liveness!.showCaptureButton;
if (_liveness!.captureButtonDelayFromDetect != null) {
functionality.showCaptureButtonDelayFromDetect =
_liveness!.captureButtonDelayFromDetect!;
}
if (_liveness!.captureButtonDelayFromStart != null) {
functionality.showCaptureButtonDelayFromStart =
_liveness!.captureButtonDelayFromStart!;
}
}
// Apply camera frame configuration
if (_cameraFrame != null) {
functionality.cameraFrame = DocReaderFrame.SCENARIO_DEFAULT;
if (_cameraFrame!.lineWidth != null) {
customization.cameraFrameBorderWidth = _cameraFrame!.lineWidth!;
}
if (_cameraFrame!.borderColor != null) {
customization.cameraFrameActiveColor = _cameraFrame!.borderColor!;
}
if (_cameraFrame!.cornerRadius != null) {
customization.cameraFrameCornerRadius = _cameraFrame!.cornerRadius!;
}
if (_cameraFrame!.portraitAspectRatio != null) {
customization.cameraFramePortraitAspectRatio =
_cameraFrame!.portraitAspectRatio!;
}
if (_cameraFrame!.landscapeAspectRatio != null) {
customization.cameraFrameLandscapeAspectRatio =
_cameraFrame!.landscapeAspectRatio!;
}
if (_cameraFrame!.offsetWidth != null) {
customization.cameraFrameOffsetWidth = _cameraFrame!.offsetWidth!;
}
if (_cameraFrame!.borderWidth != null) {
customization.cameraFrameBorderWidth = _cameraFrame!.borderWidth!;
}
}
// Apply messages configuration
if (_messages != null) {
customization.showStatusMessages = _messages!.showStatus;
customization.showResultStatusMessages = _messages!.showResultStatus;
if (_messages!.statusTextFont != null) {
customization.statusTextFont = _messages!.statusTextFont;
}
if (_messages!.resultStatusTextFont != null) {
customization.resultStatusTextFont = _messages!.resultStatusTextFont;
}
}
// Apply toolbar configuration
if (_toolbar != null) {
if (_toolbar!.size != null) {
customization.toolbarSize = _toolbar!.size!;
}
functionality.showCloseButton = _toolbar!.showCloseButton;
functionality.showTorchButton = _toolbar!.showTorchButton;
functionality.showCameraSwitchButton = _toolbar!.showCameraSwitchButton;
functionality.showCaptureButton = _toolbar!.showCaptureButton;
functionality.showChangeFrameButton = _toolbar!.showChangeFrameButton;
}
// Apply background configuration
if (_background != null) {
if (_background!.maskAlpha != null) {
customization.backgroundMaskAlpha = _background!.maskAlpha!;
}
}
// Apply instructions configuration
if (_instructions != null) {
customization.showHelpAnimation = _instructions!.showAnimation;
}
// Apply indicators configuration
if (_indicators != null) {
if (_indicators!.portraitPositionMultiplier != null) {
customization.activityIndicatorPortraitPositionMultiplier =
_indicators!.portraitPositionMultiplier!;
}
if (_indicators!.landscapePositionMultiplier != null) {
customization.activityIndicatorLandscapePositionMultiplier =
_indicators!.landscapePositionMultiplier!;
}
}
// Apply functionality configuration
if (_functionality != null) {
if (_functionality!.cameraMode != null) {
functionality.cameraMode = _functionality!.cameraMode!;
}
if (_functionality!.zoomFactor != null) {
functionality.zoomFactor = _functionality!.zoomFactor!;
}
if (_functionality!.captureMode != null) {
functionality.captureMode = _functionality!.captureMode!;
}
if (_functionality!.orientation != null) {
functionality.orientation = _functionality!.orientation!;
}
functionality.skipFocusingFrames = _functionality!.skipFocusingFrames;
if (_functionality!.exposure != null) {
functionality.exposure = _functionality!.exposure!;
}
functionality.recordScanningProcess =
_functionality!.recordScanningProcess;
functionality.displayMetadata = _functionality!.displayMetadata;
functionality.useAuthenticator = _functionality!.useAuthenticator;
}
// Apply process parameters configuration
if (_processParams != null) {
processParams.scenario = Scenario.FULL_AUTH;
processParams.returnCroppedBarcode = _processParams!.returnCroppedBarcode;
processParams.returnUncroppedImage = _processParams!.returnUncroppedImage;
if (_processParams!.imageQuality != null) {
final iq = _processParams!.imageQuality!;
if (iq.dpiThreshold != null) {
processParams.imageQA.dpiThreshold = iq.dpiThreshold!;
}
if (iq.angleThreshold != null) {
processParams.imageQA.angleThreshold = iq.angleThreshold!;
}
processParams.imageQA.focusCheck = iq.focusCheck;
processParams.imageQA.glaresCheck = iq.glaresCheck;
processParams.imageQA.colornessCheck = iq.colornessCheck;
}
if (_processParams!.dateFormat != null) {
processParams.dateFormat = _processParams!.dateFormat;
}
if (_processParams!.documentIdList != null) {
processParams.documentIDList = _processParams!.documentIdList!;
}
processParams.multipageProcessing = _processParams!.multipageProcessing;
processParams.alreadyCropped = _processParams!.alreadyCropped;
processParams.generateNumericCodes = _processParams!.generateNumericCodes;
}
}