Vadim
1dbcf27cf9
test ipa upload
2024-03-16 11:29:07 +01:00
Vadim
7787558713
ML-160 Integration tests ( #161 )
...
* 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
2024-03-13 15:34:26 +01:00
Vadim
134af8ad28
ML-141 Prepare iOS release ( #144 )
...
* 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
2024-02-21 12:33:25 +01:00
github-actions[bot]
f965b99e1d
Version bump
2024-01-27 22:34:29 +00:00
Vadim
fc37016770
ML-154 Improve Crashlytics reports ( #155 )
...
* removed unused analytics event & added `logCrash`
* added analytics to `RemoteConfigService`
* run app with `runZonedGuarded`
* added crash logging to `CameraContainerBloc`
* log product id for IAP errors
* typo
* log crashes in `RemoteConfigService`
* ignore silent `FlutterError`
* fixed `evFromImage` test
* fixed `showBuyProDialog` test
* log errors in console
* depend on iap 0.7.2
2024-01-27 23:20:53 +01:00
github-actions[bot]
de50b03df9
Version bump
2024-01-25 19:22:11 +00:00
github-actions[bot]
d66404e085
Version bump
2024-01-15 22:28:33 +00:00
Vadim
561f849eea
Add app icon indicating dev build ( #139 )
...
* [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
2023-11-21 21:37:23 +01:00
github-actions[bot]
e340327e32
Version bump
2023-11-14 12:30:33 +00: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
github-actions[bot]
ddc7ec8c8b
Version bump
2023-11-07 11:15:17 +00:00
Vadim
3bb3f12641
ML-62 Utils tests ( #133 )
...
* 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
* AnimatedDialog picker standalone tests
* Moved Animated dialog picker to widget tests
* `ExtremeExposurePairsContainer` widget test
* dialog picker test
* Match extreme exposure pairs & pairs list edge values
* `FilmPicker` widget tests
* fixed animated dialog picker tests
* add not hit files to coverage percentage
* Moved `EquipmentProfileProvider` & `FilmsProvider` to the main repo
* Synced _iap_ stub with repo
* `FilmsProvider` tests
* `EquipmentProfileProvider` tests
* Pass `availableFilms` to `FilmsProvider`
* `FilmPicker` tests
* removed unnecessary imports
* Metering layout features tests
* split integration tests by screens
* Films in use test
* mock light meter lux stream
* removed mockito mocks for integration tests
From no on these are the only mocks in use:
- Mock shared prefs initial values
- Mock platform responses (camera/light sensor)
* set sharedprefs mock without redundant group
* unified granting camera permission on Android
* fixed metering screen tests
* extracted common values
* `FilmPicker` integration tests
* fixed light sensor platform mocks
* wip
* removed integration tests for now
* moved screenshots generator to screenshots folder
* typo
* removed `MockIAPProductsProvider`
* implemented platform mocks for unit tests
* data/models/ 100% coverage
* `IsoValuePicker` tests
* `EquipmentProfileProvider` tests
* extended PR check timeout
* typo
* added storage action verification for `FilmsProvider` tests
* `UserPreferencesProvider` tests
* Update README.md
* added //coverage:ignore to `ServicesProvider`
* typo
* typo
* `toStringSignedAsFixed` tests
* `SelectableInheritedModel` tests
* removed unused `TextLineHeight` util
* `VolumeKeysNotifier` tests
* import
* `EquipmentProfileListener` tests
* typo
* split `EquipmentProfileListener` tests
* `showBuyProDialog` tests
* added `maybeOf` getter for iap stub
2023-11-02 17:40:47 +01:00
github-actions[bot]
37a3b79f04
Version bump
2023-11-01 10:16:41 +00:00
Vadim
d36db97959
Updated IAP version to fix network issue
...
https://github.com/flutter/flutter/issues/135540
2023-10-31 22:32:02 +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
f3b08868be
ML-62 Providers tests + Platform & Application mocks ( #131 )
...
- 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
2023-10-20 16:12:43 +02: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
github-actions[bot]
79105ab4f1
Version bump
2023-09-20 10:31:50 +00:00
Vadim
4288be7d57
Use iap v0.4.0
2023-09-20 11:10:54 +02:00
github-actions[bot]
a5ad391273
Version bump
2023-09-19 18:45:24 +00:00
github-actions[bot]
1be7c3be48
Version bump
2023-09-08 22:03:01 +00:00
github-actions[bot]
429c0a53a2
Version bump
2023-09-02 21:13:17 +00: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
github-actions[bot]
d364de4486
Version bump
2023-08-28 15:55:12 +00:00
vodemn
6e3588a72e
Version bump
2023-08-09 15:20:00 +00:00
vodemn
9c11401175
Version bump
2023-08-07 14:59:47 +00:00
vodemn
6e1aaf5acf
Version bump
2023-08-03 20:54:33 +00:00
vodemn
50c2460f16
Version bump
2023-08-01 11:08:55 +00:00
Vadim
6a9036ce5e
Camera is taking too long to take a picture
2023-08-01 12:58:43 +02:00
vodemn
119e079554
Version bump
2023-07-24 11:04:23 +00:00
vodemn
dd5f551fd2
Version bump
2023-07-24 07:54:38 +00:00
vodemn
b53603b3f5
Version bump
2023-07-09 11:50:22 +00: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
ed83540dde
ML-61 Allow pushes from Github Action to protected branch ( #85 )
...
* Replaced zipping action
thedoctor0/zip-release@0.7.1 -> vimtor/action-zip@v1.1
* typo
* recursive: false
* typo
* typo
* debugSymbolLevel 'FULL'
* Update build.gradle
* Version bump
* wip
* wip
* `create-release` job
* removed changelog input
* added `needs`
* Version bump
* typo
* returned to macos-11 runner
* reverted pubspec version
* Version bump
* download artifacts
* Version bump
* extended artifacts path
* Version bump
* added LS
* Version bump
* Version bump
* rename files
* Version bump
* removed ls
* Version bump
* revert version
* typo
* added push to protected branch action
* run push on ubuntu-latest
* added branch name conditions
* Version bump
* typo
* Version bump
2023-06-28 17:53:54 +02:00
Vadim
4d1550f1e7
Version bump
2023-06-20 15:05:57 +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
0013125d68
Version bump
2023-06-08 10:23:35 +02:00
Vadim
1a64ef987b
Version bump
2023-06-04 13:10:56 +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
a0eb641cf3
Version bump
2023-05-21 11:52:10 +02:00
Vadim
ba0d6d3fab
Version bump
2023-05-19 11:24:02 +02:00
Vadim
00b2728453
Updated dependencies versions + lints
2023-05-19 10:47:58 +02:00
Vadim
239e1004a3
Version bump
2023-05-16 11:54:00 +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
f68aea5133
Version bump
2023-05-08 17:18:59 +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
bd675184de
Version bump
2023-05-05 23:37:06 +02:00
Vadim
1a73cefa76
Updated Firebase versions
2023-05-05 18:18:34 +02:00
Vadim
8ded9cf98a
Version bump
2023-05-05 16:32:25 +02:00