Vadim
68cecf5391
implemented CRUD for custom films
2024-10-25 13:01:37 +02:00
Vadim
9884a6147f
replaced explicit routes names with enum values
2024-10-24 12:39:50 +02:00
Vadim
4498167ddc
sync with resources
2024-10-06 20:26:40 +02:00
Vadim
f0d707b071
Show Lightmeter Pro price before purchase ( #183 )
...
* Upgraded `targetSdkVersion` to 34
* added price to `IAPProduct`
* implemented `ProFeaturesScreen` (wip)
* finalized `ProFeaturesScreen` layout
* replaced `ProFeaturesDialog` with `ProFeaturesScreen`
* added translations
* fixed feature checkbox width calculation
* fixed tests
* separated android & ios features
* NPE
* changed "get pro" tile colors
* unified Lightmeter Pro related naming
* typo
* updated golden tests
* use iap 0.11.0
* revert unrelated changes
This reverts commit bae5ead8f0
.
* lint
* adjusted eng translation
* updated goldens
2024-07-23 23:19:41 +02:00
Vadim
8c016e548b
Unified the app's color palette & icons ( #176 )
...
* unified scaffold background color
* unified components elevation
* use filled tonal icon buttons
* aligned slider colors with guidelines
* removed unused `CloseButton`
* migrated to outlined icons
* moved timer list tile to the top of the section
* updated goldens
* migrated to the latest material utils
* reaplced `SchemeTonalSpot` with `SchemeRainbow`
* fixed ruler slider ticks color
* update goldens
* fixed tests
* fixed scheme mapping and returned to `SchemeTonalSpot`
2024-05-20 17:08:37 +02:00
Vadim
5c27f726c5
ML-173 Add a timer for long exposures ( #174 )
...
* wip
* added start/stop button
* animated timeline
* fixed timer stop state
* added reset button (wip)
* added `onExposurePairTap` callback
* integrated `TimerScreen` to navigation
* separated `TimerTimeline`
* fixed timeline flickering
* added milliseconds to timer
* synchronized timeline with actual timer
* reused `BottomControlsBar`
* fixed default scaffold background color
* moved center button size to the bar itself
* display selected exposure pair on timer screen
* separated reusable `AnimatedCircluarButton`
* release camera when timer is opened
* added `TimerInteractor`
* added `TimerBloc` test
* fixed hours parsing
* added scenarios for timer golden test
* adjusted timer timeline colors
* show iso & nd values on timer screen
* automatically close timer screen after timeout
* added timer autostart
* reverted theme changes
* updated goldens
* typo
* removed timer screen auto-dismiss
* increased timer vibration duration
* replaced outlined locks
* increased 1/3 values font size
2024-05-07 19:24:51 +02:00
Vadim
bfd0bfe531
ML-108 First exposure metering seems to be wrong ( #163 )
...
* use latest `camera_android_camerax`
* fixed trailing commas
* moved ci/cd to 3.13.9
* removed focus & exposure fix
* fixed camera not being initialized on Android
* removed unused import
2024-04-06 19:14:37 +02:00
Vadim
73d0c32323
Hide Pro features from the metering screen ( #147 )
...
* implemented `MockCameraContainerBloc` to stub camera on simulator
* hide pro features from metering screen
* disable pro features in settings
* use closed child background color in `AnimatedDialog`
* adjust `AnimatedDialogPicker` to items count
* close `AnimatedDialog` through context
* cleanup
* fixed `ReadingValueContainer` text color
* removed legacy translations
* fixed tests
* fixed `AnimatedDialog` scaling
* added `evFromImage` test
* added no EXIF test to `evFromImage`
2024-01-13 18:20:58 +01:00
Vadim
f3b08868be
ML-62 Providers tests + Platform & Application mocks ( #131 )
...
- Fixed test coverage calculation
- Removed `mockito` from the application mock
- Implemented platform channel mocks to mimic incident light metering
- Covered providers with unit tests
- Covered metering screen pickers with widget tests
- Laid foundation for integration tests
2023-10-20 16:12:43 +02:00
Vadim
cc9f162933
ML-107 Films filter ( #118 )
...
* added stub `FilmsProvider`
* moved dialogs to the shared folder
* typo
* separated `EquipmentSettingsSection`
* copy
* `IAPBuilder` -> `IAPListTile`
* moved `Film` to resources repo
* fixed films selection
* untied iso and selected film
* removed film from exposure pairs building
* indicate push/pull
* copy
* Update .gitignore
* fixed extreme exposure pairs reciprocity display
* sync with iap changes
* sync iap stub with iap changes
* added reciprocity description
* added workspace file
* Update .gitignore
2023-09-14 16:59:16 +02:00
Vadim
8415f4e515
ML-114 Metering container issues ( #116 )
...
* fixed top bar cutout shape
* update closed offset on layout change
2023-09-08 23:46:31 +02:00
Vadim
8a71c8db13
Added switch animations to MeteringScreen
2023-08-04 16:17:40 +02:00
Vadim
ec9ba1a779
ML-58 Metering UX improvements ( #63 )
...
* indicate EV value error
* allow nullable ev100 in `CameraContainerBloc`
* log exif keys
* wip
* removed `UserPreferencesService` from `MeteringBloc`
* added error toast
* conflicts
* lints
* allow stop metering if `hasError`
* fixed `AnimatedDialogPicker` inability to close
* Update build.gradle
2023-05-16 11:47:53 +02:00
Vadim
5602b1ed80
ML-70 Migrate to Dart 3 + stricter lints ( #71 )
...
* updated pub version
* added lint
* --code=always_use_package_imports
* dart fixes
* format
* other lints
2023-05-11 15:30:18 +02:00
Vadim
34ea034e67
Build appbundle & apk
...
Build appbundle & apk
Renamed github workflows
2023-05-04 18:18:21 +02:00
Vadim
2102213344
ML-54 AnimatedDialogState
issues ( #56 )
...
* LateInitializationError: Field '_foregroundColorAnimation@1004358584'
* FlutterError: Null check operator used on a null value
2023-05-04 13:14:53 +02:00
Vadim
aaadd1ded6
ML-48 Allow users to hide fastest/shortest exposure pairs #48 ( #49 )
...
* implemented `MeteringScreenLayoutProvider`
* refined topbar height difference calculation
* implemented `MeteringScreenLayoutFeaturesDialog`
* added icons to all dialogs
* save & restore `MeteringScreenLayoutConfig`
* reset film on film picker disabling
* fixed Fomapan reciprocity
* fixed dependencies
* added translations
2023-04-05 22:15:11 +03:00
Vadim
6bf059ed4d
ML-42 Implement equipment profiles creating ( #45 )
...
* added Equipment section placeholder
* get iso & nd values from equipment profile
* use photography values from remote repo
* removed equipment section
* wip
* moved `EquipmentProfileProvider` from iap repo
* wip
* moved equipment profiles screen from iap
* improved equipment profiles screen
* mock add/delete
* collapse on expand
* add profile with name
* show selected values count (wip)
* fixed profile update
* cleanup
* Update pubspec.yaml
* made `AnimatedDialogPicker` more generic
* switched to local `Dimens`
* fixed `MeteringTopBarShape`
* rename
* animated `EquipmentProfileContainer`
* added default equipment profile
* change equipment profile name via dialog
* fixed profile selection
* filter equipment profile update/delete
* removed `enabled` param from settings section
* non-null `EquipmentProfile`
* fixed duplicate GlobalKeys
* animated equipment list
* Update ci.yml
* fixed shutter speed anchor issue
* autofocus
* added firebase to project
* save/restore equipment profiles
* unified `SliverList`
* added SSH key to iap repo
* Update ci.yml
* ci recursive submodules
* try full url
* Revert "try full url"
This reverts commit a9b692b60e
.
* restore firebase_options.dart
* changed runner to macos
* restore options earlier
* removed problematic file from analysis :)
* removed launch_app
* textoverflow
* implemented `DialogRangePicker`
* add iap repo to cd
* typo
* added workflow_dispatch to crowdin push
* removed `equipmentProfileValuesCount` from intl
* fr & ru translations
* style
* removed iap
2023-03-30 22:24:18 +03:00
Vadim
cbee0f350a
ML-37 Fix exposure pairs list creation ( #39 )
...
* integrated EV value to measure button
* fixed
2023-02-18 20:17:39 +03:00
Vadim
485636c706
ML-28 Implement language picker ( #29 )
...
* added language picker
* Create intl_ru.arb
* Update README.md
2023-02-11 22:19:18 +03:00
Vadim
8d73a7d2e3
ML-20 Dialog pickers content jumps when selected item is out of vie ( #21 )
...
* fixed primary color picker overscroll
* dialog cleanup
* fixed photography value picker overscroll
* Update widget_dialog_picker_photography_value.dart
2023-02-05 17:20:36 +03:00
Vadim
9cfffc3377
ML-18 Implement primary color picker ( #19 )
...
* wip
* hide `DynamicColorListTile` if unavailable
* added color animation for `AnimatedDialog`
* adjusted some colors
* sync `AnimatedDialog` insets with material
* scroll to selected color
2023-02-01 00:24:26 +03:00
Vadim
9ffb5112c1
ML-16 [Android] Implement incident light metering ( #17 )
...
* wip
* rename
* wip
* rename
* fixed camera screen layout
* omit camera measure on startup
* added calibration for light sensor
* save evsource
* Update widget_button_measure.dart
* fixed iOS init
* hide light sensor calibration on ios
* cleanup
2023-01-29 19:57:47 +03:00