Vadim
574900fdea
IAPProductType.equipment
-> IAPProductType.paidFeatures
2023-07-16 11:31:29 +02:00
Vadim
7633f3fd27
reset selected equipment profile when layout feature is disabled
2023-07-14 00:06:18 +02:00
Vadim
93d8d46bf0
fixed MeteringScreenLayoutConfigJson
tests
2023-07-13 23:47:21 +02:00
Vadim
c382eddf08
import
2023-07-13 16:03:00 +02:00
Vadim
32901bf163
Fixed equipment profile tile padding
2023-07-13 16:02:54 +02:00
Vadim
3643f04250
calculate layout height based on MeteringScreenLayoutFeature
2023-07-13 15:05:30 +02:00
Vadim
0fc3f512f3
added equipment profiles to layout config
2023-07-12 22:46:35 +02:00
Vadim
b13acedebd
ML-62 Interactors tests ( #87 )
...
* 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
* `MeteringInteractor` tests
* `SettingsInteractor` tests (wip)
* `MeteringInteractor` tests (wip)
* `SettingsInteractor` tests
2023-07-10 17:49:34 +02:00
Vadim
47f7b61230
Updated issuesReportUrl
to lead to _/new/choose_
2023-07-10 16:15:57 +02:00
Vadim
e001c153fb
ML-11 Implement volume buttons actions ( #86 )
...
* [Android] wip
* implemented `VolumeEventsService`
* implemented `VolumeKeysListener` (wip)
* Added screenshots links
* [Android] nullable typo
* implemented `VolumeKeysNotifier`
* deinitialize camera when on Settings screen
* disable volume handling when on Settings screen
* used "platform" package to mock `isAndroid`
* init/deinit camera on settings open
* allow volume action override only on metering screen
* lints
* cleanup
* await dispose
* tests
* reduced `SwitchListTile.contentPadding`
* fixed tests
* removed `VolumeAction.zoom`
* added social preview
* typo
* fixed `CameraContainerBloc` tests
* added `Stream.empty()` tests
2023-07-09 13:39:33 +02:00
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