build method

  1. @override
ThemeMode build()

Initialize a Notifier.

It is safe to use Ref.watch or Ref.listen inside this method.

If a dependency of this Notifier (when using Ref.watch) changes, then build will be re-executed. On the other hand, the Notifier will not be recreated. Its instance will be preserved between executions of build.

If this method throws, reading this provider will rethrow the error.

Implementation

@override
ThemeMode build() {
  final backgroundImageObject =
      ref.watch(decorationPaletteStateProvider).backgroundImage;

  final backgroundImageData =
      backgroundImageObject.data as DecorationBackgroundImage;

  final backgroundImageFile = backgroundImageData.backgroundImageFile;

  if (backgroundImageFile == null) {
    return ThemeMode.dark;
  }

  final data = getThemeFromImage(backgroundImageFile);
  return data;
}