Commit graph

212 commits

Author SHA1 Message Date
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
4917ee8aef
ML-61 Try to automate GP & Github releases via Github Actions (#103)
* Added option to create separate releases

* Removed branch condition

* Added default values to releases checkboxes

* Removed user fraction

* Remove .md extension for GP release

* More refined releases conditions

* Parse release name

* Create Google Play release name

* Checkout first

* Update create_release.yml

* Increment build number only for GH release

* Release with status `complete`

* typo
2023-08-10 12:42:31 +02:00
vodemn
6e3588a72e Version bump 2023-08-09 15:20:00 +00:00
Vadim
dafbc68288 Increased build job timeout 2023-08-09 17:06:47 +02:00
Vadim
bdb0442dd1 Fixed release jobs dependencies 2023-08-09 16:49:02 +02:00
Vadim
d41fa6fa84
ML-61 Download each artifact separately (#102)
* Download each artifact separately

* typo

* Updated setup-java action

* Extract merged native libs directly in GP release job
2023-08-09 16:39:41 +02:00
Vadim
b9412c7441
ML-61 Create Google Play release from Github actions (#101)
* Delete all artefacts after GP release

* Update create_release.yml

* Added release notes formatting

* Preserve release zip if GP release creation failed

* Create whatsnew folder
2023-08-09 12:24:12 +02:00
Vadim
d91441bac9
ML-95 Live histogram (#100)
* Removed redundant `stopImageStream()`
2023-08-08 11:46:43 +02:00
vodemn
9c11401175 Version bump 2023-08-07 14:59:47 +00:00
Vadim
737a9aa2c2
ML-98 Metering top bar cutout doesn't pass through taps (#99)
* replaced `OverflowBox` with `Stack`
2023-08-07 12:56:29 +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
Vadim
1310b78a54
ML-61 Delete artefacts after release creation (#96)
* Replaced "Build ..." flow with "Create new release"

* Renamed other flows
2023-08-05 21:11:23 +02:00
Vadim
8a71c8db13 Added switch animations to MeteringScreen 2023-08-04 16:17:40 +02:00
vodemn
6e1aaf5acf Version bump 2023-08-03 20:54:33 +00:00
Vadim
c12cfb1697 Lock & release focus when taking a picture 2023-08-03 22:46:01 +02: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
Vadim
40c670ad30
Updated README Build section (#94)
* 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
2023-07-25 17:31:01 +02:00
vodemn
119e079554 Version bump 2023-07-24 11:04:23 +00:00
ScaredCube
b02b50bac3
Fixed Chinese translation (#93) 2023-07-24 12:16:35 +02:00
vodemn
dd5f551fd2 Version bump 2023-07-24 07:54:38 +00: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
b13acedebd
ML-62 Interactors tests (#87)
* 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
2023-07-10 17:49:34 +02:00
Vadim
47f7b61230 Updated issuesReportUrl to lead to _/new/choose_ 2023-07-10 16:15:57 +02:00
Vadim
37fe6a4a5d
Update issue templates 2023-07-10 16:01:41 +02:00
Vadim
a25ccc0fad
Update issue templates 2023-07-10 13:08:03 +02: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
79d6034894
ML-61 Update version in pubspec & create Github release from GitHub actions (#84)
* 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
2023-06-27 12:17:35 +02:00
Vadim
8ff387c5c5 Fixed com.google.gms:google-services version 2023-06-23 11:41:58 +02:00
Vadim
2735f0b66f
ML-81 Unsaved fractional stops (#83)
* save stop type to sharedPrefs

* tests
2023-06-23 10:47:34 +02:00
Vadim
0c58134733
ML-62 Services tests (#82)
* 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
2023-06-23 10:35: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
4d1550f1e7 Version bump 2023-06-20 15:05:57 +02:00
Vadim
02ece15c5d
ML-61 Try using buildTypes.release.ndk.debugSymbolLevel 'FULL' (#79)
* Replaced zipping action

thedoctor0/zip-release@0.7.1 -> vimtor/action-zip@v1.1

* typo

* recursive: false

* typo

* typo

* debugSymbolLevel 'FULL'

* Update build.gradle
2023-06-20 14:48:28 +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
ad8f0d895a Fixed film discard on ISO change 2023-06-08 10:23:16 +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
c63b5a420d
ML-74 CameraContainerBloc crashes (#75)
* nullable var instead of `late`

* `.then((_) => _cameraController = null));`
2023-05-21 11:50:46 +02:00
Vadim
ba0d6d3fab Version bump 2023-05-19 11:24:02 +02:00
Vadim
8b74c4e1a4
ML-72 buildPreview() was called on a disposed CameraController (#73)
* added `DeinitializeEvent`

* typo
2023-05-19 11:12:10 +02:00
Vadim
00b2728453 Updated dependencies versions + lints 2023-05-19 10:47:58 +02:00
Vadim
749f2beb47 Updated kotlin version 2023-05-16 12:04:49 +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