From 26fdd0cfd04b2592af9fa701a1e61089469f9156 Mon Sep 17 00:00:00 2001 From: Vadim <44135514+vodemn@users.noreply.github.com> Date: Sat, 18 Feb 2023 20:15:49 +0300 Subject: [PATCH] fixed --- lib/screens/metering/bloc_metering.dart | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/lib/screens/metering/bloc_metering.dart b/lib/screens/metering/bloc_metering.dart index f9d49bb..6078e3e 100644 --- a/lib/screens/metering/bloc_metering.dart +++ b/lib/screens/metering/bloc_metering.dart @@ -122,19 +122,9 @@ class MeteringBloc extends Bloc { } List _buildExposureValues(double ev) { - late final int evSteps; - switch (stopType) { - case StopType.full: - evSteps = ev.floor(); - break; - case StopType.half: - evSteps = (ev / 0.5).floor(); - break; - case StopType.third: - evSteps = (ev / 0.3).floor(); - break; - } - final evOffset = + /// Depending on the `stopType` the exposure pairs list length is multiplied by 1,2 or 3 + final int evSteps = (ev * (stopType.index + 1)).round(); + final int evOffset = _shutterSpeedValues.indexOf(const ShutterSpeedValue(1, false, StopType.full)) - evSteps; late final int apertureOffset; @@ -147,7 +137,7 @@ class MeteringBloc extends Bloc { shutterSpeedOffset = 0; } - int itemsCount = min(_apertureValues.length + shutterSpeedOffset, + final int itemsCount = min(_apertureValues.length + shutterSpeedOffset, _shutterSpeedValues.length + apertureOffset) - max(apertureOffset, shutterSpeedOffset);