TF-1812 Abstract method in handle background task

(cherry picked from commit 16b62ed183e32f10ce9b1002f4097144317650f1)
This commit is contained in:
dab246
2023-05-24 11:27:28 +07:00
committed by Dat Vu
parent de341d4ffe
commit 1bbbbe191c
14 changed files with 37 additions and 39 deletions
@@ -1,11 +1,7 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/offline_mode/observer/work_observer.dart';
import 'package:tmail_ui_user/features/offline_mode/scheduler/work_status.dart';
class SendingEmailObserver extends WorkObserver<Email> {
class SendingEmailObserver extends WorkObserver {
static SendingEmailObserver? _instance;
@@ -14,15 +10,10 @@ class SendingEmailObserver extends WorkObserver<Email> {
factory SendingEmailObserver() => _instance ??= SendingEmailObserver._();
@override
void handleFailureViewState(Failure failure) {
Future<void> observe(String taskId, Map<String, dynamic> inputData) async {
}
@override
void handleSuccessViewState(Success success) {
}
@override
WorkStatus observe(Email value) {
return WorkStatus.failure;
Future<void> bindDI() async {
}
}
@@ -3,10 +3,11 @@ import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/utils/app_logger.dart';
import 'package:dartz/dartz.dart';
import 'package:tmail_ui_user/features/offline_mode/scheduler/work_status.dart';
abstract class WorkObserver<T> {
WorkStatus observe(T value);
abstract class WorkObserver {
Future<void> bindDI();
Future<void> observe(String taskId, Map<String, dynamic> inputData);
void consumeState(Stream<Either<Failure, Success>> newStateStream) {
newStateStream.listen(
@@ -22,7 +23,7 @@ abstract class WorkObserver<T> {
newState.fold(handleFailureViewState, handleSuccessViewState);
}
void handleFailureViewState(Failure failure);
void handleFailureViewState(Failure failure) {}
void handleSuccessViewState(Success success);
void handleSuccessViewState(Success success) {}
}