Vadim
4d02e71736
added equipment profiles screens to navigation
2024-11-06 14:23:46 +01:00
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
d4deae57ef
Fixed release notes dialog logic
2024-05-22 22:50:47 +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
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
e0320b6704
ML-126 Automate screenshots creation ( #127 )
...
* Create screenshot_driver.dart
* wip
* deleted screenshots
* iap mock
* generate for 3 colors
* cleanup
* generate single dark screenshots
* snake_case
* added stub image for camera
* scroll to the first checkbox selected
* unstub iap
* cleanup
* Update generate_screenshots.dart
* typo
2023-09-28 23:29:33 +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
5adcee00dd
ML-105 Hide providers from the widget tree ( #106 )
...
* Added `ServiceProviders` widget
* Added `EnumProviders` widget for enum values
* Moved `ThemeProvider` functionality to `EnumProviders`
* Style
* `EnumProviders` -> `UserPreferencesProvider`
* `ServiceProviders` -> `ServiceProvider`
* Moved `MeteringScreenLayoutProvider` functionality to `UserPreferencesProvider`
* typo
* Removed `InheritedModelAspectListener`
* TODO
* Removed Inherited Generics
* Removed redundant `LightmeterProviders`
* Removed redundant methods from `ServicesProvider`
* `_inheritFrom` -> `_inheritFromEnumsModel`
* Fixed `MeteringScreenLayoutConfig` updates
* Separated `_ThemeModel`
* typo
* `_EnumsModel` -> `_UserPreferencesModel`
2023-08-14 12:25:37 +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
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
77cbd11268
[Android] Probably fixed grey screen issue
2023-05-01 11:07:07 +02:00
Vadim
d346e706ff
Moved StopTypeProvider
to providers folder
2023-04-17 10:25:56 +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
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
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
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
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
56480cca0a
Fixed navigation bar color
...
Cleanup
2023-01-07 12:22:50 +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
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