WT 1.1.26+3 bloc migration
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:aitrainer_app/model/cache.dart';
|
||||
import 'package:aitrainer_app/model/exercise_device.dart';
|
||||
import 'package:aitrainer_app/repository/customer_exercise_device_repository.dart';
|
||||
@@ -16,36 +14,38 @@ class CustomerExerciseDeviceBloc extends Bloc<CustomerExerciseDeviceEvent, Custo
|
||||
final List<ExerciseDevice>? devices;
|
||||
|
||||
CustomerExerciseDeviceBloc({required this.repository, required this.devices}) : super(CustomerExerciseDeviceInitial()) {
|
||||
_load();
|
||||
on<CustomerExerciseDeviceLoad>(_onLoad);
|
||||
on<CustomerExerciseDeviceAdd>(_onDeviceAdd);
|
||||
on<CustomerExerciseDeviceRemove>(_onDeviceRemove);
|
||||
}
|
||||
|
||||
void _onLoad(CustomerExerciseDeviceLoad event, Emitter<CustomerExerciseDeviceState> emit) {
|
||||
emit(CustomerExerciseDeviceLoading());
|
||||
emit(CustomerExerciseDeviceReady());
|
||||
}
|
||||
|
||||
void _onDeviceAdd(CustomerExerciseDeviceAdd event, Emitter<CustomerExerciseDeviceState> emit) async {
|
||||
emit(CustomerExerciseDeviceLoading());
|
||||
await repository.addDevice(event.device);
|
||||
Cache().initBadges();
|
||||
emit(CustomerExerciseDeviceReady());
|
||||
}
|
||||
|
||||
void _onDeviceRemove(CustomerExerciseDeviceRemove event, Emitter<CustomerExerciseDeviceState> emit) async {
|
||||
emit(CustomerExerciseDeviceLoading());
|
||||
await repository.removeDevice(event.device);
|
||||
Cache().initBadges();
|
||||
emit(CustomerExerciseDeviceReady());
|
||||
}
|
||||
|
||||
void _load() {
|
||||
if (repository.getDevices().isEmpty) {
|
||||
repository.setDevices(Cache().getCustomerDevices()!);
|
||||
}
|
||||
Track().track(TrackingEvent.exercise_device);
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<CustomerExerciseDeviceState> mapEventToState(
|
||||
CustomerExerciseDeviceEvent event,
|
||||
) async* {
|
||||
try {
|
||||
if (event is CustomerExerciseDeviceLoad) {
|
||||
yield CustomerExerciseDeviceLoading();
|
||||
yield CustomerExerciseDeviceReady();
|
||||
} else if (event is CustomerExerciseDeviceAdd) {
|
||||
yield CustomerExerciseDeviceLoading();
|
||||
await repository.addDevice(event.device);
|
||||
Cache().initBadges();
|
||||
yield CustomerExerciseDeviceReady();
|
||||
} else if (event is CustomerExerciseDeviceRemove) {
|
||||
yield CustomerExerciseDeviceLoading();
|
||||
await repository.removeDevice(event.device);
|
||||
Cache().initBadges();
|
||||
yield CustomerExerciseDeviceReady();
|
||||
}
|
||||
} on Exception catch (ex) {
|
||||
yield CustomerExerciseDeviceError(message: ex.toString());
|
||||
}
|
||||
}
|
||||
|
||||
bool hasCustomerDevice(int exerciseDeviceId) {
|
||||
return repository.hasDevice(exerciseDeviceId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user