setBrightness method

  1. @override
Future<void> setBrightness(
  1. double brightness
)
override

Sets the screen brightness. brightness must be between 0.0 and 1.0.

Implementation

@override
Future<void> setBrightness(double brightness) async {
  _simulatedBrightness = brightness.clamp(0.0, 1.0);
  _ensureDimmer();

  // We invert the value because 1.0 brightness = 0.0 opacity (clear)
  // and 0.0 brightness = 1.0 opacity (black)
  // However, 100% black makes the screen unreadable. We cap it at 0.9.
  final opacity = (1.0 - _simulatedBrightness) * 0.9;
  _dimmerElement!.style.opacity = opacity.toString();
  _brightnessController.add(_simulatedBrightness);
}