Implementation
factory CheckScannerScreenConfiguration.fromJson(Map<String, dynamic> json) =>
CheckScannerScreenConfiguration(
version:
json.containsKey("version") ? json["version"] as String : "1.0",
screen: json.containsKey("screen")
? json["screen"] as String
: "CheckScanner",
localization: json.containsKey("localization")
? CheckScannerScreenTextLocalization.fromJson(
json["localization"] as Map<String, dynamic>)
: CheckScannerScreenTextLocalization(),
palette: json.containsKey("palette")
? Palette.fromJson(json["palette"] as Map<String, dynamic>)
: Palette(),
backgroundColor: json.containsKey("backgroundColor")
? ScanbotColor(json["backgroundColor"] as String)
: ScanbotColor("?sbColorSurfaceLow"),
cameraConfiguration: json.containsKey("cameraConfiguration")
? CameraConfiguration.fromJson(
json["cameraConfiguration"] as Map<String, dynamic>)
: CameraConfiguration(
orientationLockMode: OrientationLockMode.PORTRAIT),
cameraPermission: json.containsKey("cameraPermission")
? CameraPermissionScreen.fromJson(
json["cameraPermission"] as Map<String, dynamic>)
: CameraPermissionScreen(
statusBarMode: StatusBarMode.DARK,
background: ScanbotColor("?sbColorSurface"),
iconBackground: ScanbotColor("?sbColorOutline"),
icon: IconStyle(
visible: true, color: ScanbotColor("?sbColorOnSurface")),
enableCameraButton: ButtonConfiguration(
visible: true,
text: "?cameraPermissionEnableCameraButton",
accessibilityDescription:
"?accessibilityDescriptionCameraPermissionEnableCameraButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("?sbColorPrimary"),
fillColor: ScanbotColor("?sbColorPrimary"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorOnPrimary"),
useShadow: false)),
closeButton: ButtonConfiguration(
visible: true,
text: "?cameraPermissionCloseButton",
accessibilityDescription:
"?accessibilityDescriptionCameraPermissionCloseButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorPrimary"),
useShadow: false)),
enableCameraTitle: StyledText(
text: "?cameraPermissionEnableCameraTitle",
color: ScanbotColor("?sbColorOnSurface")),
enableCameraExplanation: StyledText(
text: "?cameraPermissionEnableCameraExplanation",
color: ScanbotColor("?sbColorOnSurfaceVariant"))),
topUserGuidance: json.containsKey("topUserGuidance")
? UserGuidanceConfiguration.fromJson(
json["topUserGuidance"] as Map<String, dynamic>)
: UserGuidanceConfiguration(
title: StyledText(text: "?topUserGuidance")),
scanStatusUserGuidance: json.containsKey("scanStatusUserGuidance")
? CheckScannerGuidanceConfiguration.fromJson(
json["scanStatusUserGuidance"] as Map<String, dynamic>)
: CheckScannerGuidanceConfiguration(),
topBar: json.containsKey("topBar")
? TopBarConfiguration.fromJson(
json["topBar"] as Map<String, dynamic>)
: TopBarConfiguration(
title: StyledText(visible: true, text: "?topBarTitle"),
cancelButton: ButtonConfiguration(
text: "?topBarCancelButton",
accessibilityDescription:
"?accessibilityDescriptionCancelButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
color: ScanbotColor("?sbColorOnPrimary")))),
topBarOpenIntroScreenButton:
json.containsKey("topBarOpenIntroScreenButton")
? ScanbotIconButton.fromJson(
json["topBarOpenIntroScreenButton"] as Map<String, dynamic>)
: ScanbotIconButton(
color: ScanbotColor("?sbColorOnPrimary"),
accessibilityDescription:
"?accessibilityDescriptionOpenIntroScreenButton"),
introScreen: json.containsKey("introScreen")
? CheckScannerIntroScreenConfiguration.fromJson(
json["introScreen"] as Map<String, dynamic>)
: CheckScannerIntroScreenConfiguration(),
actionBar: json.containsKey("actionBar")
? ActionBarConfiguration.fromJson(
json["actionBar"] as Map<String, dynamic>)
: ActionBarConfiguration(
flipCameraButton: RoundButton(
visible: false,
accessibilityDescription:
"?accessibilityDescriptionFlipCameraButton",
backgroundColor: ScanbotColor("?sbColorSurfaceHigh"),
foregroundColor: ScanbotColor("?sbColorOnPrimary"),
activeBackgroundColor: ScanbotColor("?sbColorWarning"),
activeForegroundColor: ScanbotColor("#1C1B1F"))),
viewFinder: json.containsKey("viewFinder")
? PermanentViewFinderConfiguration.fromJson(
json["viewFinder"] as Map<String, dynamic>)
: PermanentViewFinderConfiguration(
style: FinderCorneredStyle(
strokeColor: ScanbotColor("?sbColorSurface"),
strokeWidth: 2.0),
aspectRatio: AspectRatio(width: 2.14, height: 1.0),
minimumInsets: ScanbotEdgeInsets(
top: 24.0, left: 24.0, bottom: 24.0, right: 24.0)),
scannerConfiguration: json.containsKey("scannerConfiguration")
? CheckScannerConfiguration.fromJson(
json["scannerConfiguration"] as Map<String, dynamic>)
: CheckScannerConfiguration(),
captureHighResolutionImage:
json.containsKey("captureHighResolutionImage")
? (json["captureHighResolutionImage"] as bool)
: false,
exampleOverlayVisible: json.containsKey("exampleOverlayVisible")
? (json["exampleOverlayVisible"] as bool)
: true,
scanningProgress: json.containsKey("scanningProgress")
? CheckScanningProgressConfiguration.fromJson(
json["scanningProgress"] as Map<String, dynamic>)
: CheckScanningProgressConfiguration(),
noCheckFoundTimeout: json.containsKey("noCheckFoundTimeout")
? (json["noCheckFoundTimeout"] as int)
: 5000,
accumulationTimeout: json.containsKey("accumulationTimeout")
? (json["accumulationTimeout"] as int)
: 3000,
successOverlay: json.containsKey("successOverlay")
? ScanCompletionOverlay.fromJson(
json["successOverlay"] as Map<String, dynamic>)
: ScanCompletionOverlay(),
noCheckDetectedAlertDialog:
json.containsKey("noCheckDetectedAlertDialog")
? ScanbotAlertDialog.fromJson(
json["noCheckDetectedAlertDialog"] as Map<String, dynamic>)
: ScanbotAlertDialog(
title: StyledText(
text: "?checkNoCheckDetectedAlertTitle",
color: ScanbotColor("?sbColorOnSurface")),
subtitle: StyledText(
text: "?checkNoCheckDetectedAlertSubtitle",
color: ScanbotColor("?sbColorOnSurfaceVariant")),
sheetColor: ScanbotColor("?sbColorSurface"),
modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
dividerColor: ScanbotColor("?sbColorOutline"),
okButton: ButtonConfiguration(
visible: true,
text: "?checkAlertRetryButton",
accessibilityDescription:
"?accessibilityDescriptionRetryButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("?sbColorPrimary"),
fillColor: ScanbotColor("?sbColorPrimary"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: true,
color: ScanbotColor("?sbColorOnPrimary"),
useShadow: false)),
cancelButton: ButtonConfiguration(
visible: true,
text: "?checkAlertCloseScannerButton",
accessibilityDescription:
"?accessibilityDescriptionCloseScannerButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorPrimary"),
useShadow: false))),
imageNotGoodAlertDialog: json.containsKey("imageNotGoodAlertDialog")
? ScanbotAlertDialog.fromJson(
json["imageNotGoodAlertDialog"] as Map<String, dynamic>)
: ScanbotAlertDialog(
title: StyledText(
text: "?checkImageNotGoodAlertTitle",
color: ScanbotColor("?sbColorOnSurface")),
subtitle: StyledText(
text: "?checkImageNotGoodAlertSubtitle",
color: ScanbotColor("?sbColorOnSurfaceVariant")),
sheetColor: ScanbotColor("?sbColorSurface"),
modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
dividerColor: ScanbotColor("?sbColorOutline"),
okButton: ButtonConfiguration(
visible: true,
text: "?checkAlertRetryButton",
accessibilityDescription:
"?accessibilityDescriptionRetryButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("?sbColorPrimary"),
fillColor: ScanbotColor("?sbColorPrimary"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: true,
color: ScanbotColor("?sbColorOnPrimary"),
useShadow: false)),
cancelButton: ButtonConfiguration(
visible: true,
text: "?checkAlertCloseScannerButton",
accessibilityDescription:
"?accessibilityDescriptionCloseScannerButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorPrimary"),
useShadow: false))),
sound: json.containsKey("sound")
? Sound.fromJson(json["sound"] as Map<String, dynamic>)
: Sound(),
vibration: json.containsKey("vibration")
? Vibration.fromJson(json["vibration"] as Map<String, dynamic>)
: Vibration(),
keepScreenOn: json.containsKey("keepScreenOn")
? (json["keepScreenOn"] as bool)
: true,
);