resetAllToDefaults method

Future<void> resetAllToDefaults({
  1. bool resetMode = true,
  2. bool doNotify = true,
})

Reset all values to default values and save as current settings.

Calls setters with notify = false, and calls notifyListeners once after all values have been reset and persisted.

The reset to default actually, sets and persist all property values that deviates from its defined default value. Only values that actually deviate from their default value are changed. The property setters manage this. They are all set with no notification and notifyListeners() is only called once, after all updates have been made.

Does not reset the custom colors to their default, only theme settings. We keep the custom colors at their specified values even if theme settings are reset. There is a separate function to reset the custom colors.

Implementation

Future<void> resetAllToDefaults({
  /// If false, theme mode & scheme index are not reset.
  bool resetMode = true,
  // If false, notifyListeners is not called.
  bool doNotify = true,
}) async {
  //
  // GENERAL SETTINGS.
  // ThemeMode, use FlexColorScheme and sub-themes, current scheme, view, etc.
  if (resetMode) setThemeMode(Store.defaultThemeMode, false);
  setUsedVisualDensity(Store.defaultUsedVisualDensity, false);
  setUseFlexColorScheme(Store.defaultUseFlexColorScheme, false);
  setUseSubThemes(Store.defaultUseSubThemes, false);
  setUseFlutterDefaults(Store.defaultUseFlutterDefaults, false);
  //
  setAdaptiveRemoveElevationTintLight(Store.defaultAdaptiveRemoveElevationTintLight, false);
  setAdaptiveElevationShadowsBackLight(Store.defaultAdaptiveElevationShadowsBackLight, false);
  setAdaptiveAppBarScrollUnderOffLight(Store.defaultAdaptiveAppBarScrollUnderOffLight, false);
  setAdaptiveRemoveElevationTintDark(Store.defaultAdaptiveRemoveElevationTintDark, false);
  setAdaptiveElevationShadowsBackDark(Store.defaultAdaptiveElevationShadowsBackDark, false);
  setAdaptiveAppBarScrollUnderOffDark(Store.defaultAdaptiveAppBarScrollUnderOffDark, false);
  setAdaptiveRadius(Store.defaultAdaptiveRadius, false);
  //
  setAdaptiveSplash(Store.defaultAdaptiveSplash, false);
  setSplashType(Store.defaultSplashType, false);
  setSplashTypeAdaptive(Store.defaultSplashTypeAdaptive, false);
  //
  // The IsLargeGridView and ViewIndex settings are never reset to default in
  // a reset, we always keep the current screen and panel on page/panel view.
  setUseTextTheme(Store.defaultUseTextTheme, false);
  setUseM2StyleDividerInM3(Store.defaultUseM2StyleDividerInM3, false);
  setUseAppFont(Store.defaultUseAppFont, false);
  setUsedScheme(Store.defaultUsedScheme, false);
  if (resetMode) setSchemeIndex(Store.defaultSchemeIndex, false);
  setInteractionEffects(Store.defaultInteractionEffects, false);
  setTintedDisabledControls(Store.defaultTintedDisabledControls, false);
  //
  setDefaultRadius(Store.defaultDefaultRadius, false);
  setDefaultRadiusAdaptive(Store.defaultDefaultRadiusAdaptive, false);
  setThinBorderWidth(Store.defaultThinBorderWidth, false);
  setThickBorderWidth(Store.defaultThickBorderWidth, false);
  setTooltipsMatchBackground(Store.defaultTooltipsMatchBackground, false);
  //
  // Surface and blend SETTINGS.
  setSurfaceModeLight(Store.defaultSurfaceModeLight, false);
  setSurfaceModeDark(Store.defaultSurfaceModeDark, false);
  setBlendLevel(Store.defaultBlendLevel, false);
  setBlendLevelDark(Store.defaultBlendLevelDark, false);
  setBlendOnLevel(Store.defaultBlendOnLevel, false);
  setBlendOnLevelDark(Store.defaultBlendOnLevelDark, false);
  setUsedColors(Store.defaultUsedColors, false);
  setSwapLegacyColors(Store.defaultSwapLegacyColors, false);
  setSwapLightColors(Store.defaultSwapLightColors, false);
  setSwapDarkColors(Store.defaultSwapDarkColors, false);
  setLightIsWhite(Store.defaultLightIsWhite, false);
  setDarkIsTrueBlack(Store.defaultDarkIsTrueBlack, false);
  setUseToDarkMethod(Store.defaultUseToDarkMethod, false);
  setToDarkSwapPrimaryAndContainer(Store.defaultToDarkSwapPrimaryAndContainer, false);
  setDarkMethodLevel(Store.defaultDarkMethodLevel, false);
  setBlendLightOnColors(Store.defaultBlendLightOnColors, false);
  setBlendDarkOnColors(Store.defaultBlendDarkOnColors, false);
  setBlendLightTextTheme(Store.defaultBlendLightTextTheme, false);
  setBlendDarkTextTheme(Store.defaultBlendDarkTextTheme, false);
  //
  // Material 3 and Seed ColorScheme SETTINGS.
  setUseMaterial3(Store.defaultUseMaterial3, false);
  setPaletteType(Store.defaultPaletteType, false);
  setUseKeyColors(Store.defaultUseKeyColors, false);
  setUseSecondary(Store.defaultUseSecondary, false);
  setUseTertiary(Store.defaultUseTertiary, false);
  setKeepPrimary(Store.defaultKeepPrimary, false);
  setKeepSecondary(Store.defaultKeepSecondary, false);
  setKeepTertiary(Store.defaultKeepTertiary, false);
  setKeepPrimaryContainer(Store.defaultKeepPrimaryContainer, false);
  setKeepSecondaryContainer(Store.defaultKeepSecondaryContainer, false);
  setKeepTertiaryContainer(Store.defaultKeepTertiaryContainer, false);
  setKeepDarkPrimary(Store.defaultKeepDarkPrimary, false);
  setKeepDarkSecondary(Store.defaultKeepDarkSecondary, false);
  setKeepDarkTertiary(Store.defaultKeepDarkTertiary, false);
  setKeepDarkPrimaryContainer(Store.defaultKeepDarkPrimaryContainer, false);
  setKeepDarkSecondaryContainer(Store.defaultKeepDarkSecondaryContainer, false);
  setKeepDarkTertiaryContainer(Store.defaultKeepDarkTertiaryContainer, false);
  setUsedFlexToneSetup(Store.defaultUsedFlexToneSetup, false);
  setUseM3ErrorColors(Store.defaultUseM3ErrorColors, false);
  //
  setOnMainsUseBWLight(Store.defaultOnMainsUseBWLight, false);
  setOnMainsUseBWDark(Store.defaultOnMainsUseBWDark, false);
  setOnSurfacesUseBWLight(Store.defaultOnSurfacesUseBWLight, false);
  setOnSurfacesUseBWDark(Store.defaultOnSurfacesUseBWDark, false);
  setSurfacesUseBWLight(Store.defaultSurfacesUseBWLight, false);
  setSurfacesUseBWDark(Store.defaultSurfacesUseBWDark, false);
  //
  // InputDecorator SETTINGS.
  await setTextFieldToDefaults(false);
  //
  // AppBar SETTINGS.
  setAppBarStyleLight(Store.defaultAppBarStyleLight, false);
  setAppBarStyleDark(Store.defaultAppBarStyleDark, false);
  setAppBarOpacityLight(Store.defaultAppBarOpacityLight, false);
  setAppBarOpacityDark(Store.defaultAppBarOpacityDark, false);
  setAppBarElevationLight(Store.defaultAppBarElevationLight, false);
  setAppBarElevationDark(Store.defaultAppBarElevationDark, false);
  setAppBarScrolledUnderElevationLight(Store.defaultAppBarScrolledUnderElevationLight, false);
  setAppBarScrolledUnderElevationDark(Store.defaultAppBarScrolledUnderElevationDark, false);
  setBottomAppBarElevationLight(Store.defaultBottomAppBarElevationLight, false);
  setBottomAppBarElevationDark(Store.defaultBottomAppBarElevationDark, false);
  setTransparentStatusBar(Store.defaultTransparentStatusBar, false);
  setAppBarBackgroundSchemeColorLight(Store.defaultAppBarBackgroundSchemeColorLight, false);
  setAppBarBackgroundSchemeColorDark(Store.defaultAppBarBackgroundSchemeColorDark, false);
  //
  // BottomAppBar SETTINGS.
  setBottomAppBarSchemeColor(Store.defaultBottomAppBarSchemeColor, false);
  //
  // TabBar SETTINGS.
  setTabBarStyle(Store.defaultTabBarStyle, false);
  setTabBarIndicatorLight(Store.defaultTabBarIndicatorLight, false);
  setTabBarIndicatorDark(Store.defaultTabBarIndicatorDark, false);
  setTabBarItemSchemeColorLight(Store.defaultTabBarItemSchemeColorLight, false);
  setTabBarItemSchemeColorDark(Store.defaultTabBarItemSchemeColorDark, false);
  setTabBarUnselectedItemSchemeColorLight(Store.defaultTabBarUnselectedItemSchemeColorLight, false);
  setTabBarUnselectedItemSchemeColorDark(Store.defaultTabBarUnselectedItemSchemeColorDark, false);
  setTabBarUnselectedItemOpacityLight(Store.defaultTabBarUnselectedItemOpacityLight, false);
  setTabBarUnselectedItemOpacityDark(Store.defaultTabBarUnselectedItemOpacityDark, false);
  setTabBarIndicatorSize(Store.defaultTabBarIndicatorSize, false);
  setTabBarIndicatorWeight(Store.defaultTabBarIndicatorWeight, false);
  setTabBarIndicatorTopRadius(Store.defaultTabBarIndicatorTopRadius, false);
  setTabBarDividerColor(Store.defaultTabBarDividerColor, false);
  //
  // Drawer SETTINGS.
  setDrawerBorderRadius(Store.defaultDrawerBorderRadius, false);
  setDrawerElevation(Store.defaultDrawerElevation, false);
  setDrawerBackgroundSchemeColor(Store.defaultDrawerBackgroundSchemeColor, false);
  setDrawerWidth(Store.defaultDrawerWidth, false);
  setDrawerIndicatorWidth(Store.defaultDrawerIndicatorWidth, false);
  setDrawerIndicatorBorderRadius(Store.defaultDrawerIndicatorBorderRadius, false);
  setDrawerIndicatorSchemeColor(Store.defaultDrawerIndicatorSchemeColor, false);
  setDrawerIndicatorOpacity(Store.defaultDrawerIndicatorOpacity, false);
  setDrawerSelectedItemSchemeColor(Store.defaultDrawerSelectedItemSchemeColor, false);
  setDrawerUnselectedItemSchemeColor(Store.defaultDrawerUnselectedItemSchemeColor, false);
  //
  // BottomSheet SETTINGS.
  setBottomSheetSchemeColor(Store.defaultBottomSheetSchemeColor, false);
  setBottomSheetElevation(Store.defaultBottomSheetElevation, false);
  setBottomSheetModalSchemeColor(Store.defaultBottomSheetModalSchemeColor, false);
  setBottomSheetModalElevation(Store.defaultBottomSheetModalElevation, false);
  setBottomSheetBorderRadius(Store.defaultBottomSheetBorderRadius, false);
  //
  // Android System Navigator bar SETTINGS.
  setSysNavBarStyle(Store.defaultSysNavBarStyle, false);
  setSysBarOpacity(Store.defaultSysBarOpacity, false);
  setUseSysNavDivider(Store.defaultUseSysNavDivider, false);
  //
  // BottomNavigationBar SETTINGS.
  setBottomNavBarBackgroundSchemeColor(Store.defaultBottomNavBarBackgroundSchemeColor, false);
  setBottomNavigationBarOpacity(Store.defaultBottomNavigationBarOpacity, false);
  setBottomNavigationBarElevation(Store.defaultBottomNavigationBarElevation, false);
  setBottomNavBarSelectedSchemeColor(Store.defaultBottomNavBarSelectedItemSchemeColor, false);
  setBottomNavBarUnselectedSchemeColor(Store.defaultBottomNavBarUnselectedSchemeColor, false);
  setBottomNavBarMuteUnselected(Store.defaultBottomNavBarMuteUnselected, false);
  setBottomNavShowSelectedLabels(Store.defaultBottomNavShowSelectedLabels, false);
  setBottomNavShowUnselectedLabels(Store.defaultBottomNavShowUnselectedLabels, false);
  //
  // Menu, MenuBar and MenuButton SETTINGS.
  setMenuRadius(Store.defaultMenuRadius, false);
  setMenuElevation(Store.defaultMenuElevation, false);
  setMenuOpacity(Store.defaultMenuOpacity, false);
  setMenuPaddingStart(Store.defaultMenuPaddingStart, false);
  setMenuPaddingEnd(Store.defaultMenuPaddingEnd, false);
  setMenuPaddingTop(Store.defaultMenuPaddingTop, false);
  setMenuPaddingBottom(Store.defaultMenuPaddingBottom, false);
  setMenuSchemeColor(Store.defaultMenuSchemeColor, false);
  //
  setMenuBarBackgroundSchemeColor(Store.defaultMenuBarBackgroundSchemeColor, false);
  setMenuBarRadius(Store.defaultMenuBarRadius, false);
  setMenuBarElevation(Store.defaultMenuBarElevation, false);
  setMenuBarShadowColor(Store.defaultMenuBarShadowColor, false);
  //
  setMenuItemBackgroundSchemeColor(Store.defaultMenuItemBackgroundSchemeColor, false);
  setMenuItemForegroundSchemeColor(Store.defaultMenuItemForegroundSchemeColor, false);
  setMenuIndicatorBackgroundSchemeColor(Store.defaultMenuIndicatorBackgroundSchemeColor, false);
  setMenuIndicatorForegroundSchemeColor(Store.defaultMenuIndicatorForegroundSchemeColor, false);
  setMenuIndicatorRadius(Store.defaultMenuIndicatorRadius, false);
  //
  // NavigationBar SETTINGS.
  setNavBarBackgroundSchemeColor(Store.defaultNavBarBackgroundSchemeColor, false);
  setNavBarOpacity(Store.defaultNavBarOpacity, false);
  setNavBarElevation(Store.defaultNavigationBarElevation, false);
  setNavBarHeight(Store.defaultNavBarHeight, false);
  setNavBarSelectedIconSchemeColor(Store.defaultNavBarSelectedIconSchemeColor, false);
  setNavBarSelectedLabelSchemeColor(Store.defaultNavBarSelectedLabelSchemeColor, false);
  setNavBarUnselectedSchemeColor(Store.defaultNavBarUnselectedSchemeColor, false);
  setNavBarMuteUnselected(Store.defaultNavBarMuteUnselected, false);
  setNavBarIndicatorSchemeColor(Store.defaultNavBarIndicatorSchemeColor, false);
  setNavBarIndicatorOpacity(Store.defaultNavBarIndicatorOpacity, false);
  setNavBarIndicatorBorderRadius(Store.defaultNavBarIndicatorBorderRadius, false);
  setNavBarLabelBehavior(Store.defaultNavBarLabelBehavior, false);
  setAdaptiveRemoveNavigationBarTintLight(Store.defaultAdaptiveRemoveNavigationBarTintLight, false);
  setAdaptiveRemoveNavigationBarTintDark(Store.defaultAdaptiveRemoveNavigationBarTintDark, false);
  //
  // NavigationRail SETTINGS.
  setNavRailBackgroundSchemeColor(Store.defaultNavRailBackgroundSchemeColor, false);
  setNavRailOpacity(Store.defaultNavRailOpacity, false);
  setNavRailElevation(Store.defaultNavRailElevation, false);
  setNavRailSelectedIconSchemeColor(Store.defaultNavRailSelectedIconSchemeColor, false);
  setNavRailSelectedLabelSchemeColor(Store.defaultNavRailSelectedLabelSchemeColor, false);
  setNavRailUnselectedSchemeColor(Store.defaultNavRailUnselectedSchemeColor, false);
  setNavRailMuteUnselected(Store.defaultNavRailMuteUnselected, false);
  setNavRailLabelType(Store.defaultNavRailLabelType, false);
  setNavRailUseIndicator(Store.defaultNavRailUseIndicator, false);
  setNavRailIndicatorSchemeColor(Store.defaultNavRailIndicatorSchemeColor, false);
  setNavRailIndicatorOpacity(Store.defaultNavRailIndicatorOpacity, false);
  setNavRailIndicatorBorderRadius(Store.defaultNavRailIndicatorBorderRadius, false);
  //
  // Button SETTINGS.
  setTextButtonSchemeColor(Store.defaultTextButtonSchemeColor, false);
  setTextButtonBorderRadius(Store.defaultTextButtonBorderRadius, false);
  //
  setFilledButtonSchemeColor(Store.defaultFilledButtonSchemeColor, false);
  setFilledButtonBorderRadius(Store.defaultFilledButtonBorderRadius, false);
  //
  setElevatedButtonSchemeColor(Store.defaultElevatedButtonSchemeColor, false);
  setElevatedButtonSecondarySchemeColor(Store.defaultElevatedButtonSecondarySchemeColor, false);
  setElevatedButtonBorderRadius(Store.defaultElevatedButtonBorderRadius, false);
  //
  setOutlinedButtonSchemeColor(Store.defaultOutlinedButtonSchemeColor, false);
  setOutlinedButtonOutlineSchemeColor(Store.defaultOutlinedButtonOutlineSchemeColor, false);
  setOutlinedButtonBorderRadius(Store.defaultOutlinedButtonBorderRadius, false);
  setOutlinedButtonBorderWidth(Store.defaultOutlinedButtonBorderWidth, false);
  setOutlinedButtonPressedBorderWidth(Store.defaultOutlinedButtonPressedBorderWidth, false);
  //
  setToggleButtonsSchemeColor(Store.defaultToggleButtonsSchemeColor, false);
  setToggleButtonsUnselectedSchemeColor(Store.defaultToggleButtonsUnselectedSchemeColor, false);
  setToggleButtonsBorderSchemeColor(Store.defaultToggleButtonsBorderSchemeColor, false);
  setToggleButtonsBorderRadius(Store.defaultToggleButtonsBorderRadius, false);
  setToggleButtonsBorderWidth(Store.defaultToggleButtonsBorderWidth, false);
  //
  setSegmentedButtonSchemeColor(Store.defaultSegmentedButtonSchemeColor, false);
  setSegmentedButtonUnselectedSchemeColor(Store.defaultSegmentedButtonUnselectedSchemeColor, false);
  setSegmentedButtonUnselectedForegroundSchemeColor(Store.defaultSegmentedButtonUnselectedForegroundSchemeColor, false);
  setSegmentedButtonBorderSchemeColor(Store.defaultSegmentedButtonBorderSchemeColor, false);
  setSegmentedButtonBorderRadius(Store.defaultSegmentedButtonBorderRadius, false);
  setSegmentedButtonBorderWidth(Store.defaultSegmentedButtonBorderWidth, false);
  //
  // Switch, CheckBox and Radio SETTINGS.
  setUnselectedToggleIsColored(Store.defaultUnselectedToggleIsColored, false);
  setSwitchSchemeColor(Store.defaultSwitchSchemeColor, false);
  setSwitchThumbSchemeColor(Store.defaultSwitchThumbSchemeColor, false);
  setSwitchThumbFixedSize(Store.defaultSwitchThumbFixedSize, false);
  setCheckboxSchemeColor(Store.defaultCheckboxSchemeColor, false);
  setRadioSchemeColor(Store.defaultRadioSchemeColor, false);
  //
  // Slider SETTINGS.
  setSliderBaseSchemeColor(Store.defaultSliderBaseSchemeColor, false);
  setSliderIndicatorSchemeColor(Store.defaultSliderIndicatorSchemeColor, false);
  setSliderValueTinted(Store.defaultSliderValueTinted, false);
  setSliderValueIndicatorType(Store.defaultSliderValueIndicatorType, false);
  setSliderShowValueIndicator(Store.defaultSliderShowValueIndicator, false);
  setSliderTrackHeight(Store.defaultSliderTrackHeight, false);
  //
  // Fab SETTINGS.
  setFabUseShape(Store.defaultFabUseShape, false);
  setFabAlwaysCircular(Store.defaultFabAlwaysCircular, false);
  setFabBorderRadius(Store.defaultFabBorderRadius, false);
  setFabSchemeColor(Store.defaultFabSchemeColor, false);
  //
  // Chip SETTINGS.
  setChipSchemeColor(Store.defaultChipSchemeColor, false);
  setChipSelectedSchemeColor(Store.defaultChipSelectedSchemeColor, false);
  setChipDeleteIconSchemeColor(Store.defaultChipDeleteIconSchemeColor, false);
  setChipBorderRadius(Store.defaultChipBorderRadius, false);
  //
  // SnackBar SETTINGS.
  setSnackBarElevation(Store.defaultSnackBarElevation, false);
  setSnackBarBorderRadius(Store.defaultSnackBarBorderRadius, false);
  setSnackBarSchemeColor(Store.defaultSnackBarSchemeColor, false);
  setSnackBarActionSchemeColor(Store.defaultSnackBarActionSchemeColor, false);
  //
  // PopupMenuButton SETTINGS.
  setPopupMenuSchemeColor(Store.defaultPopupMenuSchemeColor, false);
  setPopupMenuOpacity(Store.defaultPopupMenuOpacity, false);
  setPopupMenuBorderRadius(Store.defaultPopupMenuBorderRadius, false);
  setPopupMenuElevation(Store.defaultPopupMenuElevation, false);
  //
  // DropdownButton SETTINGS
  setAlignedDropdown(Store.defaultAlignedDropdown, false);
  //
  // Card SETTINGS.
  setCardBorderRadius(Store.defaultCardBorderRadius, false);
  //
  // Dialog SETTINGS.
  setDialogBackgroundSchemeColor(Store.defaultDialogBackgroundSchemeColor, false);
  setDatePickerHeaderBackgroundSchemeColor(Store.defaultDatePickerHeaderBackgroundSchemeColor, false);
  setUseInputDecoratorThemeInDialogs(Store.defaultUseInputDecoratorThemeInDialogs, false);
  setAdaptiveDialogRadius(Store.defaultAdaptiveDialogRadius, false);
  setDialogBorderRadius(Store.defaultDialogBorderRadius, false);
  setDialogBorderRadiusAdaptive(Store.defaultDialogBorderRadiusAdaptive, false);
  setTimePickerDialogBorderRadius(Store.defaultTimePickerDialogBorderRadius, false);
  setDatePickerDialogBorderRadius(Store.defaultDatePickerDialogBorderRadius, false);
  setTimePickerElementRadius(Store.defaultTimePickerElementRadius, false);
  setDialogElevation(Store.defaultDialogElevation, false);
  //
  // Tooltip SETTINGS.
  setTooltipRadius(Store.defaultTooltipRadius, false);
  setTooltipWaitDuration(Store.defaultTooltipWaitDuration, false);
  setTooltipShowDuration(Store.defaultTooltipShowDuration, false);
  setTooltipSchemeColor(Store.defaultTooltipSchemeColor, false);
  setTooltipOpacity(Store.defaultTooltipOpacity, false);
  //
  // Surface tint colors.
  setSurfaceTintLight(Store.defaultSurfaceTintLight, false);
  setSurfaceTintDark(Store.defaultSurfaceTintDark, false);
  //
  // Not persisted, locally controlled popup selection for ThemeService,
  // resets to actual used platform when settings are reset or app loaded.
  setPlatform(null, false);
  setFakeIsWeb(null, false);

  // Only notify at end, if asked to do so, to do so is default.
  if (doNotify) notifyListeners();
}