From 0583b07cb908fe9c30e41c33e685680cb6bf71eb Mon Sep 17 00:00:00 2001 From: Vadim <44135514+vodemn@users.noreply.github.com> Date: Thu, 4 May 2023 12:49:26 +0200 Subject: [PATCH] ML-53 Unsupported operation: Infinity or NaN toInt (#54) added `isNan` & `isInfinite` checks --- lib/screens/metering/bloc_metering.dart | 4 ++++ .../components/measure_button/widget_button_measure.dart | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/lib/screens/metering/bloc_metering.dart b/lib/screens/metering/bloc_metering.dart index 3f78928f..5b0d5843 100644 --- a/lib/screens/metering/bloc_metering.dart +++ b/lib/screens/metering/bloc_metering.dart @@ -166,6 +166,10 @@ class MeteringBloc extends Bloc { } List _buildExposureValues(double ev) { + if (ev.isNaN || ev.isInfinite) { + return List.empty(growable: false); + } + /// Depending on the `stopType` the exposure pairs list length is multiplied by 1,2 or 3 final int evSteps = (ev * (stopType.index + 1)).round(); diff --git a/lib/screens/metering/components/bottom_controls/components/measure_button/widget_button_measure.dart b/lib/screens/metering/components/bottom_controls/components/measure_button/widget_button_measure.dart index a29997ab..352990a1 100644 --- a/lib/screens/metering/components/bottom_controls/components/measure_button/widget_button_measure.dart +++ b/lib/screens/metering/components/bottom_controls/components/measure_button/widget_button_measure.dart @@ -92,6 +92,13 @@ class _EvValueText extends StatelessWidget { @override Widget build(BuildContext context) { + if (ev.isNaN || ev.isInfinite) { + return Icon( + Icons.error, + color: Theme.of(context).colorScheme.surface, + ); + } + final theme = Theme.of(context); return Text( '${ev.toStringAsFixed(1)}\n${S.of(context).ev}',