vodemn / m3_lightmeter

Lightmeter app inspired by Material 3 design system.
https://linktr.ee/vodemn
GNU General Public License v3.0
77 stars 5 forks source link

Equipment profiles issues #111

Closed vodemn closed 1 year ago

vodemn commented 1 year ago

Device:

App version 0.14.0

vodemn commented 1 year ago

The brightest aperture selected is f/1.7, but the brightest shown - f/1.8, even though there is no limitation by the shutter speed for this EV.

Screenshots

vodemn commented 1 year ago

Closing, as https://github.com/vodemn/m3_lightmeter/issues/111#issuecomment-1704391626 is due to f/1.7 being a 1/2 stop value and the displayed values are 1/3 stop. Therefore the next brightest aperture in that case is f/1.6.

vodemn commented 1 year ago

Reopening Exception caught when after hiding equipment profiles picker

  1. Go to settings
  2. Hide equipment profile picker
  3. Go back to the metering screen
Spoiler warning ```console ════════ Exception caught by widgets library ═══════════════════════════════════ The following assertion was thrown building MeteringScreenLayoutFeatureListener(dependencies: [_MeteringScreenLayoutModel], state: _MeteringScreenLayoutFeatureListenerState#e3f1a): setState() or markNeedsBuild() called during build. This EquipmentProfileProvider widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase. The widget on which setState() or markNeedsBuild() was called was: EquipmentProfileProvider dependencies: [IAPProducts] state: EquipmentProfileProviderState#2892e The widget which was currently being built when the offending call was made was: MeteringScreenLayoutFeatureListener dependencies: [_MeteringScreenLayoutModel] state: _MeteringScreenLayoutFeatureListenerState#e3f1a The relevant error-causing widget was MeteringScreenLayoutFeatureListener screen_metering.dart:80 When the exception was thrown, this was the stack #0 Element.markNeedsBuild. framework.dart:4651 #1 Element.markNeedsBuild framework.dart:4663 #2 State.setState framework.dart:1159 #3 EquipmentProfileProviderState.setProfile equipment_profile_provider.dart:70 #4 _InheritedListeners.build. screen_metering.dart:91 #5 _MeteringScreenLayoutFeatureListenerState.didChangeDependencies listener_metering_layout_feature.dart:40 #6 StatefulElement._firstBuild framework.dart:5237 #7 ComponentElement.mount framework.dart:5062 ... Normal element mounting (35 frames) #42 _InheritedProviderScopeElement.mount inherited_provider.dart:411 ```