From 42bba0f64c8fd7f5f0a39b1bc15e9ebfca3b7c4a Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 16 Sep 2022 19:53:57 -0400 Subject: [PATCH] Added option to disable background update checking --- lib/main.dart | 14 +++++++++----- lib/pages/settings.dart | 4 ++++ lib/providers/settings_provider.dart | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 654418c..839695b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -81,11 +81,15 @@ class MyApp extends StatelessWidget { settingsProvider.initializeSettings(); } else { // Register the background update task according to the user's setting - Workmanager().registerPeriodicTask('bg-update-check', 'bg-update-check', - frequency: Duration(minutes: settingsProvider.updateInterval), - initialDelay: Duration(minutes: settingsProvider.updateInterval), - constraints: Constraints(networkType: NetworkType.connected), - existingWorkPolicy: ExistingWorkPolicy.replace); + if (settingsProvider.updateInterval > 0) { + Workmanager().registerPeriodicTask('bg-update-check', 'bg-update-check', + frequency: Duration(minutes: settingsProvider.updateInterval), + initialDelay: Duration(minutes: settingsProvider.updateInterval), + constraints: Constraints(networkType: NetworkType.connected), + existingWorkPolicy: ExistingWorkPolicy.replace); + } else { + Workmanager().cancelByUniqueName('bg-update-check'); + } bool isFirstRun = settingsProvider.checkAndFlipFirstRun(); if (isFirstRun) { // If this is the first run, ask for notification permissions and add Obtainium to the Apps list diff --git a/lib/pages/settings.dart b/lib/pages/settings.dart index 976b033..64406f4 100644 --- a/lib/pages/settings.dart +++ b/lib/pages/settings.dart @@ -103,6 +103,10 @@ class _SettingsPageState extends State { value: 1440, child: Text('1 Day'), ), + DropdownMenuItem( + value: 0, + child: Text('Never - Manual Only'), + ), ], onChanged: (value) { if (value != null) { diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart index d52c67d..5613af9 100644 --- a/lib/providers/settings_provider.dart +++ b/lib/providers/settings_provider.dart @@ -45,7 +45,7 @@ class SettingsProvider with ChangeNotifier { } set updateInterval(int min) { - prefs?.setInt('updateInterval', min < 15 ? 15 : min); + prefs?.setInt('updateInterval', (min < 15 && min != 0) ? 15 : min); notifyListeners(); }