Adaptive Notifications + before enabling desktop

This commit is contained in:
warlock
2022-03-06 18:04:53 +05:30
parent 0272b2d1fd
commit f749c4ce8d
6 changed files with 141 additions and 28 deletions

View File

@@ -8,6 +8,8 @@ import 'package:http/http.dart' as http;
import 'theme_provider.dart';
import 'package:provider/provider.dart';
import 'newActivity.dart';
import 'NotificationsManager.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({Key? key}) : super(key: key);
@@ -33,33 +35,10 @@ class _SplashScreenState extends State<SplashScreen> {
// TODO: implement initState
super.initState();
init();
initNotifications();
NotificationManager.RescheduleNotifications();
}
void initNotifications() async{
var androidInitilize = new AndroidInitializationSettings('@mipmap/ic_launcher');
var iOSinitilize = new IOSInitializationSettings();
var initilizationsSettings =
new InitializationSettings(android: androidInitilize, iOS: iOSinitilize);
var fltrNotification = new FlutterLocalNotificationsPlugin();
fltrNotification.initialize(initilizationsSettings,
onSelectNotification: notificationSelected);
int notification_interval = await Settings.getNotificationInterval();
if(notification_interval>0) {
var androidDetails = const AndroidNotificationDetails("Xperience", "TaskTracker", importance: Importance.max);
var iSODetails = new IOSNotificationDetails();
var generalNotificationDetails =
new NotificationDetails(android: androidDetails, iOS: iSODetails);
var scheduledTime = DateTime.now().add(Duration(hours: notification_interval));
fltrNotification.schedule(1, "What did you do in last $notification_interval hours?", "Click here to track your last activities...",
scheduledTime, generalNotificationDetails,);
print("Sent notification schedule");
}
}
void notificationSelected(String? payload) {
if(payload!=null){
if(payload.toLowerCase().contains("activity")){