encodeSystemUiOverlayStyle static method

dynamic encodeSystemUiOverlayStyle(
  1. SystemUiOverlayStyle? value
)

Encodes the given value to the JSON representation or a String representation. Supported values are:

  • dark
  • light

... or an object of the form...

{
  "statusBarBrightness": "<Brightness>",
  "statusBarColor": "<Color>",
  "statusBarIconBrightness": "<Brightness>",
  "systemNavigationBarColor": "<Color>",
  "systemNavigationBarContrastEnforced": "<bool>",
  "systemNavigationBarDividerColor": "<Color>",
  "systemNavigationBarIconBrightness": "<Brightness>",
  "systemStatusBarContrastEnforced': <bool>"
}

All other values, including null, will result in null.

Implementation

static dynamic encodeSystemUiOverlayStyle(
  SystemUiOverlayStyle? value,
) {
  dynamic result;

  if (value != null) {
    if (value == SystemUiOverlayStyle.dark) {
      result = 'dark';
    } else if (value == SystemUiOverlayStyle.light) {
      result = 'light';
    } else {
      result = {
        'statusBarBrightness': encodeBrightness(value.statusBarBrightness),
        'statusBarColor': encodeColor(value.statusBarColor),
        'statusBarIconBrightness': encodeBrightness(
          value.statusBarIconBrightness,
        ),
        'systemNavigationBarColor': encodeColor(
          value.systemNavigationBarColor,
        ),
        'systemNavigationBarContrastEnforced':
            value.systemNavigationBarContrastEnforced,
        'systemNavigationBarDividerColor': encodeColor(
          value.systemNavigationBarDividerColor,
        ),
        'systemNavigationBarIconBrightness': encodeBrightness(
          value.systemNavigationBarIconBrightness,
        ),
        'systemStatusBarContrastEnforced':
            value.systemStatusBarContrastEnforced,
      };
    }
  }

  return result is Map<String, dynamic> ? _stripNull(result) : result;
}