Vadim
2735f0b66f
ML-81 Unsaved fractional stops ( #83 )
...
* save stop type to sharedPrefs
* tests
2023-06-23 10:47:34 +02:00
Vadim
0c58134733
ML-62 Services tests ( #82 )
...
* removed redundant `UserPreferencesService` from `MeteringBloc`
* wip
* post-merge fixes
* `MeasureEvent` tests
* `MeasureEvent` tests revision
* `MeasureEvent` tests added timeout
* added stubs for other `MeteringBloc` events
* rewritten `MeteringBloc` logic
* wip
* `IsoChangedEvent` tests
* refined `IsoChangedEvent` tests
* `NdChangedEvent` tests
* `FilmChangedEvent` tests
* `MeteringCommunicationBloc` tests
* added test run to ci
* overriden `==` for `MeasuredState`
* `LuxMeteringEvent` tests
* refined `LuxMeteringEvent` tests
* rename
* wip
* wip
* `InitializeEvent`/`DeinitializeEvent` tests
* clamp minZoomLevel
* fixed `MeteringCommunicationBloc` tests
* wip
* `ZoomChangedEvent` tests
* `ExposureOffsetChangedEvent`/`ExposureOffsetResetEvent` tests
* renamed test groups
* added test coverage script
* improved `CameraContainerBloc` test coverage
* `EquipmentProfileChangedEvent` tests
* verify response vibration
* fixed running all tests
* `MeteringCommunicationBloc` equality tests
* `CameraContainerBloc` equality tests
* removed generated code from coverage
* `MeteringScreenLayoutFeature` tests
* `SupportedLocale` tests
* `Film` tests
* `CaffeineService` tests
* `UserPreferencesService` tests (wip)
* `LightSensorService` tests (wip)
* `migrateOldKeys()` tests
* ignore currently unused getters & setters
* gradle upgrade
* `reset(sharedPreferences);` calls count
* typo
2023-06-23 10:35:33 +02:00
Vadim
a7b8de6912
ML-62 Models tests ( #80 )
...
* removed redundant `UserPreferencesService` from `MeteringBloc`
* wip
* post-merge fixes
* `MeasureEvent` tests
* `MeasureEvent` tests revision
* `MeasureEvent` tests added timeout
* added stubs for other `MeteringBloc` events
* rewritten `MeteringBloc` logic
* wip
* `IsoChangedEvent` tests
* refined `IsoChangedEvent` tests
* `NdChangedEvent` tests
* `FilmChangedEvent` tests
* `MeteringCommunicationBloc` tests
* added test run to ci
* overriden `==` for `MeasuredState`
* `LuxMeteringEvent` tests
* refined `LuxMeteringEvent` tests
* rename
* wip
* wip
* `InitializeEvent`/`DeinitializeEvent` tests
* clamp minZoomLevel
* fixed `MeteringCommunicationBloc` tests
* wip
* `ZoomChangedEvent` tests
* `ExposureOffsetChangedEvent`/`ExposureOffsetResetEvent` tests
* renamed test groups
* added test coverage script
* improved `CameraContainerBloc` test coverage
* `EquipmentProfileChangedEvent` tests
* verify response vibration
* fixed running all tests
* `MeteringCommunicationBloc` equality tests
* `CameraContainerBloc` equality tests
* removed generated code from coverage
* `MeteringScreenLayoutFeature` tests
* `SupportedLocale` tests
* `Film` tests
2023-06-21 11:29:36 +02:00
Vadim
74d0a7101c
ML-62 Bloc's tests ( #78 )
...
* removed redundant `UserPreferencesService` from `MeteringBloc`
* wip
* post-merge fixes
* `MeasureEvent` tests
* `MeasureEvent` tests revision
* `MeasureEvent` tests added timeout
* added stubs for other `MeteringBloc` events
* rewritten `MeteringBloc` logic
* wip
* `IsoChangedEvent` tests
* refined `IsoChangedEvent` tests
* `NdChangedEvent` tests
* `FilmChangedEvent` tests
* `MeteringCommunicationBloc` tests
* added test run to ci
* overriden `==` for `MeasuredState`
* `LuxMeteringEvent` tests
* refined `LuxMeteringEvent` tests
* rename
* wip
* wip
* `InitializeEvent`/`DeinitializeEvent` tests
* clamp minZoomLevel
* fixed `MeteringCommunicationBloc` tests
* wip
* `ZoomChangedEvent` tests
* `ExposureOffsetChangedEvent`/`ExposureOffsetResetEvent` tests
* renamed test groups
* added test coverage script
* improved `CameraContainerBloc` test coverage
* `EquipmentProfileChangedEvent` tests
* verify response vibration
* fixed running all tests
* `MeteringCommunicationBloc` equality tests
* `CameraContainerBloc` equality tests
* removed generated code from coverage
2023-06-20 08:43:49 +02:00
Vadim
ad8f0d895a
Fixed film discard on ISO change
2023-06-08 10:23:16 +02:00
Vadim
cdf7372913
ML-77 Redundant vibrations ( #76 )
...
* wip
* `MeteringScreenLayout = InheritedModelBase<MeteringScreenLayoutFeature, bool>`
* removed `Provider` from providers folder
* wip
* Update pubspec.yaml
* `context.get<MeteringInteractor>()`
* `context.get<Environment>()`
* `context.get<SettingsInteractor>()`
* typo
* fixed `MeteringScreenLayout`
* fixed redundant vibrations
2023-06-04 13:04:04 +02:00
Vadim
c63b5a420d
ML-74 CameraContainerBloc
crashes ( #75 )
...
* nullable var instead of `late`
* `.then((_) => _cameraController = null));`
2023-05-21 11:50:46 +02:00
Vadim
8b74c4e1a4
ML-72 buildPreview() was called on a disposed CameraController ( #73 )
...
* added `DeinitializeEvent`
* typo
2023-05-19 11:12:10 +02:00
Vadim
00b2728453
Updated dependencies versions + lints
2023-05-19 10:47:58 +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
19a788adcb
ML-67 ScaffoldMessenger
Null check operator used on a null value ( #68 )
2023-05-10 17:05:27 +02:00
Vadim
4f8a415503
ML-65 [Android] Exception on mailto
intent ( #66 )
...
* added error toast
* lints
2023-05-08 17:13:43 +02:00
Vadim
f1f8d74338
ML-59 ND filter value is not applied on measure ( #60 )
2023-05-05 23:32:17 +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
0583b07cb9
ML-53 Unsupported operation: Infinity or NaN toInt ( #54 )
...
added `isNan` & `isInfinite` checks
2023-05-04 12:49:26 +02:00
Vadim
6232ad555a
ML-51 Integrate Crashlytics ( #52 )
...
* added crashlytics
* added firebase_options to CD
* Version bump
* added firebase_options to CI
* timeout
2023-05-03 12:45:10 +02:00
Vadim
77cbd11268
[Android] Probably fixed grey screen issue
2023-05-01 11:07:07 +02:00
Vadim
d3512faa9b
Fixed incorrect ISO for some films
2023-05-01 10:49:22 +02:00
Vadim
d346e706ff
Moved StopTypeProvider
to providers folder
2023-04-17 10:25:56 +03:00
Vadim
0ac24e5d2c
Temporarily removed firebase
2023-04-09 13:35:58 +03: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
be0617a99c
ML-46 Add reciprocity failure formulas for some films ( #47 )
...
* added `Film` model with reciprocity formulas
* added `FeaturesConfig`
* added film picker
* unused import
* get ISO and ND from equipment profile
* udpate iso on film changed
* typo
2023-04-01 22:04:55 +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
0fb4fc1e47
Added edge cutouts to color picker
2023-03-14 11:57:01 +01:00
Vadim
59287d06bc
Rearranged settings screen files
2023-02-19 19:19:56 +03:00
Vadim
e6338157bf
ML-5 Measure button needs loading state ( #41 )
...
* added
* Version bump
* Fixed indicator initial position
* Revert "Version bump"
This reverts commit 92793e013d
.
2023-02-19 18:15:36 +03:00
Vadim
b7639740f3
ML-5 Measure button needs loading state ( #40 )
2023-02-19 13:26:14 +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
f8391454b6
ML-23 Implement migration mechanism for material_lightmeter users ( #38 )
...
* migrate existent keys
* await
* Update cd_dev.yml
* Update cd_dev.yml
* Update cd_dev.yml
* Fixed CD flavor artifact upload
2023-02-17 22:32:25 +03:00
Vadim
0c0e4eeb3b
Added French language
2023-02-14 15:30:49 +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
afdbc92ac4
[Android] Fixed system navigation bar color
2023-02-11 20:33:08 +03:00
Vadim
07fd61fa1e
ML-24 Implement caffeine feature ( #27 )
...
* platform-specific code
* implemented caffeine flutter side
* haptics revision
2023-02-11 15:58:47 +03:00
Vadim
a183a5433e
ML-25 Revise permission handling ( #26 )
...
* fixed permission handling
* translations cleanup
* [Android] removed unused permissions
2023-02-11 00:49:51 +03:00
Vadim
186bb8f468
Fixed url launch
2023-02-05 17:41:00 +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
9436a59094
Added camera and exposurepairs list placeholders
2023-02-05 16:56:04 +03:00
Vadim
b8c6f51bd0
ML-10 ThemeType.systemDefault
doesn't reflect theme change from device settings ( #22 )
2023-02-05 00:09:19 +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
cb4e91cb0a
Folders cleanup
2023-01-29 20:02:18 +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
Vadim
179008ff77
FVM fix
2023-01-26 18:33:33 +03:00
Vadim
42fe5d45bc
Format & tasks
2023-01-26 18:03:48 +03:00
Vadim
130f5ff0b2
ML-14 Implement EV calibration legacy feature ( #15 )
...
* wip
* implemented `CalibrationDialog`
* integrated calibration to the metering bloc
* checked legacy feature
2023-01-26 12:10:23 +03:00
Vadim
31ef42c4c0
ML-12 Prepare repo to be public ( #13 )
...
* added source code list tile
* added settings sections
* wip
* moved theme tiles to separate folders
* added env
* added contact email
* widget folders
* dynamic colors -> dynamic color
* fixed `SettingsSection` clipBehavior
* version bump
* typo
* updated flutter to 3.7
* added style guide
* typo
* Update style_guide.md
* Update README.md
* Update README.md
* Update README.md
2023-01-25 13:08:11 +03:00
Vadim
703b29a3d5
ML-7 Exposure offset doesn't apply on app reopen ( #9 )
2023-01-22 22:40:44 +03:00
Vadim
9477f80ada
ML-6 Add support for dynamic colors on A12+ ( #8 )
...
* added dynamic colors
* made dynamic colors enabled/disabled
* fixed tests
2023-01-22 22:30:29 +03:00
Vadim
9be413752a
[Android] Made status bar transparent
2023-01-21 14:18:10 +03:00
Vadim
c7ed4d332e
Added haptics
...
added `HapticsService`
added haptics handling
added `HapticsInteractor`
2023-01-21 14:17:44 +03:00
Vadim
cd9ea81dd1
[Android] Fixed status bar icon brightness
2023-01-20 23:59:06 +03:00
Vadim
02e5fc582c
Removed source-swap button
2023-01-20 23:39:01 +03:00
Vadim
bdf03f708f
ReadingsContainer
-> SizeRenderWidget
2023-01-20 23:09:17 +03:00
Vadim
5bea96669d
Made TopBarShape
responsive
...
returned `TopBarShape`
fixed `TopBarShape`
2023-01-20 23:03:55 +03:00
Vadim
5eb0869aa0
Fixed CameraPreview
aspect ratio
...
Probably will be changed in future, is it currently relies on the `ResolutionPreset` being tied with aspect ratio
2023-01-07 13:23:54 +03:00
Vadim
56480cca0a
Fixed navigation bar color
...
Cleanup
2023-01-07 12:22:50 +03:00
Vadim
3ccabbfac4
Reverse EV compensation values
2023-01-05 19:41:37 +03:00
Vadim
abd07764fd
Added zoom and exposure sliders
...
added `ZoomSlider` (wip)
wip
implemented horizontal slider
implemented vertical slider
integrated 2 sliders to metering screen (wip)
removed filled track
placed camera slider in the proper folder
temp fix for exposure list fonts
update exposure event
added ruler to `CameraExposureSlider`
moved slider sizes to dimens
moved `CameraZoomSlider` to the separate folder
2023-01-01 22:00:26 +03:00
Vadim
14bac950cf
Fixed _models_ and _screens_ folders structure
...
proper folders for models
unified _screen_ folder filenames
2022-12-18 14:39:02 +03:00
Vadim
e7a8d0e1d5
Added version label
2022-12-17 21:05:50 +03:00
Vadim
fb0923903a
Prettified ExposurePairsList
ruler
2022-12-17 00:25:08 +03:00
Vadim
ca8c1f8e4d
Cleanup
2022-12-16 23:53:26 +03:00
Vadim
9b0cba6ed7
Implemented theme brightness picker
...
implemented `ThemeProvider`
implemented theme switching
save selected theme type
2022-12-16 23:48:03 +03:00
Vadim
52d8578d77
Added UserPreferencesService
2022-12-16 11:08:12 +03:00
Vadim
07dc5d8f57
Added mock ev bloc
2022-12-15 14:00:28 +03:00
Vadim
a054a55f15
Logic & UI improvements
...
added inner insets to `ReadingContainer`
provide bloc for `CameraView` in dialog
measure on camera loaded
2022-12-15 12:59:04 +03:00
Vadim
9b0b387514
Added camera
package to project
...
added camera plugin to project
more reverse naming
added communication bloc
layout fix
2022-12-15 11:33:00 +03:00
Vadim
7018f06270
Open AnimatedDialog
with Navigator
2022-12-11 19:19:38 +03:00
Vadim
9abad012e3
2-column layout
...
2-column layout
removed settings screen route animation
2022-12-11 17:49:54 +03:00
Vadim
10764086ad
Added stop fraction picker
...
TODO: fix `MeteringScreen` double build on fraction change
2022-12-11 17:04:08 +03:00
Vadim
c02e8718d5
Remove generated content from git
2022-12-05 21:50:40 +03:00
Vadim
8381e5b753
Enhanced picker dialogs
...
added picker dialogs subtitle
show EV difference (wip)
jump to selected value
added EV difference to pickers
hide inkwell overflow
thirds iso normal style
fixed picker ev difference order
more picker typdefs
2022-12-05 19:50:31 +03:00
Vadim
0a45a2719b
Clean up
...
transparent status bar on Android
unified metering screen dialogs
2022-12-04 23:01:15 +03:00
Vadim
1c344da29f
Recalculate EV on ND change
...
Recalculate EV on ND change
`PhotographyValue` -> `PhotographyStopValue`
2022-12-04 22:33:20 +03:00
Vadim
dbbc5738ce
Recalculate EV on Iso change
2022-12-04 22:00:43 +03:00
Vadim
00c0a6134d
Implemented metering dialog picker
...
typo
fixed closed container scale
fixed dialog title animation
implemented `AnimatedDialog`
added open/close children transition
clean up
close dialog
2022-12-04 16:22:39 +03:00
Vadim
7c20bfe80d
Implemented metering dialogs animation
...
added readings dialog animation (wip)
added offset animation
added size animation
added backgroundColor animation
added borderRadius animation
added opacity animations
fixed closing dialog
added mock dialog for ND
2022-11-30 12:00:48 +03:00
Vadim
8697bcfec7
wip
2022-11-27 23:31:49 +03:00
Vadim
7460f12211
implemeted permissions check (wip)
2022-11-27 23:22:56 +03:00
Vadim
bf9e80c5d2
fixed readings text overflow
2022-11-26 22:47:37 +03:00
Vadim
9e96f579d9
fixed system overlays color
2022-11-26 22:42:21 +03:00
Vadim
a6fe85a981
adjusted settings animation
2022-11-26 22:34:28 +03:00
Vadim
ce04dcf257
connected animation with navigation
2022-11-26 22:29:00 +03:00
Vadim
8ef53c344e
implemented MeteringScreenAnimatedSurface
2022-11-26 21:14:51 +03:00
Vadim
4696b7d2ee
added basic navigation to settings
2022-10-30 22:07:39 +03:00
Vadim
6dd0a9b192
added some mock tiles to settings
2022-10-30 21:59:33 +03:00
Vadim
6b3be40254
added intl
2022-10-30 21:30:12 +03:00
Vadim
8a30648861
Create settings_screen.dart
2022-10-30 21:23:06 +03:00
Vadim
f1a49a2295
added StopTypeProvider
2022-10-30 21:06:51 +03:00
Vadim
0a36e112e1
lock orientations
2022-10-29 21:14:49 +03:00
Vadim
050c0f3ea3
added items count check
2022-10-29 21:04:06 +03:00
Vadim
b6e377959f
added MeteringBloc
2022-10-29 21:02:45 +03:00
Vadim
888a9a6a76
fixed ApertureValue
value
2022-10-29 21:02:24 +03:00
Vadim
8871b643d2
fixed MeteringMeasureButton
init state
2022-10-29 20:31:26 +03:00
Vadim
2300c828b1
added border radius to overlays
2022-10-29 14:06:39 +03:00
Vadim
3c1f803e25
removed LUX from topbar
2022-10-29 14:04:46 +03:00
Vadim
54ad2a1461
added bottom controls (wip)
2022-10-29 14:01:15 +03:00
Vadim
2be18d9c01
implemented animated MeteringMeasureButton
2022-10-29 13:52:05 +03:00
Vadim
e01ab62fd8
implemented exposure pairs list
2022-10-26 22:49:21 +03:00