LCOV - code coverage report
Current view: top level - src/testing - native_work_manager_client.dart Coverage Total Hit
Test: lcov.info Lines: 0.0 % 36 0
Test Date: 2026-04-30 18:23:23 Functions: - 0 0

            Line data    Source code
       1              : import '../constraints.dart';
       2              : import '../enqueue_request.dart';
       3              : import '../events.dart';
       4              : import '../native_work_manager.dart';
       5              : import '../task_chain.dart';
       6              : import '../task_graph.dart';
       7              : import '../task_handler.dart';
       8              : import '../task_trigger.dart';
       9              : import '../worker.dart';
      10              : import 'i_work_manager.dart';
      11              : 
      12              : /// Production [IWorkManager] that delegates to [NativeWorkManager].
      13              : ///
      14              : /// Use this class as the real implementation in production code.
      15              : /// Pass [FakeWorkManager] in tests instead.
      16              : ///
      17              : /// ## DI registration examples
      18              : ///
      19              : /// ### get_it
      20              : /// ```dart
      21              : /// GetIt.instance.registerLazySingleton<IWorkManager>(
      22              : ///   () => NativeWorkManagerClient(),
      23              : /// );
      24              : /// ```
      25              : ///
      26              : /// ### Riverpod
      27              : /// ```dart
      28              : /// final workManagerProvider = Provider<IWorkManager>(
      29              : ///   (ref) => NativeWorkManagerClient(),
      30              : /// );
      31              : /// ```
      32              : ///
      33              : /// ### Flutter InheritedWidget / Provider package
      34              : /// ```dart
      35              : /// Provider<IWorkManager>(
      36              : ///   create: (_) => NativeWorkManagerClient(),
      37              : ///   child: MyApp(),
      38              : /// )
      39              : /// ```
      40              : class NativeWorkManagerClient implements IWorkManager {
      41            0 :   const NativeWorkManagerClient();
      42              : 
      43            0 :   @override
      44            0 :   Stream<TaskEvent> get events => NativeWorkManager.events;
      45              : 
      46            0 :   @override
      47            0 :   Stream<TaskProgress> get progress => NativeWorkManager.progress;
      48              : 
      49            0 :   @override
      50              :   Future<Map<String, TaskProgress>> getRunningProgress() =>
      51            0 :       NativeWorkManager.getRunningProgress();
      52              : 
      53            0 :   @override
      54              :   Future<TaskHandler> enqueue({
      55              :     required String taskId,
      56              :     required TaskTrigger trigger,
      57              :     required Worker worker,
      58              :     Constraints constraints = const Constraints(),
      59              :     ExistingTaskPolicy existingPolicy = ExistingTaskPolicy.replace,
      60              :     String? tag,
      61              :   }) =>
      62            0 :       NativeWorkManager.enqueue(
      63              :         taskId: taskId,
      64              :         trigger: trigger,
      65              :         worker: worker,
      66              :         constraints: constraints,
      67              :         existingPolicy: existingPolicy,
      68              :         tag: tag,
      69              :       );
      70              : 
      71            0 :   @override
      72              :   Future<List<TaskHandler>> enqueueAll(List<EnqueueRequest> requests) =>
      73            0 :       NativeWorkManager.enqueueAll(requests);
      74              : 
      75            0 :   @override
      76              :   TaskChainBuilder beginWith(TaskRequest task) =>
      77            0 :       NativeWorkManager.beginWith(task);
      78              : 
      79            0 :   @override
      80              :   Future<GraphExecution> enqueueGraph(TaskGraph graph) =>
      81            0 :       NativeWorkManager.enqueueGraph(graph);
      82              : 
      83            0 :   @override
      84              :   Future<void> cancel({required String taskId}) =>
      85            0 :       NativeWorkManager.cancel(taskId: taskId);
      86              : 
      87            0 :   @override
      88              :   Future<void> cancelByTag({required String tag}) =>
      89            0 :       NativeWorkManager.cancelByTag(tag: tag);
      90              : 
      91            0 :   @override
      92            0 :   Future<void> cancelAll() => NativeWorkManager.cancelAll();
      93              : 
      94            0 :   @override
      95              :   Future<void> pause({required String taskId}) =>
      96            0 :       NativeWorkManager.pause(taskId: taskId);
      97              : 
      98            0 :   @override
      99              :   Future<void> resume({required String taskId}) async =>
     100            0 :       NativeWorkManager.resume(taskId: taskId);
     101              : 
     102            0 :   @override
     103              :   Future<TaskStatus?> getTaskStatus({required String taskId}) =>
     104            0 :       NativeWorkManager.getTaskStatus(taskId: taskId);
     105              : 
     106            0 :   @override
     107              :   Future<TaskRecord?> getTaskRecord({required String taskId}) =>
     108            0 :       NativeWorkManager.getTaskRecord(taskId: taskId);
     109              : 
     110            0 :   @override
     111              :   Future<List<String>> getTasksByTag({required String tag}) =>
     112            0 :       NativeWorkManager.getTasksByTag(tag: tag);
     113              : 
     114            0 :   @override
     115            0 :   Future<List<String>> getAllTags() => NativeWorkManager.getAllTags();
     116              : 
     117            0 :   @override
     118            0 :   Future<List<TaskRecord>> allTasks() => NativeWorkManager.allTasks();
     119              : 
     120              :   /// No-op for the real client — [NativeWorkManager] is process-scoped.
     121            0 :   @override
     122              :   void dispose() {}
     123              : }
        

Generated by: LCOV version 2.4-0