From 76f0764d270966786e77db1f63e23f03a8e47e8a Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 30 Nov 2024 21:54:22 +0100 Subject: [PATCH] #1319 guard against uninitialized system brightness in some environments --- lib/widgets/aves_app.dart | 17 +++++++++++------ lib/widgets/viewer/entry_viewer_stack.dart | 17 +++++++++++------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index 0f33520cf..a72988003 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -560,12 +560,17 @@ class _AvesAppState extends State with WidgetsBindingObserver { void _applyDisplayRefreshRateMode() => settings.displayRefreshRateMode.apply(); void _applyMaxBrightness() { - switch (settings.maxBrightness) { - case MaxBrightness.never: - case MaxBrightness.viewerOnly: - AvesApp.screenBrightness?.resetApplicationScreenBrightness(); - case MaxBrightness.always: - AvesApp.screenBrightness?.setApplicationScreenBrightness(1); + try { + switch (settings.maxBrightness) { + case MaxBrightness.never: + case MaxBrightness.viewerOnly: + AvesApp.screenBrightness?.resetApplicationScreenBrightness(); + case MaxBrightness.always: + AvesApp.screenBrightness?.setApplicationScreenBrightness(1); + } + } on PlatformException catch (e, stack) { + // `screen_brightness` plugin may fail + reportService.recordError(e, stack); } } diff --git a/lib/widgets/viewer/entry_viewer_stack.dart b/lib/widgets/viewer/entry_viewer_stack.dart index 1ecf6f3c2..752fbff57 100644 --- a/lib/widgets/viewer/entry_viewer_stack.dart +++ b/lib/widgets/viewer/entry_viewer_stack.dart @@ -912,12 +912,17 @@ class _EntryViewerStackState extends State with EntryViewContr await viewerController.stopCast(); - switch (settings.maxBrightness) { - case MaxBrightness.never: - case MaxBrightness.viewerOnly: - await AvesApp.screenBrightness?.resetApplicationScreenBrightness(); - case MaxBrightness.always: - await AvesApp.screenBrightness?.setApplicationScreenBrightness(1); + try { + switch (settings.maxBrightness) { + case MaxBrightness.never: + case MaxBrightness.viewerOnly: + await AvesApp.screenBrightness?.resetApplicationScreenBrightness(); + case MaxBrightness.always: + 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) { await windowService.keepScreenOn(false);