Vadim
c66381f813
ML-191 Add an ability to add a generic film, that will accept a formula ( #195 )
...
* sync with resources
* separated `ExpandableSectionList` as widget
* fixed generic type
* implemented `FilmsScreen` (wip)
* made `SliverScreen` title a widget
* [`FilmEditScreen`] wip
* [`FilmEditScreen`] added validation
* fixed title overflow for `SliverScreen`
* [`FilmEditScreen`] separated add and edit blocs
* [`FilmEditScreen`] split into separate components
* added bottom widget to `SliverScreen`
* implemented films list tabs fo `FilmsScreen`
* added films screen to navigation
* replaced explicit routes names with enum values
* implemented CRUD for custom films
* added placeholder for empty custom films list
* added `FilmsStorageService`
* fixed unit tests
* fixed integration tests
* lint
* fixed golden tests
* added iap stub methods
* added custom films to features list
* use 2.0.0 resouces
* fixed film picket tests
* migrated to iap 1.0.1
* autofocus film name field
* wait for the film to edited
* migrated to iap 1.1.0
* typo
* wait for storage initialization
* migrated to iap 1.1.1
* fixed films initialization
* added conditions to films model `updateShouldNotifyDependent`
* typo
* fixed select film discard notify
* covered films model `updateShouldNotifyDependent`
2024-11-03 20:16:01 +01: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
59977cc9b5
ML-134 Set Feature.showUnlockProOnMainScreen: true
( #169 )
...
* Set `Feature.showUnlockProOnMainScreen: true`
* update metering goldens
2024-04-15 13:18:50 +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
2b2a5441c7
ML-130 Added ff for the "Pro features" tile on the main screen ( #149 )
...
* added ff for Pro features tile on main screen
2024-01-15 22:57:40 +01:00
Vadim
6566108994
ML-129 Spot metering ( #136 )
...
* imlemented `CameraSpotDetector`
* separated generic `DialogSwitch`
* added `CameraFeature` model
* added `CameraFeaturesListTile` to metering section
* added features dialog subtitles
* added long press to remove metering spot
* translations
* hide camera features for purchasable status
* hide `CameraHistogram` & `CameraSpotDetector` if purchasable
* bumped iap version
* fixed tests
* removed redundant camera state emission
* tests
* Fixed remote config initalization
* updated pro features description
2023-11-11 21:05:11 +01:00
Vadim
a52efcd341
ML-130 Integrate Firebase Remote Config ( #132 )
...
* implemented `RemoteConfigService`
* added alternative translations
* typo
* added `firebase_analytics`
* dim paid features list tiles
* log list tile tap instead of dialog
* implemented `RemoteConfigProvider`
* typo
2023-10-31 18:42:25 +01: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
4bb080a144
Implemented IAP & Equipment profiles ( #89 )
...
* added equipment profiles to layout config
* calculate layout height based on `MeteringScreenLayoutFeature`
* Update cd_dev.yml
* Fixed equipment profile tile padding
* import
* `webfactory/ssh-agent`
* Update pubspec.yaml
* fixed `MeteringScreenLayoutConfigJson` tests
* fixed `UserPreferencesService` tests
* reset selected equipment profile when layout feature is disabled
* `IAPProductType.equipment` -> `IAPProductType.paidFeatures`
* updated packages versions
* Update shared_prefs_service.dart
* Fixed & tested exposure pairs list builder
* typo
* typo
* added iap repo stub
* Renamed `EquipmentProfileData` ->`EquipmentProfile`
* Moved `EquipmentProfileProvider` to iap repo
* Update README.md
* Fixed `EquipmentProfileListener`
* Improved `EquipmentProfilesListTile` statuses visualization
* Update README.md
* Update ci.yml
* Post-merge fixes
* typo
* Added workflow checks
* more sophisticated iap icons
* Include IAP by default
* added loader for `IAPProductStatus.pending`
* typo
* Added equipment profiles list placeholder
* typo
* separated `IconPlaceholder`
* improved `buildExposureValues` testing
* cleanup
2023-09-02 10:32:08 +02:00
Vadim
886188bb9e
ML-95 Live histogram ( #97 )
...
* Added histogram and separated camera view builder
* Added histogram to `MeteringScreenLayoutConfig`
* `ResolutionPreset.medium` -> `ResolutionPreset.low`
* Adjusted histogram paddings
2023-08-06 16:28:20 +02:00
ScaredCube
bb9b023fa7
Add Chinese language support ( #91 )
...
* Add Chinese language support
* Update intl_cn.arb
* Fixed some bugs
* Add Chinese language support
* renamed `cn` to `zh`
---------
Co-authored-by: Vadim <44135514+vodemn@users.noreply.github.com>
Co-authored-by: Vadim <vadim.turko@gmail.com>
2023-07-24 09:35:30 +02:00
Vadim
dbf1f09eb6
Renamed EquipmentProfileData
-> EquipmentProfile
2023-07-24 09:08:37 +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
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
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
d3512faa9b
Fixed incorrect ISO for some films
2023-05-01 10:49:22 +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
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
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
42fe5d45bc
Format & tasks
2023-01-26 18:03:48 +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
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
5bea96669d
Made TopBarShape
responsive
...
returned `TopBarShape`
fixed `TopBarShape`
2023-01-20 23:03:55 +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
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