Lightmeter app inspired by Material 3 design system.
Find a file
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
.github/workflows ML-61 Try using buildTypes.release.ndk.debugSymbolLevel 'FULL' (#79) 2023-06-20 14:48:28 +02:00
.vscode ML-58 Metering UX improvements (#63) 2023-05-16 11:47:53 +02:00
android ML-62 Services tests (#82) 2023-06-23 10:35:33 +02:00
assets Generated launcher icons 2022-12-16 18:52:26 +03:00
doc Added GP resources 2023-04-08 17:27:04 +03:00
ios ML-42 Implement equipment profiles creating (#45) 2023-03-30 22:24:18 +03:00
lib ML-62 Services tests (#82) 2023-06-23 10:35:33 +02:00
test ML-62 Services tests (#82) 2023-06-23 10:35:33 +02:00
.gitignore ML-62 Bloc's tests (#78) 2023-06-20 08:43:49 +02:00
.metadata init project 2022-10-15 19:35:35 +03:00
analysis_options.yaml Updated dependencies versions + lints 2023-05-19 10:47:58 +02:00
crowdin.yml Push new localization strings to Crowdin (#30) 2023-02-12 13:09:55 +03:00
LICENSE Initial commit 2022-10-15 16:00:14 +03:00
PRIVACY_POLICY.md Update PRIVACY_POLICY.md 2023-02-24 10:22:56 +03:00
pubspec.yaml Version bump 2023-06-20 15:05:57 +02:00
README.md Checked reciprocity in legacy features 2023-04-09 17:31:51 +03:00
test_coverage.sh ML-62 Bloc's tests (#78) 2023-06-20 08:43:49 +02:00

Material Lightmeter

Table of contents

Backstory

Some time ago I've started developing the Material Lightmeter app. Unfortunately, the last update of this app was almost a year prior to creation of this repo. So after reading some positive review on Google Play saying that "this is an excellent app, too bad it is no longer updated", I've decided to make an update and also make this app open source. Maybe someone sometime will decide to contribute to this project.

But as the existing repo contained some sensitive data, that I've pushed due to lack of experience, I had to make a new one. And if creating a new repo, why not rewrite the app from scratch?)

Without further delay behold my new Lightmeter app inspired by Material You (a.k.a. M3)

Legacy features

The list of features that the old lightmeter app has and that have to be implemeneted in the M3 lightmeter.

Metering

  • ISO selecting
  • Reciprocity for different films
  • Reflected light metering
  • Incident light metering

Adjust

  • Light sources EV calibration
  • Customizable aperture range
  • Customizable shutter speed range
  • ND filter select

General

  • Caffeine
  • Vibration
  • Volume button actions

Theme

  • Dark theme
  • Picking primary color
  • Russian language

Build

As part of this project is private, you will be able to run this app from the main_dev.dart file (i.e. --flavor dev). Also to avoid fatal errors the main_prod.dart file is excluded from analysis.

Contribution

To report a bug or suggest a new feature open a new issue.

In case you want to help develop this project you need to follow this style guide.