startSession static method
Implementation
static Future<Map> startSession(
final CameraConfig config, String license) async {
Map<String, dynamic> parameters = {};
parameters['License'] = license;
/// Global options.
if (config.allowMultipleDocuments != null) {
parameters["AllowMultipleDocuments"] = config.allowMultipleDocuments;
}
if (config.defaultMultipleDocuments != null) {
parameters["DefaultMultipleDocuments"] = config.defaultMultipleDocuments;
}
if (config.defaultCrop != null) {
parameters["DefaultCrop"] = config.defaultCrop;
}
if (config.moveCloserMessage != null) {
parameters["MoveCloserMessage"] = config.moveCloserMessage;
}
if (config.imageMovingMessage != null) {
parameters["ImageMovingMessage"] = config.imageMovingMessage;
}
if (config.orientationWarningMessage != null) {
parameters["OrientationWarningMessage"] =
config.orientationWarningMessage;
}
if (config.imageMaxWidth != null) {
parameters["ImageMaxWidth"] = config.imageMaxWidth;
}
if (config.imageMaxHeight != null) {
parameters["ImageMaxHeight"] = config.imageMaxHeight;
}
if (config.imageMaxQuality != null) {
parameters["ImageMaxQuality"] = config.imageMaxQuality;
}
if (config.previewDuration != null) {
parameters["PreviewDuration"] = config.previewDuration;
}
if (config.model.fileName != null) {
parameters["Model.fileName"] = config.model.fileName;
}
if (config.model.modelLabels != null) {
parameters["Model.modelLabels"] = config.model.modelLabels;
}
if (config.timer.allowed != null) {
parameters["Timer.allowed"] = config.timer.allowed;
}
if (config.timer.enabled != null) {
parameters["Timer.enabled"] = config.timer.enabled;
}
if (config.timer.duration != null) {
parameters["Timer.duration"] = config.timer.duration;
}
if (config.cropPadding.height != null) {
parameters["CropPadding.height"] = config.cropPadding.height;
}
if (config.cropPadding.width != null) {
parameters["CropPadding.width"] = config.cropPadding.width;
}
if (config.success.previewDuration != null) {
parameters["Success.previewDuration"] = config.success.previewDuration;
}
if (config.success.message != null) {
parameters["Success.message"] = config.success.message;
}
if (config.shutterButton.allowshutterButton != null) {
parameters["ShutterButton.allowShutterButton"] =
config.shutterButton.allowshutterButton;
}
if (config.shutterButton.hideShutterButton != null) {
parameters["ShutterButton.hideShutterButton"] =
config.shutterButton.hideShutterButton;
}
if (config.imageLimit != null) {
parameters["ImageLimit"] = config.imageLimit;
}
if (config.imageLimitReachedMessage != null) {
parameters["ImageLimitReachedMessage"] = config.imageLimitReachedMessage;
}
if (config.cancelConfirmationMessage != null) {
parameters["CancelConfirmationMessage"] =
config.cancelConfirmationMessage;
}
if (config.deleteButtonText != null) {
parameters["DeleteButtonText"] = config.deleteButtonText;
}
if (config.retakeButtonText != null) {
parameters["RetakeButtonText"] = config.retakeButtonText;
}
if (config.cancelButtonText != null) {
parameters["CancelButtonText"] = config.cancelButtonText;
}
if (config.cancelAndDeleteImagesButtonText != null) {
parameters["CancelAndDeleteImagesButtonText"] =
config.cancelAndDeleteImagesButtonText;
}
if (config.defaultColor != null) {
parameters["DefaultColor"] = describeEnum(config.defaultColor!);
}
/// Android only
if (config.storagePath != null) {
parameters["StoragePath"] = config.storagePath;
}
if (config.outputFileName != null) {
parameters["OutputFilename"] = config.outputFileName;
}
if (config.imageMovingSensitivityAndroid != null) {
parameters["ImageMovingSensitivityAndroid"] =
config.imageMovingSensitivityAndroid;
}
/// iOS only
if (config.imageTooBrightMessage != null) {
parameters["ImageTooBrightMessage"] = config.imageTooBrightMessage;
}
if (config.imagetooDarkMessage != null) {
parameters["ImageTooDarkMessage"] = config.imagetooDarkMessage;
}
if (config.imageColorOriginalText != null) {
parameters["ImageColorOriginalText"] = config.imageColorOriginalText;
}
if (config.imageColorGrayscaleText != null) {
parameters["ImageColorGrayscaleText"] = config.imageColorGrayscaleText;
}
if (config.imageColorEnhancedText != null) {
parameters["ImageColorEnhancedText"] = config.imageColorEnhancedText;
}
if (config.shouldGoToReviewScreenWhenImageLimitReached != null) {
parameters["ShouldGoToReviewScreenWhenImageLimitReached"] =
config.shouldGoToReviewScreenWhenImageLimitReached;
}
if (config.userCanRotateImage != null) {
parameters["UserCanRotateImage"] = config.userCanRotateImage;
}
if (config.userCanCropManually != null) {
parameters["UserCanCropManually"] = config.userCanCropManually;
}
if (config.userCanChangeColorSetting != null) {
parameters["UserCanChangeColorSetting"] =
config.userCanChangeColorSetting;
}
if (config.primaryColor != null) {
parameters["PrimaryColor"] =
KIVHexColor.flutterColorToHex(config.primaryColor!, true);
}
if (config.accentColor != null) {
parameters["AccentColor"] =
KIVHexColor.flutterColorToHex(config.accentColor!, true);
}
if (config.overlayColor != null) {
parameters["OverlayColor"] =
KIVHexColor.flutterColorToHex(config.overlayColor!, true);
}
if (config.overlayColorAlpha != null) {
parameters["OverlayColorAlpha"] = config.overlayColorAlpha;
}
if (config.warningBackgroundColor != null) {
parameters["WarningBackgroundColor"] =
KIVHexColor.flutterColorToHex(config.warningBackgroundColor!, true);
}
if (config.warningTextColor != null) {
parameters["WarningTextColor"] =
KIVHexColor.flutterColorToHex(config.warningTextColor!, true);
}
if (config.iconEnabledColor != null) {
parameters["IconEnabledColor"] =
KIVHexColor.flutterColorToHex(config.iconEnabledColor!, true);
}
if (config.iconDisabledColor != null) {
parameters["IconDisabledColor"] =
KIVHexColor.flutterColorToHex(config.iconDisabledColor!, true);
}
if (config.reviewIconColor != null) {
parameters["ReviewIconColor"] =
KIVHexColor.flutterColorToHex(config.reviewIconColor!, true);
}
if (config.isViewFinderEnabled != null) {
parameters["IsViewFinderEnabled"] = config.isViewFinderEnabled;
}
if (config.imageMovingSensitivityiOS != null) {
parameters["ImageMovingSensitivityiOS"] =
config.imageMovingSensitivityiOS;
}
if (config.storeImagesToCameraRol != null) {
parameters["StoreImagesToCameraRoll"] = config.storeImagesToCameraRol;
}
final Map startSessionResult =
await _channel.invokeMethod('startSession', parameters);
return startSessionResult;
}