background notifications

This commit is contained in:
brausjonas
2024-09-16 00:56:43 +02:00
parent 22b1d3b75b
commit 46063af653
2 changed files with 7 additions and 8 deletions
+7 -7
View File
@@ -9,17 +9,16 @@ import 'package:awesome_notifications/awesome_notifications.dart';
import 'package:disable_battery_optimization/disable_battery_optimization.dart'; import 'package:disable_battery_optimization/disable_battery_optimization.dart';
import 'package:flutter_background_service/flutter_background_service.dart'; import 'package:flutter_background_service/flutter_background_service.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'dart:math';
@pragma('vm:entry-point') @pragma('vm:entry-point')
void callbackDispatcher() async { void callbackDispatcher() async {
WidgetsFlutterBinding.ensureInitialized();
SharedPreferences.getInstance();
print("test1");
Map content = await FileHandler.fileContent; Map content = await FileHandler.fileContent;
int id = 15;
for (String key in content.keys) { for (String key in content.keys) {
Map list = content[key]; Map list = content[key];
for (String title in list.keys) { for (String title in list.keys) {
print("test2");
Map current = list[title]; Map current = list[title];
DateTime dueTime = DateTime.parse(current["dueTime"]); DateTime dueTime = DateTime.parse(current["dueTime"]);
bool checked = current["checked"]; bool checked = current["checked"];
@@ -27,21 +26,22 @@ void callbackDispatcher() async {
int timeDiff = dueTime int timeDiff = dueTime
.difference(currentTime) .difference(currentTime)
.inMinutes; .inMinutes;
if (timeDiff <= 30 && timeDiff >= 0 && !checked) { if (timeDiff <= 45 && timeDiff >= 0 && !checked) {
AwesomeNotifications().createNotification( AwesomeNotifications().createNotification(
content: NotificationContent( content: NotificationContent(
id: 10, id: id,
channelKey: "reminder_channel", channelKey: "reminder_channel",
title: "Task due!", title: "Task due!",
body: "Task $title due in $timeDiff minutes!")); body: "Task $title due in $timeDiff minutes!"));
} }
id++;
} }
} }
} }
@pragma('vm:entry-point') @pragma('vm:entry-point')
void onStart(ServiceInstance service) { void onStart(ServiceInstance service) {
Timer.periodic(const Duration(seconds: 10), (timer) { Timer.periodic(const Duration(minutes: 15), (timer) {
callbackDispatcher(); callbackDispatcher();
}); });
} }
-1
View File
@@ -8,7 +8,6 @@ import 'package:todoapp/providers/todoprovider.dart';
import 'package:awesome_notifications/awesome_notifications.dart'; import 'package:awesome_notifications/awesome_notifications.dart';
import 'package:disable_battery_optimization/disable_battery_optimization.dart'; import 'package:disable_battery_optimization/disable_battery_optimization.dart';
class Home extends StatefulWidget { class Home extends StatefulWidget {
const Home({super.key}); const Home({super.key});