From ea239ffa3a25f61d07a19c17c907dcd26c2d9f40 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sun, 20 Oct 2024 12:51:07 -0400 Subject: [PATCH] Optional "when charging only" toggle for BG updates (#1914) --- assets/translations/bs.json | 1 + assets/translations/cs.json | 1 + assets/translations/da.json | 1 + assets/translations/de.json | 1 + assets/translations/en-EO.json | 1 + assets/translations/en.json | 1 + assets/translations/es.json | 1 + assets/translations/fa.json | 1 + assets/translations/fr.json | 1 + assets/translations/hu.json | 1 + assets/translations/id.json | 1 + assets/translations/it.json | 1 + assets/translations/ja.json | 1 + assets/translations/nl.json | 1 + assets/translations/pl.json | 1 + assets/translations/pt.json | 1 + assets/translations/ru.json | 1 + assets/translations/sv.json | 1 + assets/translations/tr.json | 1 + assets/translations/uk.json | 1 + assets/translations/vi.json | 1 + assets/translations/zh-Hant-TW.json | 1 + assets/translations/zh.json | 1 + lib/pages/settings.dart | 19 ++++++++++++++++++ lib/providers/apps_provider.dart | 30 ++++++++++++++++------------ lib/providers/settings_provider.dart | 9 +++++++++ pubspec.lock | 24 ++++++++++++++++++++++ pubspec.yaml | 1 + 28 files changed, 93 insertions(+), 13 deletions(-) diff --git a/assets/translations/bs.json b/assets/translations/bs.json index b28d8d6..2075ea7 100644 --- a/assets/translations/bs.json +++ b/assets/translations/bs.json @@ -258,6 +258,7 @@ "intermediateLink": "Intermediate veza", "exemptFromBackgroundUpdates": "Izuzmi iz ažuriranja u pozadini (ako su uključeni)", "bgUpdatesOnWiFiOnly": "Isključite ažuriranje u pozadini kada niste na WiFi-ju", + "bgUpdatesWhileChargingOnly": "Disable background updates when not charging", "autoSelectHighestVersionCode": "Automatski izaberite najveću (verziju) versionCode APK-a", "versionExtractionRegEx": "RegEx ekstrakcija verzije", "trimVersionString": "Trim Version String With RegEx", diff --git a/assets/translations/cs.json b/assets/translations/cs.json index 5c2d5b0..0d6ec90 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -258,6 +258,7 @@ "intermediateLink": "Připojený odkaz", "exemptFromBackgroundUpdates": "Vyloučit z aktualizací na pozadí (je-li povoleno)", "bgUpdatesOnWiFiOnly": "Deaktivovat aktualizace na pozadí, pokud není k dispozici Wi-Fi", + "bgUpdatesWhileChargingOnly": "Zakázat aktualizace na pozadí, když se nenabíjí", "autoSelectHighestVersionCode": "Automaticky vybrat nejvyšší verzi APK", "versionExtractionRegEx": "Extrakce verze pomocí RegEx", "trimVersionString": "Oříznutí řetězce verze pomocí příkazu RegEx", diff --git a/assets/translations/da.json b/assets/translations/da.json index 6199721..f401432 100644 --- a/assets/translations/da.json +++ b/assets/translations/da.json @@ -258,6 +258,7 @@ "intermediateLink": "Mellemliggende link", "exemptFromBackgroundUpdates": "Undtag fra baggrundsopdateringer (hvis aktiveret)", "bgUpdatesOnWiFiOnly": "Deaktivér baggrundsopdateringer, når du ikke er på WiFi", + "bgUpdatesWhileChargingOnly": "Deaktiver baggrundsopdateringer, når der ikke oplades", "autoSelectHighestVersionCode": "Auto-vælg højeste versionKode af APK", "versionExtractionRegEx": "RegEx for versionsstrengsudtrækning", "trimVersionString": "Trim versionsstrengen med RegEx", diff --git a/assets/translations/de.json b/assets/translations/de.json index b58c998..1b41fe1 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -258,6 +258,7 @@ "intermediateLink": "„Zwischen“-Link", "exemptFromBackgroundUpdates": "Ausschluss von Hintergrundaktualisierungen (falls aktiviert)", "bgUpdatesOnWiFiOnly": "Hintergrundaktualisierungen deaktivieren, wenn kein WLAN vorhanden ist", + "bgUpdatesWhileChargingOnly": "Hintergrundaktualisierungen deaktivieren, wenn nicht geladen wird", "autoSelectHighestVersionCode": "Automatisch höchste APK-Version auswählen", "versionExtractionRegEx": "Versionsextraktion per RegEx", "trimVersionString": "Versionszeichenfolge mit RegEx kürzen", diff --git a/assets/translations/en-EO.json b/assets/translations/en-EO.json index 0c074a6..1e64ed8 100644 --- a/assets/translations/en-EO.json +++ b/assets/translations/en-EO.json @@ -258,6 +258,7 @@ "intermediateLink": "Pera ligilo", "exemptFromBackgroundUpdates": "Escepti el la fonaj ĝisdatigoj (se aktiva)", "bgUpdatesOnWiFiOnly": "Malaktivigi fonajn ĝisdatigojn se sen vifio", + "bgUpdatesWhileChargingOnly": "Disable background updates when not charging", "autoSelectHighestVersionCode": "Aŭtomate selekti la plej ĵusan version de la APK-kodo", "versionExtractionRegEx": "Ekstrakti la versioĉenon per regula esprimo", "trimVersionString": "Mallongigi la versioĉenon per regula esprimo", diff --git a/assets/translations/en.json b/assets/translations/en.json index 8b5d7f0..36f4673 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -258,6 +258,7 @@ "intermediateLink": "Intermediate link", "exemptFromBackgroundUpdates": "Exempt from background updates (if enabled)", "bgUpdatesOnWiFiOnly": "Disable background updates when not on WiFi", + "bgUpdatesWhileChargingOnly": "Disable background updates when not charging", "autoSelectHighestVersionCode": "Auto-select highest versionCode APK", "versionExtractionRegEx": "Version String Extraction RegEx", "trimVersionString": "Trim Version String With RegEx", diff --git a/assets/translations/es.json b/assets/translations/es.json index 8a3dba8..0f53c19 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -258,6 +258,7 @@ "intermediateLink": "Enlace intermedio", "exemptFromBackgroundUpdates": "Exenta de actualizciones en segundo plano (si están habilitadas)", "bgUpdatesOnWiFiOnly": "Deshabilitar las actualizaciones en segundo plano sin WiFi", + "bgUpdatesWhileChargingOnly": "Desactiva las actualizaciones en segundo plano cuando no estés cargando", "autoSelectHighestVersionCode": "Auto selección del paquete APK con versión más reciente", "versionExtractionRegEx": "Versión de extracción regex", "trimVersionString": "Recortar cadena de versión con RegEx", diff --git a/assets/translations/fa.json b/assets/translations/fa.json index b298a1a..6c8ec08 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -258,6 +258,7 @@ "intermediateLink": "پیوند میانی", "exemptFromBackgroundUpdates": "معاف از به‌روزرسانی‌های پس‌زمینه (در صورت فعال بودن)", "bgUpdatesOnWiFiOnly": "به‌روزرسانی‌های پس‌زمینه را در صورت عدم اتصال به WiFi غیرفعال کنید", + "bgUpdatesWhileChargingOnly": "Disable background updates when not charging", "autoSelectHighestVersionCode": "انتخاب خودکار بالاترین نسخه کد APK", "versionExtractionRegEx": "نسخه استخراج RegEx", "trimVersionString": "برش رشته نسخه با RegEx", diff --git a/assets/translations/fr.json b/assets/translations/fr.json index 8909677..0d5c12b 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -258,6 +258,7 @@ "intermediateLink": "Lien intermédiaire", "exemptFromBackgroundUpdates": "Exclure de la mise à jour en arrière-plan (si activé)", "bgUpdatesOnWiFiOnly": "Désactiver les mises à jour en arrière-plan lorsque vous n'êtes pas en WiFi", + "bgUpdatesWhileChargingOnly": "Désactiver les mises à jour en arrière-plan lorsque le véhicule n'est pas en charge", "autoSelectHighestVersionCode": "Sélectionner automatiquement la version la plus récente du code APK", "versionExtractionRegEx": "Extraire la version par Expression régulière", "trimVersionString": "Découper la version par Expression régulière", diff --git a/assets/translations/hu.json b/assets/translations/hu.json index f176fa8..cd9f03c 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -258,6 +258,7 @@ "intermediateLink": "Köztes hivatkozás", "exemptFromBackgroundUpdates": "Mentes a háttérben történő frissítések alól (ha engedélyezett)", "bgUpdatesOnWiFiOnly": "A háttérben történő frissítések letiltása, ha nincs Wi-Fi", + "bgUpdatesWhileChargingOnly": "Háttérfrissítések letiltása, ha nincs töltés", "autoSelectHighestVersionCode": "A legmagasabb verziókódú APK automatikus kiválasztása", "versionExtractionRegEx": "Verzió-karakterlánc kivonatolása reguláris kifejezéssel", "trimVersionString": "Verzió-karakterlánc levágása reguláris kifejezéssel", diff --git a/assets/translations/id.json b/assets/translations/id.json index 4f1fdab..04492cd 100644 --- a/assets/translations/id.json +++ b/assets/translations/id.json @@ -258,6 +258,7 @@ "intermediateLink": "Tautan perantara", "exemptFromBackgroundUpdates": "Dikecualikan dari pembaruan latar belakang (jika diaktifkan)", "bgUpdatesOnWiFiOnly": "Nonaktifkan pembaruan latar belakang saat tidak menggunakan WiFi", + "bgUpdatesWhileChargingOnly": "Menonaktifkan pembaruan latar belakang saat tidak mengisi daya", "autoSelectHighestVersionCode": "Pilih otomatis APK dengan versi kode tertinggi", "versionExtractionRegEx": "Reguler ekspresi terkait ekstraksi versi string", "trimVersionString": "Potong versi string dengan reguler ekspresi", diff --git a/assets/translations/it.json b/assets/translations/it.json index 284229a..27edb13 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -258,6 +258,7 @@ "intermediateLink": "Collegamento intermedio", "exemptFromBackgroundUpdates": "Esente da aggiornamenti in secondo piano (se attivo)", "bgUpdatesOnWiFiOnly": "Disattiva aggiornamenti in secondo piano quando non si usa il WiFi", + "bgUpdatesWhileChargingOnly": "Disabilita gli aggiornamenti in background quando non è in carica", "autoSelectHighestVersionCode": "Auto-seleziona APK con versionCode più alto", "versionExtractionRegEx": "RegEx di estrazione versione", "trimVersionString": "Tagliare la stringa della versione con RegEx", diff --git a/assets/translations/ja.json b/assets/translations/ja.json index 592191e..eaf8e3d 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -258,6 +258,7 @@ "intermediateLink": "中間リンク", "exemptFromBackgroundUpdates": "バックグラウンドアップデートを行わない (有効な場合)", "bgUpdatesOnWiFiOnly": "WiFiを使用していない場合、バックグラウンドアップデートを無効にする", + "bgUpdatesWhileChargingOnly": "非充電時にバックグラウンド更新を無効にする", "autoSelectHighestVersionCode": "最も高いバージョンコードのAPKを自動で選択する", "versionExtractionRegEx": "バージョン抽出の正規表現", "trimVersionString": "正規表現でバージョン文字列をトリムする", diff --git a/assets/translations/nl.json b/assets/translations/nl.json index 6fd0b56..0ba4b98 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -258,6 +258,7 @@ "intermediateLink": "Intermediaire link", "exemptFromBackgroundUpdates": "Vrijgesteld van achtergrond-updates (indien ingeschakeld)", "bgUpdatesOnWiFiOnly": "Achtergrond-updates uitschakelen wanneer niet verbonden met WiFi", + "bgUpdatesWhileChargingOnly": "Achtergrondupdates uitschakelen als er niet wordt opgeladen", "autoSelectHighestVersionCode": "De APK met de hoogste versiecode automatisch selecteren", "versionExtractionRegEx": "Reguliere expressie voor versie-extractie", "trimVersionString": "Versie string trimmen met RegEx", diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 2253d32..a11e06e 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -258,6 +258,7 @@ "intermediateLink": "Łącze pośrednie", "exemptFromBackgroundUpdates": "Wyklucz z uaktualnień w tle (jeśli są włączone)", "bgUpdatesOnWiFiOnly": "Wyłącz aktualizacje w tle, gdy nie ma połączenia z Wi-Fi", + "bgUpdatesWhileChargingOnly": "Wyłącz aktualizacje w tle, gdy urządzenie nie jest ładowane", "autoSelectHighestVersionCode": "Automatycznie wybierz najwyższy kod wersji APK", "versionExtractionRegEx": "Wyrażenie regularne wyodrębniające wersję", "trimVersionString": "Przycinanie łańcucha wersji za pomocą RegEx", diff --git a/assets/translations/pt.json b/assets/translations/pt.json index 3bd3f37..877db80 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -258,6 +258,7 @@ "intermediateLink": "Link intermediário", "exemptFromBackgroundUpdates": "Isento de atualizações em segundo-plano (se ativadas)", "bgUpdatesOnWiFiOnly": "Desative as atualizações em segundo-plano quando não estiver conectado no Wi-Fi", + "bgUpdatesWhileChargingOnly": "Desativar actualizações em segundo plano quando não estiver a carregar", "autoSelectHighestVersionCode": "Auto-selecionar a versão mais recente", "versionExtractionRegEx": "Regex de extração de versão", "trimVersionString": "Cortar a cadeia de caracteres da versão com RegEx", diff --git a/assets/translations/ru.json b/assets/translations/ru.json index f159525..9674bd2 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -258,6 +258,7 @@ "intermediateLink": "Промежуточная ссылка", "exemptFromBackgroundUpdates": "Исключить из фоновых обновлений (если включено)", "bgUpdatesOnWiFiOnly": "Отключить фоновые обновления, если нет соединения с Wi-Fi", + "bgUpdatesWhileChargingOnly": "Отключение фоновых обновлений при отсутствии зарядки", "autoSelectHighestVersionCode": "Автоматически выбирать APK с актуальной версией кода", "versionExtractionRegEx": "Регулярное выражение для извлечения версии", "trimVersionString": "Обрезка строки версии с помощью RegEx", diff --git a/assets/translations/sv.json b/assets/translations/sv.json index eabebd0..9412d2d 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -258,6 +258,7 @@ "intermediateLink": "Mellanlänk", "exemptFromBackgroundUpdates": "Undta från bakgrundsuppdateringar (om aktiverad)", "bgUpdatesOnWiFiOnly": "Inaktivera Bakgrundsuppdateringar utan WiFi", + "bgUpdatesWhileChargingOnly": "Inaktivera bakgrundsuppdateringar när du inte laddar", "autoSelectHighestVersionCode": "Välj automatiskt högsta versionskod APK", "versionExtractionRegEx": "Version Extraction RegEx", "trimVersionString": "Trimma versionssträng med RegEx", diff --git a/assets/translations/tr.json b/assets/translations/tr.json index 55165db..f0b81b5 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -258,6 +258,7 @@ "intermediateLink": "Ara bağlantı", "exemptFromBackgroundUpdates": "Arka plan güncellemelerinden muaf tut (etkinse)", "bgUpdatesOnWiFiOnly": "WiFi olmadığında arka plan güncellemelerini devre dışı bırak", + "bgUpdatesWhileChargingOnly": "Şarj olmadığında arka plan güncellemelerini devre dışı bırakma", "autoSelectHighestVersionCode": "Otomatik olarak en yüksek sürüm kodunu seç", "versionExtractionRegEx": "Sürüm Çıkarma Düzenli İfade", "trimVersionString": "RegEx ile Sürüm Dizesini Kırpma", diff --git a/assets/translations/uk.json b/assets/translations/uk.json index f90d94e..61d3a6e 100644 --- a/assets/translations/uk.json +++ b/assets/translations/uk.json @@ -258,6 +258,7 @@ "intermediateLink": "Проміжне посилання", "exemptFromBackgroundUpdates": "Виключено з фонових оновлень (якщо ввімкнено)", "bgUpdatesOnWiFiOnly": "Вимкнути фонові оновлення поза Wi-Fi", + "bgUpdatesWhileChargingOnly": "Вимкнути фонові оновлення, коли не заряджається", "autoSelectHighestVersionCode": "Автоматичний вибір APK з найвищим кодом версії", "versionExtractionRegEx": "Регулярний вираз для вилучення рядка версії", "trimVersionString": "Обрізати рядок версії за допомогою RegEx", diff --git a/assets/translations/vi.json b/assets/translations/vi.json index cc6a53b..716606f 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -258,6 +258,7 @@ "intermediateLink": "Liên kết trung gian", "exemptFromBackgroundUpdates": "Miễn cập nhật nền (nếu được bật)", "bgUpdatesOnWiFiOnly": "Tắt cập nhật nền khi không có WiFi", + "bgUpdatesWhileChargingOnly": "Disable background updates when not charging", "autoSelectHighestVersionCode": "Tự động chọn APK mã phiên bản cao nhất", "versionExtractionRegEx": "Trích xuất phiên bản RegEx", "trimVersionString": "Trim Version String With RegEx", diff --git a/assets/translations/zh-Hant-TW.json b/assets/translations/zh-Hant-TW.json index f9135f4..0efbae5 100644 --- a/assets/translations/zh-Hant-TW.json +++ b/assets/translations/zh-Hant-TW.json @@ -258,6 +258,7 @@ "intermediateLink": "中間連結", "exemptFromBackgroundUpdates": "免除背景更新(若已啟用)", "bgUpdatesOnWiFiOnly": "停用非 WiFi 的背景更新", + "bgUpdatesWhileChargingOnly": "Disable background updates when not charging", "autoSelectHighestVersionCode": "自動選擇最高 versionCode 的 APK", "versionExtractionRegEx": "版本字串提取正則表達式", "trimVersionString": "用正則表達式修剪版本字串", diff --git a/assets/translations/zh.json b/assets/translations/zh.json index 0d87480..e4ac296 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -258,6 +258,7 @@ "intermediateLink": "中转链接", "exemptFromBackgroundUpdates": "禁用后台更新(仅此应用生效,即使已启用全局后台更新)", "bgUpdatesOnWiFiOnly": "未连接 Wi-Fi 时禁用后台更新", + "bgUpdatesWhileChargingOnly": "不充电时禁用后台更新", "autoSelectHighestVersionCode": "自动选择内部版本号最高的 APK 文件", "versionExtractionRegEx": "提取版本号的正则表达式", "trimVersionString": "使用 RegEx 修剪版本字符串", diff --git a/lib/pages/settings.dart b/lib/pages/settings.dart index 1b8e9c1..19abd3a 100644 --- a/lib/pages/settings.dart +++ b/lib/pages/settings.dart @@ -419,6 +419,25 @@ class _SettingsPageState extends State { }) ], ), + height16, + Row( + mainAxisAlignment: + MainAxisAlignment + .spaceBetween, + children: [ + Flexible( + child: Text(tr( + 'bgUpdatesWhileChargingOnly'))), + Switch( + value: settingsProvider + .bgUpdatesWhileChargingOnly, + onChanged: (value) { + settingsProvider + .bgUpdatesWhileChargingOnly = + value; + }) + ], + ), ], ), ], diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index 300b96a..2f3084e 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -5,6 +5,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:math'; +import 'package:battery_plus/battery_plus.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:http/http.dart' as http; import 'package:crypto/crypto.dart'; @@ -1885,10 +1886,20 @@ Future bgUpdateCheck(String taskId, Map? params) async { (>>[])) ]; - var networkRestricted = false; - if (appsProvider.settingsProvider.bgUpdatesOnWiFiOnly) { - networkRestricted = !netResult.contains(ConnectivityResult.wifi) && - !netResult.contains(ConnectivityResult.ethernet); + var networkRestricted = appsProvider.settingsProvider.bgUpdatesOnWiFiOnly && + !netResult.contains(ConnectivityResult.wifi) && + !netResult.contains(ConnectivityResult.ethernet); + + var chargingRestricted = + appsProvider.settingsProvider.bgUpdatesWhileChargingOnly && + (await Battery().batteryState) != BatteryState.charging; + + if (networkRestricted) { + logs.add('BG update task: Network restriction in effect.'); + } + + if (chargingRestricted) { + logs.add('BG update task: Charging restriction in effect.'); } if (toCheck.isNotEmpty) { @@ -1928,14 +1939,6 @@ Future bgUpdateCheck(String taskId, Map? params) async { CheckingUpdatesNotification notif = CheckingUpdatesNotification( plural('apps', toCheck.length)); // The notif. to show while checking - // Set a bool for when we're no on wifi/wired and the user doesn't want to download apps in that state - var networkRestricted = false; - if (appsProvider.settingsProvider.bgUpdatesOnWiFiOnly) { - var netResult = await (Connectivity().checkConnectivity()); - networkRestricted = !netResult.contains(ConnectivityResult.wifi) && - !netResult.contains(ConnectivityResult.ethernet); - } - try { // Check for updates notificationsProvider.notify(notif, cancelExisting: true); @@ -1983,6 +1986,7 @@ Future bgUpdateCheck(String taskId, Map? params) async { // Filter out updates that will be installed silently (the rest go into toNotify) for (var i = 0; i < updates.length; i++) { if (networkRestricted || + chargingRestricted || !(await appsProvider.canInstallSilently(updates[i]))) { if (updates[i].additionalSettings['skipUpdateNotifications'] != true) { toNotify.add(updates[i]); @@ -2029,7 +2033,7 @@ Future bgUpdateCheck(String taskId, Map? params) async { } else { // In install mode... // If you haven't explicitly been given updates to install, grab all available silent updates - if (toInstall.isEmpty && !networkRestricted) { + if (toInstall.isEmpty && !networkRestricted && !chargingRestricted) { var temp = appsProvider.findExistingUpdates(installedOnly: true); for (var i = 0; i < temp.length; i++) { if (await appsProvider diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart index bef37b3..acc8b1e 100644 --- a/lib/providers/settings_provider.dart +++ b/lib/providers/settings_provider.dart @@ -349,6 +349,15 @@ class SettingsProvider with ChangeNotifier { notifyListeners(); } + bool get bgUpdatesWhileChargingOnly { + return prefs?.getBool('bgUpdatesWhileChargingOnly') ?? false; + } + + set bgUpdatesWhileChargingOnly(bool val) { + prefs?.setBool('bgUpdatesWhileChargingOnly', val); + notifyListeners(); + } + DateTime get lastCompletedBGCheckTime { int? temp = prefs?.getInt('lastCompletedBGCheckTime'); return temp != null diff --git a/pubspec.lock b/pubspec.lock index 0833ac3..81eba27 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -107,6 +107,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.7" + battery_plus: + dependency: "direct main" + description: + name: battery_plus + sha256: "4b6dc87ffa72f8d1e63ae17c8700ee374a462e521f0152e2c76cfff484610764" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + battery_plus_platform_interface: + dependency: transitive + description: + name: battery_plus_platform_interface + sha256: e8342c0f32de4b1dfd0223114b6785e48e579bfc398da9471c9179b907fa4910 + url: "https://pub.dev" + source: hosted + version: "2.0.1" boolean_selector: dependency: transitive description: @@ -1013,6 +1029,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + upower: + dependency: transitive + description: + name: upower + sha256: cf042403154751180affa1d15614db7fa50234bc2373cd21c3db666c38543ebf + url: "https://pub.dev" + source: hosted + version: "0.7.0" url_launcher: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 655b588..b905420 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -81,6 +81,7 @@ dependencies: markdown: any flutter_typeahead: ^5.2.0 + battery_plus: ^6.1.0 dev_dependencies: flutter_test: sdk: flutter