* setup golden toolkit
* implemented `GoldenTestApplicationMock`
* added devices with dark theme
* implemented MeteringScreen golden test
* moved platform channel logic to app mock
* implemented SettingsScreen golden test
* gitignore golden tests failures
* Create dart_test.yaml
* adjusted `RulerSlider` ticks height
* set master screenshots
* run golden tests on ci
* fixed `LightSensorService` tests
* removed golden workflow call from PR check
* Update pr_check.yml
* added `RestorePurchasesListTile`
* added `restorePurchases` to iap stub
* reordered settings
* migrated to iap 0.9.0
* migrated to iap 0.9.1
* use version in release commit
* Revert "use version in release commit"
This reverts commit 513b13eb96.
* migrated to iap 0.9.2
* allow manual restore if Pro features are not unlocked
* made zoom slider vertical & added more ticks to ruler
* show sliders values
* increased slider tappable area
* more accurate sliders values
* added zoom slider to equipment profiles settings
* split `EquipmentListTiles` widget
* set zoom on equipment profile change
* clamp zoom to the nearest value
* added missing translations
* added zoom checks to e2e test
* removed unused import
* 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
* test granting and revoking pro features
* extracted common widget tester actions
* test disabling & enabling of the metering screen layout features
* added integration tests to CI
* added integration tests to PR check
* allow matrix jobs to fail
* use base64 -d
* downgraded iphone version to the supported one
* use proper android device name
* typo in macos version
* upgraded iphone version to the supported one
* updated android compileSdkVersion
* added google services json restoration
* combined all tests in one file
* removed ipa signing for ios test
* debug prints :)
* lints
* refined tester extension and expectations
* e2e test (wip)
* added more expectations to e2e test
* changed pickers order a bit in e2e test
* added equipment profiles creation to e2e test
* added film selection to e2e test
* set android emulator API level to 32
* use flutter drive for integration tests
* removed app pre-build
* try running tests only for one platform
* added no-dds to flutter drive
* try running only on ios
* bumped macos version
* increased tests timeout
* set IPHONEOS_DEPLOYMENT_TARGET = 12.0
* removed prints
* Update Podfile
* restore firebase_app_id_file.json
* Delete run_integration_tests.sh
* run e2e with all tests
* reverted pr-check
* implemented `MockCameraContainerBloc` to stub camera on simulator
* [iOS] fixed camera preview aspect ratio
* place screenshots in platform-specific folders
* [iOS] updated buildable name
* [iOS] fixed stub image cover fit
* [iOS] implemented screenshots generator for all target devices
* store screenshots in _generated_ folder
* Update .gitignore
* Created "Build Prod .ipa" workflow
* added. certs to .ipa workflow
* test ipa building
* fixed provision cert path
* set provision profile in XCode
* set automatic signing for dev builds
* set ios version in Podfile
* renamed provision file
* renamed provision profile
* fixed cert folder...
* changed provision path
* typo
* typo
* try automatic signing
* use manual profile installation
* added export options
* typo
* increased timeout
* increased ipa timeout
* Update README.md
* typo
* [iOS] separated camera handling logic
* [iOS] fixed vibration
* migrated to http server iap
* [iOS] fixed histogram
* replaced distribution profile with development profile
* removed constants from env to the separate file
* removed duplicate launch schema
* fixed PR check workflow
* [iOS] set `ITSAppUsesNonExemptEncryption` to NO
* [iOS] removed java reference from "Build .ipa" workflow
* added `showEV100` to user preferences
* integrated EV100 setting to UI
* available for pro
* replaced `IAPProducts.isPurchased` with context extension
* fixed `UserPreferencesProvider` tests
* EV100 -> Ev100
* 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`
* [Android] added (DEV) to dev flavor app name
* [Android] added `applicationIdSuffix` instead of explicit `applicationId`
* [Android] removed main/res for app to be able to see flavored resources
* replaced `flutter_launcher_icons` with `icons_launcher`
* [Android] generated icon for dev & prod flavors
* Create README.md
* [iOS] generated icons for dev & prod flavors
* [iOS] added (DEV) to dev flavor app name
* [iOS] cleanup
* 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
* implemented `RemoteConfigService`
* added alternative translations
* typo
* added `firebase_analytics`
* dim paid features list tiles
* log list tile tap instead of dialog
* implemented `RemoteConfigProvider`
* typo
- 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
* wip
* added `LightmeterProSettingsSection`
* hide Pro section on purchase
* `ElevatedButton` -> `FilledButton`
* moved Pro description to iap/README.md
* intl
* disable only list tiles
* show iap dialog on every iap list tile