import 'dart:io'; import 'package:fikoyt_mesaici/apps/mesaici/servisler/fikoyt.mesaici.service.dart'; import 'package:fikoyt_mesaici/apps/mesaici/servisler/mesaici.background.dart'; import 'package:fikoyt_mesaici/routes.dart'; import 'package:fikoyt_ui/fikoyt_ui.dart'; import 'package:flutter/services.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:receive_intent/receive_intent.dart'; // import 'package:get/get.dart'; import 'core/fikoyt.service.dart'; void main() async { await FikoYTCoreService.init( ayarlar: FikoYTServiceSettings( appSettings: FikoYTAppSettings( routes: routes, title: "FikoYT Mesaici", ), )); // await Workmanager().initialize(WorkManagerTaskFunc, // The top level function, aka callbackDispatcher // isInDebugMode: false // If enabled it will post a notification whenever the task is running. Handy for debugging tasks // ); // ignore: unused_local_variable FikoYTMesaiciService mesaiciServis = FikoYTService.servisMesaici; await initializeNotification(mesaiciServis); if (Platform.isWindows == false) { try { final receivedIntent = await ReceiveIntent.getInitialIntent(); // mesaiciServis.aktifIntent.value = receivedIntent; await mesaiciServis.intentMetodCalistir(receivedIntent); // Validate receivedIntent and warn the user, if it is not correct, // but keep in mind it could be `null` or "empty"(`receivedIntent.isNull`). } on PlatformException { // Handle exception } } FikoYTCoreService.uygulamaCalistir(); } initializeNotification(FikoYTMesaiciService mesaiciServis) async { const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('@mipmap/launcher_icon'); const InitializationSettings initializationSettings = InitializationSettings(android: initializationSettingsAndroid); FlutterLocalNotificationsPlugin().initialize(initializationSettings, onDidReceiveNotificationResponse: notificationTapBackground, onDidReceiveBackgroundNotificationResponse: notificationTapBackground); mesaiciServis.bildirimPaketi = FlutterLocalNotificationsPlugin(); var androidNotificationChannel = const AndroidNotificationChannel( "Genel", "Genel", description: "Cihazınızda Mesaiciye veya FikoYT'a Ait Genel Bildirimler", ); await mesaiciServis.bildirimPaketi?.resolvePlatformSpecificImplementation()?.createNotificationChannel(androidNotificationChannel); var androidNotificationChannel1 = const AndroidNotificationChannel( "IseBaslamaBildirimleri", "İşe Başlama Bildirimleri", description: "İş Saatiniz Geldiğinde Eğer Karta Hala Giriş Yapılmamışsa Bildirimler Aracılığıyla Giriş Yapmanızı Sağlar.", ); await mesaiciServis.bildirimPaketi?.resolvePlatformSpecificImplementation()?.createNotificationChannel(androidNotificationChannel1); var androidNotificationChannel2 = const AndroidNotificationChannel( "IsBitirmeBildirimleri", "İş Bitirme Bildirimleri", description: "İş Saatiniz Bittiğinde Eğer Karta Hala Çıkış Yapılmamışsa Bildirimler Aracılığıyla Çıkış Yapmanızı Sağlar.", ); await mesaiciServis.bildirimPaketi?.resolvePlatformSpecificImplementation()?.createNotificationChannel(androidNotificationChannel2); var androidNotificationChannel3 = const AndroidNotificationChannel( "MolaBaslangicBildirimleri", "Mola Başlangıç Bildirimleri", description: "Mola Saatiniz Başladığında Eğer Karta Hala Giriş Yapılmamışsa Bildirimler Aracılığıyla Giriş Yapmanızı Sağlar.", ); await mesaiciServis.bildirimPaketi?.resolvePlatformSpecificImplementation()?.createNotificationChannel(androidNotificationChannel3); var androidNotificationChannel4 = const AndroidNotificationChannel( "MolaBitisBildirimleri", "Mola Bitiş Bildirimleri", description: "Mola Saatiniz Bittiğinde Eğer Karta Hala Giriş Yapılmamışsa Bildirimler Aracılığıyla Giriş Yapmanızı Sağlar.", ); await mesaiciServis.bildirimPaketi?.resolvePlatformSpecificImplementation()?.createNotificationChannel(androidNotificationChannel4); var androidNotificationChannel5 = const AndroidNotificationChannel( "ArkaPlanBildirimi", "Arka Plan Bildirimi", description: "Arka Planda Çalışıp Çalışmadığını Görebilmeniz İçin Bildirim Kanalı", playSound: false, importance: Importance.min, enableVibration: false, ); await mesaiciServis.bildirimPaketi?.resolvePlatformSpecificImplementation()?.createNotificationChannel(androidNotificationChannel5); }