handlePlatformBrightnessChanged method

  1. @override
void handlePlatformBrightnessChanged()
override

Called when the platform brightness changes.

The current platform brightness can be queried from a Flutter binding or from a MediaQuery widget. The latter is preferred from widgets because it causes the widget to be automatically rebuilt when the brightness changes.

Querying MediaQuery.platformBrightnessOf directly. Preferred.
link
final Brightness brightness = MediaQuery.platformBrightnessOf(context);

link
final Brightness brightness = WidgetsBinding.instance.platformDispatcher.platformBrightness;

See dart:ui.PlatformDispatcher.onPlatformBrightnessChanged.

Implementation

@override
void handlePlatformBrightnessChanged() {
  super.handlePlatformBrightnessChanged();
  for (final observer in List<WidgetsBindingObserver>.of(_observers)) {
    try {
      observer.didChangePlatformBrightness();
    } catch (exception, stack) {
      FlutterError.reportError(
        FlutterErrorDetails(
          exception: exception,
          stack: stack,
          library: 'widgets library',
          context: ErrorDescription(
            'while dispatching notifications for WidgetsBindingObserver.didChangePlatformBrightness',
          ),
        ),
      );
    }
  }
}