Don't init the foreground service unless it is needed (#2437)

This commit is contained in:
Imran Remtulla
2025-08-01 11:56:53 -04:00
parent 71bf23a110
commit 69904265c9

View File

@@ -185,7 +185,6 @@ class _ObtainiumState extends State<Obtainium> {
initPlatformState(); initPlatformState();
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
requestNonOptionalPermissions(); requestNonOptionalPermissions();
initForegroundService();
}); });
} }
@@ -201,6 +200,8 @@ class _ObtainiumState extends State<Obtainium> {
} }
void initForegroundService() { void initForegroundService() {
// ignore: invalid_use_of_visible_for_testing_member
if (!FlutterForegroundTask.isInitialized) {
FlutterForegroundTask.init( FlutterForegroundTask.init(
androidNotificationOptions: AndroidNotificationOptions( androidNotificationOptions: AndroidNotificationOptions(
channelId: 'bg_update', channelId: 'bg_update',
@@ -221,8 +222,10 @@ class _ObtainiumState extends State<Obtainium> {
), ),
); );
} }
}
Future<ServiceRequestResult?> startForegroundService(bool restart) async { Future<ServiceRequestResult?> startForegroundService(bool restart) async {
initForegroundService();
if (await FlutterForegroundTask.isRunningService) { if (await FlutterForegroundTask.isRunningService) {
if (restart) { if (restart) {
return FlutterForegroundTask.restartService(); return FlutterForegroundTask.restartService();