Compare commits

...

5 commits

Author SHA1 Message Date
Vadim
e044067a12
Merge c215d5fa77 into d6cd537ffd 2025-04-26 08:54:27 +00:00
Vadim
c215d5fa77 lint 2025-04-26 10:54:23 +02:00
Vadim
45c0f1564a fixed tests 2025-04-26 10:51:24 +02:00
Vadim
d6cd537ffd
Force code sign for iOS workflow (#230) 2025-04-02 11:58:21 +02:00
github-actions[bot]
91f90ae8e8 Release v1.0.4 2025-04-01 22:40:02 +00:00
5 changed files with 25 additions and 16 deletions

View file

@ -136,7 +136,7 @@ jobs:
- name: Build .ipa
run: |
flutter build ipa ${{ inputs.upload-artifact && '' || '--no-codesign' }} \
flutter build ipa \
--release \
--flavor $FLAVOR \
--target lib/main_$FLAVOR.dart \

View file

@ -0,0 +1,3 @@
- Fixed histogram being affected by spot metering.
- Improved text fields focus handling.
- Added German translation.

View file

@ -136,20 +136,20 @@ class CameraContainerBloc extends EvSourceBlocBase<CameraContainerEvent, CameraC
}
}
_cameraController = CameraController(
final cameraController = CameraController(
_camera!,
ResolutionPreset.low,
enableAudio: false,
);
await _cameraController!.initialize();
await _cameraController!.setFlashMode(FlashMode.off);
await _cameraController!.lockCaptureOrientation(DeviceOrientation.portraitUp);
await cameraController.initialize();
await cameraController.setFlashMode(FlashMode.off);
await cameraController.lockCaptureOrientation(DeviceOrientation.portraitUp);
if (_exposureOffsetRange == null) {
await Future.wait<double>([
_cameraController!.getMinExposureOffset(),
_cameraController!.getMaxExposureOffset(),
_cameraController!.getExposureOffsetStepSize(),
cameraController.getMinExposureOffset(),
cameraController.getMaxExposureOffset(),
cameraController.getExposureOffsetStepSize(),
]).then((value) {
_exposureOffsetRange = RangeValues(
math.max(_exposureMaxRange.start, value[0]),
@ -162,8 +162,8 @@ class CameraContainerBloc extends EvSourceBlocBase<CameraContainerEvent, CameraC
if (_zoomRange == null) {
await Future.wait<double>([
_cameraController!.getMinZoomLevel(),
_cameraController!.getMaxZoomLevel(),
cameraController.getMinZoomLevel(),
cameraController.getMaxZoomLevel(),
]).then((value) {
_zoomRange = RangeValues(
math.max(1.0, value[0]),
@ -177,11 +177,12 @@ class CameraContainerBloc extends EvSourceBlocBase<CameraContainerEvent, CameraC
/// For app startup initialization this effectively isn't executed.
await Future.wait<void>([
if (_currentZoom != 1.0) _cameraController!.setZoomLevel(_currentZoom),
if (_currentExposureOffset != 0.0) _cameraController!.setExposureOffset(_currentExposureOffset),
if (_currentZoom != 1.0) cameraController.setZoomLevel(_currentZoom),
if (_currentExposureOffset != 0.0) cameraController.setExposureOffset(_currentExposureOffset),
]);
emit(CameraInitializedState(_cameraController!));
_cameraController = cameraController;
emit(CameraInitializedState(cameraController));
_emitActiveState(emit);
} catch (e) {
emit(const CameraErrorState(CameraErrorType.other));

View file

@ -1,7 +1,7 @@
name: lightmeter
description: Lightmeter app inspired by Material 3 design system.
publish_to: "none"
version: 1.0.3+58
version: 1.0.4+59
environment:
sdk: ">=3.0.0 <4.0.0"

View file

@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:lightmeter/generated/l10n.dart';
import 'package:lightmeter/providers/equipment_profile_provider.dart';
import 'package:lightmeter/screens/metering/communication/bloc_communication_metering.dart';
import 'package:lightmeter/screens/metering/components/shared/readings_container/components/equipment_profile_picker/widget_picker_equipment_profiles.dart';
import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart';
import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart';
@ -33,8 +35,11 @@ void main() {
],
child: EquipmentProfilesProvider(
storageService: storageService,
child: const WidgetTestApplicationMock(
child: Row(children: [Expanded(child: EquipmentProfilePicker())]),
child: WidgetTestApplicationMock(
child: BlocProvider(
create: (_) => MeteringCommunicationBloc(),
child: const Row(children: [Expanded(child: EquipmentProfilePicker())]),
),
),
),
),