@@ -38,7 +38,6 @@ class AccessibilityController extends DevToolsScreenController
3838 }
3939
4040 void _initListeners () {
41- addAutoDisposeListener (brightness, _onBrightnessChanged);
4241 addAutoDisposeListener (textScale, _onTextScaleChanged);
4342 addAutoDisposeListener (boldText, _onBoldTextChanged);
4443 addAutoDisposeListener (screenReader, _onScreenReaderChanged);
@@ -49,36 +48,29 @@ class AccessibilityController extends DevToolsScreenController
4948 final state = serviceConnection.serviceManager.serviceExtensionManager
5049 .getServiceExtensionState (extensions.brightnessMode.extension );
5150
52- void updateFromDeviceState (ServiceExtensionState s) {
53- final newBrightness = ! s.enabled || s.value == null
51+ void updateFromDevice (ServiceExtensionState s) {
52+ brightness.value = ! s.enabled || s.value == null
5453 ? BrightnessOverride .system
5554 : switch (s.value) {
5655 'Brightness.light' => BrightnessOverride .light,
5756 'Brightness.dark' => BrightnessOverride .dark,
5857 _ => BrightnessOverride .system,
5958 };
60- if (brightness.value != newBrightness) {
61- brightness.value = newBrightness;
62- }
6359 }
6460
65- updateFromDeviceState (state.value);
66- addAutoDisposeListener (
67- state,
68- () => updateFromDeviceState (state.value),
69- );
61+ updateFromDevice (state.value);
62+ addAutoDisposeListener (state, () => updateFromDevice (state.value));
7063 }
7164
72-
73-
74- void _onBrightnessChanged () {
75- final value = brightness.value;
65+ /// Called when the user changes the brightness override in the UI.
66+ void setBrightnessOverride (BrightnessOverride mode) {
67+ brightness.value = mode;
7668 // Values expected by Flutter framework's 'ext.flutter.brightnessOverride':
7769 // - 'Brightness.light': forces light mode
7870 // - 'Brightness.dark': forces dark mode
7971 // - '': any value other than 'Brightness.light' or 'Brightness.dark' clears
8072 // the override and resets to system default.
81- final paramValue = switch (value ) {
73+ final paramValue = switch (mode ) {
8274 BrightnessOverride .light => 'Brightness.light' ,
8375 BrightnessOverride .dark => 'Brightness.dark' ,
8476 BrightnessOverride .system => '' ,
@@ -87,7 +79,7 @@ class AccessibilityController extends DevToolsScreenController
8779 serviceConnection.serviceManager.serviceExtensionManager
8880 .setServiceExtensionState (
8981 extensions.brightnessMode.extension ,
90- enabled: value != BrightnessOverride .system,
82+ enabled: mode != BrightnessOverride .system,
9183 value: paramValue,
9284 ),
9385 );
0 commit comments