b1af1d8533
(cherry picked from commit ee2dca9b34a907c8356ceccf0b23efba2893a01c)
38 lines
946 B
Dart
38 lines
946 B
Dart
|
|
import 'package:equatable/equatable.dart';
|
|
import 'package:tmail_ui_user/features/offline_mode/scheduler/worker.dart';
|
|
import 'package:workmanager/workmanager.dart';
|
|
|
|
/// Represents the scheduling of requests
|
|
abstract class WorkRequest with EquatableMixin {
|
|
final Worker worker;
|
|
final Duration initialDelay;
|
|
final Duration backoffPolicyDelay;
|
|
final ExistingWorkPolicy? existingWorkPolicy;
|
|
final BackoffPolicy? backoffPolicy;
|
|
final OutOfQuotaPolicy? outOfQuotaPolicy;
|
|
final Constraints? constraints;
|
|
|
|
WorkRequest(
|
|
this.worker,
|
|
{
|
|
this.initialDelay = Duration.zero,
|
|
this.backoffPolicyDelay = Duration.zero,
|
|
this.existingWorkPolicy,
|
|
this.backoffPolicy,
|
|
this.outOfQuotaPolicy,
|
|
this.constraints
|
|
}
|
|
);
|
|
|
|
@override
|
|
List<Object?> get props => [
|
|
worker,
|
|
initialDelay,
|
|
backoffPolicyDelay,
|
|
existingWorkPolicy,
|
|
backoffPolicy,
|
|
outOfQuotaPolicy,
|
|
constraints
|
|
];
|
|
} |