// ignore: annotate_overrides // ignore_for_file: prefer_function_declarations_over_variables, empty_catches import 'dart:async'; import 'dart:ui'; import 'package:android_intent_plus/android_intent.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/ayarlar/model_ayarlar.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/calisma_kayit/calisma_kayit.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/model_hareketler.dart'; import 'package:fikoyt_mesaici/core/fikoyt.service.dart'; import 'package:flutter/material.dart'; import 'package:flutter_background_service/flutter_background_service.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:isar/isar.dart'; import 'package:fikoyt_mesaici/core/Extensions/fiko_tarih.dart'; import 'mesaici.background.dart'; Future sartliBildirim({required FlutterLocalNotificationsPlugin bildirimlerPlugin, required List aktifKartDurumlar, required List gecerliSartlar, List? gecersizSartlar, required String kanalIsmi, String? baslik, required String aciklama, List? butonlar}) async { bool gecerli = true; for (var i = 0; i < (gecersizSartlar ?? []).length; i++) { if (aktifKartDurumlar.contains(gecersizSartlar![i])) { gecerli = false; break; } } if (gecerli) { if (gecerliSartlar.every((item) => aktifKartDurumlar.contains(item))) { await bildirimlerPlugin.show( gecerliSartlar.toInt() + (gecersizSartlar?.toInt() ?? 0), baslik ?? "FikoYT Mesaici", aciklama, NotificationDetails( android: AndroidNotificationDetails( kanalIsmi, kanalIsmi, actions: butonlar, styleInformation: BigTextStyleInformation( aciklama, contentTitle: baslik ?? "FikoYT Mesaici", // htmlFormatContentTitle: true, // htmlFormatTitle: true, // htmlFormatBigText: true, // htmlFormatContent: true, // htmlFormatSummaryText: true, ), onlyAlertOnce: true, // autoCancel: false, ongoing: true, ), ), ); } else { try { await bildirimlerPlugin.cancel(gecerliSartlar.toInt() + (gecersizSartlar?.toInt() ?? 0)); } catch (e) {} } } else { try { await bildirimlerPlugin.cancel(gecerliSartlar.toInt() + (gecersizSartlar?.toInt() ?? 0)); } catch (e) {} } } Future bildirim({required FlutterLocalNotificationsPlugin bildirimlerPlugin, required int id, required String kanalIsmi, String? baslik, required String aciklama, List? butonlar}) async { await bildirimlerPlugin.show( id, baslik ?? "FikoYT Mesaici", aciklama, NotificationDetails( android: AndroidNotificationDetails( kanalIsmi, kanalIsmi, actions: butonlar, styleInformation: BigTextStyleInformation( aciklama, contentTitle: baslik ?? "FikoYT Mesaici", // htmlFormatContentTitle: true, // htmlFormatTitle: true, // htmlFormatBigText: true, // htmlFormatContent: true, // htmlFormatSummaryText: true, ), onlyAlertOnce: true, // autoCancel: false, ongoing: false, ), ), ); } Future sartKontrol({ required List aktifKartDurumlar, required List gecerliSartlar, List? gecersizSartlar, }) async { bool gecerli = true; for (var i = 0; i < (gecersizSartlar ?? []).length; i++) { if (aktifKartDurumlar.contains(gecersizSartlar![i])) { gecerli = false; break; } } if (gecerli) { return gecerliSartlar.every((item) => aktifKartDurumlar.contains(item)); } else { return false; } }