diff --git a/lib/logic/bloc/backups/backups_bloc.dart b/lib/logic/bloc/backups/backups_bloc.dart index 5f918868..c5e2c43f 100644 --- a/lib/logic/bloc/backups/backups_bloc.dart +++ b/lib/logic/bloc/backups/backups_bloc.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:bloc_concurrency/bloc_concurrency.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -19,33 +20,43 @@ class BackupsBloc extends Bloc { BackupsBloc() : super(BackupsInitial()) { on( _loadState, + transformer: droppable(), ); on( _resetState, + transformer: droppable(), ); on( _updateState, + transformer: droppable(), ); on( _initializeRepository, + transformer: droppable(), ); on( _forceSnapshotListUpdate, + transformer: droppable(), ); on( _createBackups, + transformer: sequential(), ); on( _restoreBackup, + transformer: sequential(), ); on( _setAutobackupPeriod, + transformer: restartable(), ); on( _setAutobackupQuotas, + transformer: restartable(), ); on( _forgetSnapshot, + transformer: sequential(), ); final connectionRepository = getIt(); diff --git a/lib/logic/bloc/server_jobs/server_jobs_bloc.dart b/lib/logic/bloc/server_jobs/server_jobs_bloc.dart index c0396661..43b415e6 100644 --- a/lib/logic/bloc/server_jobs/server_jobs_bloc.dart +++ b/lib/logic/bloc/server_jobs/server_jobs_bloc.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:bloc_concurrency/bloc_concurrency.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:selfprivacy/config/get_it_config.dart'; @@ -17,12 +18,15 @@ class ServerJobsBloc extends Bloc { ) { on( _mapServerJobsListChangedToState, + transformer: sequential(), ); on( _mapRemoveServerJobToState, + transformer: sequential(), ); on( _mapRemoveAllFinishedJobsToState, + transformer: droppable(), ); final apiConnectionRepository = getIt(); diff --git a/lib/logic/bloc/services/services_bloc.dart b/lib/logic/bloc/services/services_bloc.dart index 0f7e927d..7f84eca7 100644 --- a/lib/logic/bloc/services/services_bloc.dart +++ b/lib/logic/bloc/services/services_bloc.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:bloc_concurrency/bloc_concurrency.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -14,15 +15,19 @@ class ServicesBloc extends Bloc { ServicesBloc() : super(ServicesInitial()) { on( _updateList, + transformer: sequential(), ); on( _reload, + transformer: droppable(), ); on( _restart, + transformer: sequential(), ); on( _move, + transformer: sequential(), ); final connectionRepository = getIt(); diff --git a/pubspec.lock b/pubspec.lock index e1874330..4c2cee42 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -81,6 +81,14 @@ packages: url: "https://pub.dev" source: hosted version: "8.1.2" + bloc_concurrency: + dependency: "direct main" + description: + name: bloc_concurrency + sha256: d945b33641a3c3f12fa12a1437e77f784444dd9a3a66a3a4f5aaa6e049154d36 + url: "https://pub.dev" + source: hosted + version: "0.2.3" boolean_selector: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 12a071d1..289888d7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,6 +11,7 @@ dependencies: animations: ^2.0.8 auto_route: ^7.8.4 auto_size_text: ^3.0.0 + bloc_concurrency: ^0.2.3 crypt: ^4.3.1 cubit_form: ^2.0.1 device_info_plus: ^9.1.1