#1319 guard against uninitialized system brightness in some environments

This commit is contained in:
Thibault Deckers 2024-11-30 21:54:22 +01:00
parent d02e6cc693
commit 76f0764d27
2 changed files with 22 additions and 12 deletions

View file

@ -560,6 +560,7 @@ class _AvesAppState extends State<AvesApp> with WidgetsBindingObserver {
void _applyDisplayRefreshRateMode() => settings.displayRefreshRateMode.apply(); void _applyDisplayRefreshRateMode() => settings.displayRefreshRateMode.apply();
void _applyMaxBrightness() { void _applyMaxBrightness() {
try {
switch (settings.maxBrightness) { switch (settings.maxBrightness) {
case MaxBrightness.never: case MaxBrightness.never:
case MaxBrightness.viewerOnly: case MaxBrightness.viewerOnly:
@ -567,6 +568,10 @@ class _AvesAppState extends State<AvesApp> with WidgetsBindingObserver {
case MaxBrightness.always: case MaxBrightness.always:
AvesApp.screenBrightness?.setApplicationScreenBrightness(1); AvesApp.screenBrightness?.setApplicationScreenBrightness(1);
} }
} on PlatformException catch (e, stack) {
// `screen_brightness` plugin may fail
reportService.recordError(e, stack);
}
} }
void _applyKeepScreenOn() => settings.keepScreenOn.apply(); void _applyKeepScreenOn() => settings.keepScreenOn.apply();

View file

@ -912,6 +912,7 @@ class _EntryViewerStackState extends State<EntryViewerStack> with EntryViewContr
await viewerController.stopCast(); await viewerController.stopCast();
try {
switch (settings.maxBrightness) { switch (settings.maxBrightness) {
case MaxBrightness.never: case MaxBrightness.never:
case MaxBrightness.viewerOnly: case MaxBrightness.viewerOnly:
@ -919,6 +920,10 @@ class _EntryViewerStackState extends State<EntryViewerStack> with EntryViewContr
case MaxBrightness.always: case MaxBrightness.always:
await AvesApp.screenBrightness?.setApplicationScreenBrightness(1); await AvesApp.screenBrightness?.setApplicationScreenBrightness(1);
} }
} on PlatformException catch (e, stack) {
// `screen_brightness` plugin may fail
unawaited(reportService.recordError(e, stack));
}
if (settings.keepScreenOn == KeepScreenOn.viewerOnly) { if (settings.keepScreenOn == KeepScreenOn.viewerOnly) {
await windowService.keepScreenOn(false); await windowService.keepScreenOn(false);
} }