create static method
Future<ComprehensiveNotificationManager>
create({
- FirebaseNotificationRepository? firebaseRepository,
- LocalNotificationRepository? localRepository,
- NotificationTemplateBuilder? templateBuilder,
- NotificationScheduler? scheduler,
- NotificationPermissionManager? permissionManager,
Creates a comprehensive notification manager with proper initialization.
Parameters:
firebaseRepository
: Firebase repository for remote notifications (optional)localRepository
: Local repository for device notifications (optional)templateBuilder
: Template builder for creating notifications (optional)scheduler
: Scheduler for notification timing (optional)permissionManager
: Permission manager (optional)
Implementation
static Future<ComprehensiveNotificationManager> create({
FirebaseNotificationRepository? firebaseRepository,
LocalNotificationRepository? localRepository,
NotificationTemplateBuilder? templateBuilder,
NotificationScheduler? scheduler,
NotificationPermissionManager? permissionManager,
}) async {
final FirebaseNotificationRepository finalFirebaseRepository =
firebaseRepository ??
await FirebaseNotificationRepository.getInstance();
final LocalNotificationRepository finalLocalRepository =
localRepository ?? await LocalNotificationRepository.getInstance();
final NotificationPermissionManager finalPermissionManager =
permissionManager ??
NotificationPermissionManager(repository: finalLocalRepository);
return ComprehensiveNotificationManager._(
firebaseRepository: finalFirebaseRepository,
localRepository: finalLocalRepository,
templateBuilder: templateBuilder ?? const NotificationTemplateBuilder(),
scheduler: scheduler ?? const NotificationScheduler(),
permissionManager: finalPermissionManager,
);
}