mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2024-11-24 00:10:47 +00:00
e001c153fb
* [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
61 lines
1.4 KiB
Dart
61 lines
1.4 KiB
Dart
sealed class MeteringCommunicationState {
|
|
const MeteringCommunicationState();
|
|
}
|
|
|
|
class InitState extends MeteringCommunicationState {
|
|
const InitState();
|
|
}
|
|
|
|
sealed class SourceState extends MeteringCommunicationState {
|
|
const SourceState();
|
|
}
|
|
|
|
sealed class ScreenState extends MeteringCommunicationState {
|
|
const ScreenState();
|
|
}
|
|
|
|
class MeasureState extends SourceState {
|
|
const MeasureState();
|
|
}
|
|
|
|
sealed class MeasuredState extends ScreenState {
|
|
final double? ev100;
|
|
|
|
const MeasuredState(this.ev100);
|
|
}
|
|
|
|
class MeteringInProgressState extends MeasuredState {
|
|
const MeteringInProgressState(super.ev100);
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
if (identical(this, other)) return true;
|
|
if (other.runtimeType != runtimeType) return false;
|
|
return other is MeteringInProgressState && other.ev100 == ev100;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(ev100, runtimeType);
|
|
}
|
|
|
|
class MeteringEndedState extends MeasuredState {
|
|
const MeteringEndedState(super.ev100);
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
if (identical(this, other)) return true;
|
|
if (other.runtimeType != runtimeType) return false;
|
|
return other is MeteringEndedState && other.ev100 == ev100;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(ev100, runtimeType);
|
|
}
|
|
|
|
class SettingsOpenedState extends SourceState {
|
|
const SettingsOpenedState();
|
|
}
|
|
|
|
class SettingsClosedState extends SourceState {
|
|
const SettingsClosedState();
|
|
}
|