resolveThemeSetting function

ThemeName resolveThemeSetting(
  1. ThemeSetting setting
)

Resolve a ThemeSetting to a concrete ThemeName.

Implementation

ThemeName resolveThemeSetting(ThemeSetting setting) {
  if (setting == ThemeSetting.auto) {
    return getSystemThemeName() == SystemTheme.light
        ? ThemeName.light
        : ThemeName.dark;
  }
  // Map ThemeSetting values to ThemeName
  switch (setting) {
    case ThemeSetting.dark:
      return ThemeName.dark;
    case ThemeSetting.light:
      return ThemeName.light;
    case ThemeSetting.lightDaltonized:
      return ThemeName.lightDaltonized;
    case ThemeSetting.darkDaltonized:
      return ThemeName.darkDaltonized;
    case ThemeSetting.lightAnsi:
      return ThemeName.lightAnsi;
    case ThemeSetting.darkAnsi:
      return ThemeName.darkAnsi;
    case ThemeSetting.auto:
      // Already handled above, but required for exhaustive switch
      return ThemeName.dark;
  }
}