diff --git a/lib/main.dart b/lib/main.dart index 87e25cc..cfebd9d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -32,17 +32,18 @@ bgUpdateCheck(int? ignoreAfterMicroseconds) async { // appsProvider.getExistingUpdates(installedOnly: true); List existingUpdateIds = appsProvider.getExistingUpdates(installedOnly: true); - // DateTime nextIgnoreAfter = DateTime.now(); + DateTime nextIgnoreAfter = DateTime.now(); try { await appsProvider.checkUpdates(ignoreAfter: ignoreAfter); } catch (e) { if (e is RateLimitError) { // Ignore these (scheduling another task as below does not work) - // Workmanager().registerOneOffTask( - // bgUpdateCheckTaskName, bgUpdateCheckTaskName, - // constraints: Constraints(networkType: NetworkType.connected), - // initialDelay: Duration(minutes: e.remainingMinutes), - // inputData: {'ignoreAfter': nextIgnoreAfter.microsecondsSinceEpoch}); + String nextTaskName = + '$bgUpdateCheckTaskName-${nextIgnoreAfter.microsecondsSinceEpoch.toString()}'; + Workmanager().registerOneOffTask(nextTaskName, nextTaskName, + constraints: Constraints(networkType: NetworkType.connected), + initialDelay: Duration(minutes: e.remainingMinutes), + inputData: {'ignoreAfter': nextIgnoreAfter.microsecondsSinceEpoch}); } else { rethrow; } diff --git a/lib/pages/settings.dart b/lib/pages/settings.dart index bdaeefc..b917f0f 100644 --- a/lib/pages/settings.dart +++ b/lib/pages/settings.dart @@ -197,7 +197,7 @@ class _SettingsPageState extends State { height: 8, ), Text( - 'Large App collections may require multiple cycles', + 'Longer intervals recommended for large App collections', style: Theme.of(context) .textTheme .labelMedium!