@@ -7,15 +7,19 @@ import 'package:shared_preferences/shared_preferences.dart';
77import 'package:uuid/uuid.dart' ;
88import 'package:workmanager/workmanager.dart' ;
99
10- const String dataTransferTaskName = 'dataTransferTask' ;
11- const String retryTaskName = 'retryTask' ;
10+ const String dataTransferTaskName =
11+ 'dev.fluttercommunity.integrationTest.dataTransferTask' ;
12+ const String retryTaskName = 'dev.fluttercommunity.integrationTest.retryTask' ;
1213
1314/// One retry is enough to test the retry logic
1415const int kMaxRetryAttempts = 1 ;
1516
1617@pragma ('vm:entry-point' )
1718void callbackDispatcher () {
1819 Workmanager ().executeTask ((task, inputData) async {
20+ print (
21+ 'CallbackDispatcher called with task: $task and inputData: $inputData ' );
22+
1923 if (task == retryTaskName) {
2024 SharedPreferences prefs = await SharedPreferences .getInstance ();
2125 await prefs.reload ();
@@ -91,7 +95,7 @@ void main() {
9195 };
9296
9397 await workmanager.registerOneOffTask (
94- 'test.inputData' ,
98+ dataTransferTaskName ,
9599 dataTransferTaskName,
96100 inputData: testData,
97101 );
@@ -112,7 +116,7 @@ void main() {
112116 fail ('Input data was not transferred correctly to native side.' );
113117 });
114118
115- testWidgets ('retry task should retry up to 3 times' ,
119+ testWidgets ('retry task should retry up to ${ kMaxRetryAttempts } times' ,
116120 (WidgetTester tester) async {
117121 await workmanager.initialize (callbackDispatcher);
118122
@@ -125,15 +129,15 @@ void main() {
125129
126130 try {
127131 await workmanager.registerOneOffTask (
128- 'test.retry' ,
132+ retryTaskName ,
129133 retryTaskName,
130134 inputData: {'counter_name' : counterName},
131135 backoffPolicy: BackoffPolicy .linear,
132136 backoffPolicyDelay: const Duration (seconds: 1 ),
133137 );
134138
135139 // Wait for the task to complete
136- for (int i = 0 ; i < 100 ; i++ ) {
140+ for (int i = 0 ; i < 45 ; i++ ) {
137141 await Future .delayed (const Duration (seconds: 1 ));
138142 await prefs.reload ();
139143 if (prefs.getInt (counterName) == kMaxRetryAttempts) {
@@ -144,7 +148,7 @@ void main() {
144148 } catch (e) {
145149 fail ('Retry task failed with exception: $e ' );
146150 } finally {
147- await workmanager.cancelByUniqueName ('test.retry' );
151+ await workmanager.cancelByUniqueName (retryTaskName );
148152 }
149153 });
150154 testWidgets ('registerOneOffTask basic should succeed' ,
0 commit comments