Commit graph

303 commits

Author SHA1 Message Date
Vadim
a698e8ec6a wip 2024-05-19 19:29:22 +02:00
Vadim
83b4344175 typo 2024-05-17 12:46:18 +02:00
Vadim
58a9a288b0 reorganized store script 2024-05-17 11:05:35 +02:00
Vadim
f868ba5f04 added text for incident light metering 2024-05-17 11:03:52 +02:00
Vadim
5865140574 typo 2024-05-17 11:01:44 +02:00
Vadim
48dc1e0870 added assets for Pixel 6 2024-05-16 19:20:41 +02:00
Vadim
8938b40271 parse ipad name 2024-05-15 22:14:28 +02:00
Vadim
eaa9061ca8 skip metering layout dialog screenshot 2024-05-15 21:59:41 +02:00
Vadim
6aeb83d96b refined screenshots naming 2024-05-15 21:47:03 +02:00
Vadim
ea023f49e1 wip 2024-05-14 16:15:19 +02:00
Vadim
2540aa9364 added standalone script to update screenshots 2024-05-14 15:01:50 +02:00
Vadim
892c061633 store raw screenshots 2024-05-14 14:57:08 +02:00
Vadim
3e16e91f02 typo 2024-05-14 14:53:02 +02:00
Vadim
c7d0d8a7f1 added fonts for dark screenshots 2024-05-14 14:52:58 +02:00
Vadim
d2a953e1f5 cleanup 2024-05-14 14:44:26 +02:00
Vadim
f23752b5dd reorganized screenshot models 2024-05-14 13:48:28 +02:00
Vadim
d7a42fd73f added screenshots config json 2024-05-14 13:47:11 +02:00
Vadim
e91da61238 add text to screenshots (wip) 2024-05-11 17:02:25 +02:00
Vadim
7dc155080b scale device frame (wip) 2024-05-11 16:07:03 +02:00
Vadim
0c6519efa1 add device frame (wip) 2024-05-11 14:59:28 +02:00
Vadim
41b7730f82 added system overlays for iPhone 8 Plus & iPhone 13 Pro 2024-05-10 16:24:12 +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
bc7e6e14d0
ML-170 Show long shutter speeds for all selected aperture values (#172)
* generate exposures > 1"

* fixed unit tests

* added manual shutter speed to equipment profiles

* fixed integration tests

* fixed unit tests

* fixed long exposures overflow

* migrated to resources 1.2.0 and iap 0.10.0

* removed unnecessary loop

* fixed extreme exposure pairs test

* updated master screenshots

* fixed iap stub
2024-04-30 12:44:01 +02:00
Vadim
ec1f1eeeb4 Fixed release creation workflow 2024-04-19 17:03:45 +02:00
Vadim
6dd17961b5 Fixed Android screenshots generator 2024-04-19 16:59:00 +02:00
Vadim
d9ce47e0dd Show release version instead of "Version bump" 2024-04-15 18:27:56 +02:00
github-actions[bot]
5d7853c22e Version bump 2024-04-15 15:37:10 +00: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
d5f28ee5a4
ML-166 Fixed golden tests run on CI (#168)
* stub iap for goldens workflow

* typo

* Updated goldens

* don't push iap stub when updating goldens

* Update pubspec.yaml

* try explicit fonts

* Updated goldens

* set explicit font weights

* disable font smoothing

* run goldens on macos

* typo

* removed defaults from goldens workflow

* run pr check on macos-14

* removed smoothening reset

* Delete run_golden_tests.yml

* deleted fonts folder

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-12 10:43:19 +02:00
Vadim
27d56d1061
ML-166 Golden tests (#167)
* 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
2024-04-12 08:07:20 +02:00
Vadim
2f8bb983d5
MLI-7 Manually restore purchases (#165)
* 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
2024-04-10 22:30:35 +02:00
Vadim
2117df2f11
ML-44 Save zoom level for equipment profile (#164)
* 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
2024-04-07 10:54:57 +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
2128e7c2e9 Fixed test coverage script 2024-03-17 20:18:00 +01:00
Vadim
d6c4240646 ML-157 Improve CI/CD (#162)
* Update README.md

* Set exact Flutter version for workflows

* Added stub `DefaultFirebaseOptions`

* Fixed `rm`

* Removed `rm`

* Update .gitignore

* Added readable name to ci workflow

* Build -> Development

* Update ci.yml

* Extract merged native libraries

* More descriptive run name

* Delete no longer used artifacts

* Replaced "Build ..." flow with "Create release"

* renamed other flows

* try using script for iap stub

* typo

* typo

* typo

* removed working dir

* added comment to stub_iap.sh

* checkout first

* increment build number by script

* Update increment_build_number.sh

* fixed iap repo

* stub

* updated stub script to work with tags

* depend on step conclusion

* check PR number

* run integration tests before build

* reuse Build Android workflow

* added stage backend option

* reuse Build iOS workflow

* temporeraly skip release jobs

* [ios] use distribution profile for release builds

* temporary skip tests

* typo

* checkout actions

* incremented macos runner version

* Restore GoogleService-Info.plist

* Restore firebase_app_id_file.json

* style

* separated android and ios builds

* fixed invalid workflow

* simplified release workflow tree

* fixed android keystore path

* enabled integration tests

* added option to skip integration tests

* fixed android folders...

* enabled releases

* increment build number for ios

* upload ipa to app store

* test ipa upload

* typo

* try to force ipa upload

* removed flavor from ipa artefact name

* try manual ipa upload

* switched to ubuntu for upload

* decode to repo

* Update create_release.yml

* auth with username + password

* reverted temporary settings

* typo

* disable pre-release integration tests by default

* fixed integration tests

* increased integration tests timeout

* delete ipa after upload

* delete all artifacts after the run

* fixed integration tests

* reduce integration tests timeout
2024-03-17 20:04:27 +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
Vadim
a1ce17d675
ML-154 Improved EXIF errors reporting (#159)
* 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

* Made errors non-fatal by default

* improved EXIF errors reporting

* fixed tests
2024-02-13 19:33:40 +01:00
Vadim
4f4b6cf1eb
ML-154 Made errors non-fatal by default (#158)
* 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

* Made errors non-fatal by default
2024-02-13 18:19:43 +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
Vadim
9cb1cbaa90
ML-152 Added data extraction rules (#153) 2024-01-26 13:18:07 +01:00
github-actions[bot]
de50b03df9 Version bump 2024-01-25 19:22:11 +00:00
Vadim
5fe6c46fd7 Updated Pro features description 2024-01-25 20:04:14 +01:00
ScaredCube
7d0c6684d1
Fix Chinese Translation Errors (#151)
Fix translation bugs
Fix redundant letter "s"
Fix wrong Traditional Chinese
2024-01-25 09:53:15 +01:00
github-actions[bot]
d66404e085 Version bump 2024-01-15 22:28:33 +00:00
Vadim
85c409fbe8
ML-134 Firebase Remote Config issues (#150)
* added try-catch to config fetch
2024-01-15 23:13:26 +01: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
8f5893c7d2
ML-143 EV100 indication (#148)
* added `showEV100` to user preferences

* integrated EV100 setting to UI

* available for pro

* replaced `IAPProducts.isPurchased` with context extension

* fixed `UserPreferencesProvider` tests

* EV100 -> Ev100
2024-01-15 20:47:10 +01: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