decodeSystemUiOverlayStyle static method
Decodes a value
to a SystemUiOverlayStyle. Supported values are:
dark
light
Implementation
static SystemUiOverlayStyle? decodeSystemUiOverlayStyle(
dynamic value, {
bool validate = true,
}) {
SystemUiOverlayStyle? result;
if (value is SystemUiOverlayStyle) {
result = value;
} else if (value is Map) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/system_ui_overlay_style',
value: value,
validate: validate,
));
result = SystemUiOverlayStyle(
statusBarBrightness: decodeBrightness(
value['statusBarBrightness'],
validate: false,
),
statusBarColor: decodeColor(
value['statusBarColor'],
validate: false,
),
statusBarIconBrightness: decodeBrightness(
value['statusBarIconBrightness'],
validate: false,
),
systemNavigationBarColor: decodeColor(
value['systemNavigationBarColor'],
validate: false,
),
systemNavigationBarContrastEnforced: JsonClass.maybeParseBool(
value['systemNavigationBarContrastEnforced'],
),
systemNavigationBarDividerColor: decodeColor(
value['systemNavigationBarDividerColor'],
validate: false,
),
systemNavigationBarIconBrightness: decodeBrightness(
value['systemNavigationBarIconBrightness'],
validate: false,
),
systemStatusBarContrastEnforced: JsonClass.maybeParseBool(
value['systemStatusBarContrastEnforced'],
),
);
} else {
_checkSupported(
'SystemUiOverlayStyle',
[
'dark',
'light',
],
value,
);
if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/system_ui_overlay_style',
value: value,
validate: validate,
));
switch (value) {
case 'dark':
result = SystemUiOverlayStyle.dark;
break;
case 'light':
result = SystemUiOverlayStyle.light;
break;
}
}
}
return result;
}