WT1.1.11 Null-Safe migration

This commit is contained in:
bossanyit
2021-04-02 11:42:26 +02:00
parent a656562c49
commit 01148c6e39
219 changed files with 3208 additions and 5334 deletions
+23 -11
View File
@@ -1,6 +1,6 @@
import 'dart:async';
import 'package:audioplayer/audioplayer.dart';
//import 'package:audioplayer/audioplayer.dart';
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
@@ -8,7 +8,7 @@ part 'timer_event.dart';
part 'timer_state.dart';
class Ticker {
Stream<int> tick({int ticks}) {
Stream<int> tick({required int ticks}) {
return Stream.periodic(Duration(seconds: 1), (x) => compute(ticks, x)).take(ticks);
}
@@ -22,11 +22,12 @@ class TimerBloc extends Bloc<TimerEvent, TimerState> {
final Ticker _ticker = Ticker();
int _duration = 0;
final AudioPlayer audioPlayer = AudioPlayer();
//final AudioPlayer audioPlayer = AudioPlayer();
int minutes = 0;
int seconds = 0;
StreamSubscription<int> _tickerSubscription;
// ignore: cancel_subscriptions
StreamSubscription<int>? _tickerSubscription;
TimerBloc() : super(TimerReady(300));
@@ -52,21 +53,27 @@ class TimerBloc extends Bloc<TimerEvent, TimerState> {
yield* _mapTickToState(event);
} else if (event is TimerEnd) {
print("$event");
_tickerSubscription?.cancel();
if (_tickerSubscription != null) {
_tickerSubscription!.cancel();
}
yield TimerFinished(state.duration);
}
}
@override
Future<void> close() {
_tickerSubscription?.cancel();
if (_tickerSubscription != null) {
_tickerSubscription!.cancel();
}
return super.close();
}
Stream<TimerState> _mapStartToState(TimerStart start) async* {
//print("$start");
yield TimerRunning(start.duration);
_tickerSubscription?.cancel();
if (_tickerSubscription != null) {
_tickerSubscription!.cancel();
}
_tickerSubscription = _ticker.tick(ticks: start.duration).listen(
(localDuration) {
//print("local: $localDuration");
@@ -77,14 +84,19 @@ class TimerBloc extends Bloc<TimerEvent, TimerState> {
Stream<TimerState> _mapPauseToState(TimerPause pause) async* {
if (state is TimerRunning) {
_tickerSubscription?.pause();
if (_tickerSubscription != null) {
_tickerSubscription!.pause();
}
yield TimerPaused(state.duration);
}
}
Stream<TimerState> _mapResumeToState(TimerResume pause) async* {
if (state is TimerPaused) {
_tickerSubscription?.resume();
if (_tickerSubscription != null) {
_tickerSubscription!.resume();
}
yield TimerRunning(state.duration);
}
}
@@ -100,7 +112,7 @@ class TimerBloc extends Bloc<TimerEvent, TimerState> {
yield tick.duration >= 0 ? TimerRunning(tick.duration) : TimerFinished(tick.duration);
}
Future _play() async {
/* Future _play() async {
await audioPlayer.play('asset/wine-glass.mp3', isLocal: true);
}
} */
}
+3 -3
View File
@@ -9,7 +9,7 @@ abstract class TimerEvent extends Equatable {
class TimerStart extends TimerEvent {
final int duration;
const TimerStart({this.duration});
const TimerStart({required this.duration});
@override
String toString() => "TimerStart { duration: $duration }";
@@ -17,12 +17,12 @@ class TimerStart extends TimerEvent {
class TimerEnd extends TimerEvent {
final int duration;
const TimerEnd({this.duration});
const TimerEnd({required this.duration});
}
class TimerTick extends TimerEvent {
final int duration;
const TimerTick({this.duration});
const TimerTick({required this.duration});
@override
String toString() => "Tick { duration: $duration }";
+1 -1
View File
@@ -45,5 +45,5 @@ class TimerFinished extends TimerState {
class TimerError extends TimerState {
final String message;
TimerError(int duration, {this.message}) : super(duration);
TimerError(int duration, {required this.message}) : super(duration);
}