Pārlūkot izejas kodu

[mob][photos] Fix BG task not getting killed (#1608)

## Description

`BackgroundFetch.finish(taskId)` doesn't seems to be killing the BG
task.
Explicitly killing the Isolate does the work.
Vishnu Mohandas 1 gadu atpakaļ
vecāks
revīzija
7f6e8228af
1 mainītis faili ar 6 papildinājumiem un 0 dzēšanām
  1. 6 0
      mobile/lib/main.dart

+ 6 - 0
mobile/lib/main.dart

@@ -1,5 +1,6 @@
 import 'dart:async';
 import 'dart:io';
+import "dart:isolate";
 
 import "package:adaptive_theme/adaptive_theme.dart";
 import 'package:background_fetch/background_fetch.dart';
@@ -330,10 +331,15 @@ Future<void> _killBGTask([String? taskId]) async {
     DateTime.now().microsecondsSinceEpoch,
   );
   final prefs = await SharedPreferences.getInstance();
+
   await prefs.remove(kLastBGTaskHeartBeatTime);
   if (taskId != null) {
     BackgroundFetch.finish(taskId);
   }
+
+  ///Band aid for background process not getting killed. Should migrate to using
+  ///workmanager instead of background_fetch.
+  Isolate.current.kill();
 }
 
 Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {