// ignore: annotate_overrides // ignore_for_file: prefer_function_declarations_over_variables, empty_catches import 'dart:async'; import 'package:flutter_local_notifications/flutter_local_notifications.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 Finans", aciklama, NotificationDetails( android: AndroidNotificationDetails( kanalIsmi, kanalIsmi, actions: butonlar, styleInformation: BigTextStyleInformation( aciklama, contentTitle: baslik ?? "FikoYT Finans", // 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 Finans", aciklama, NotificationDetails( android: AndroidNotificationDetails( kanalIsmi, kanalIsmi, actions: butonlar, styleInformation: BigTextStyleInformation( aciklama, contentTitle: baslik ?? "FikoYT Finans", // 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; } }