import 'package:flutter/foundation.dart'; import 'package:get_it/get_it.dart'; import 'package:provider/provider.dart'; import '../providers/AboutUsProvider.dart'; import '../providers/ContactProvider.dart'; import '../providers/NotificationFCMProvider.dart'; import '../providers/Term_conditionProvider.dart'; import '../providers/WalletProvider.dart'; import '../providers/authentification_provider.dart'; import '../providers/language_provider.dart'; import '../providers/myAddress_provider.dart'; import '../providers/notification_provider.dart'; import '../providers/public_provider.dart'; import '../providers/ride_providers.dart'; import '../providers/utils_provider.dart'; import '../providers/utils_singleton.dart'; import '../services/PushService.dart'; import '../services/RideServices.dart'; import '../services/agora_service.dart'; import '../services/agouranotificationservice.dart'; import '../services/audio_service.dart'; import '../services/auth_services.dart'; import '../services/map_service.dart'; import '../services/notificaitons_services.dart'; import '../services/public_service.dart'; import '../services/push_notification_service.dart'; import '../services/utils_services.dart'; class DependencyInjector { static DependencyInjector? _instance; static DependencyInjector get instance { _instance ??= DependencyInjector._init(); return _instance!; } DependencyInjector._init() { GetIt.I.registerLazySingleton(() => PushNotificationService()); GetIt.I.registerLazySingleton(() => MapService()); GetIt.I.registerLazySingleton(() => AuthServices()); GetIt.I.registerLazySingleton(() => UtilsServices()); GetIt.I.registerLazySingleton(() => PublicService()); GetIt.I.registerLazySingleton(() => RideService()); GetIt.I.registerLazySingleton(() => PushService()); GetIt.I.registerLazySingleton(() => NotificationService()); GetIt.I.registerLazySingleton(() => AudioService()); GetIt.I.registerLazySingleton(() => AgoraNotificationService()); GetIt.I.registerLazySingleton(() => AgoraService()); } List> get providers => [ // ChangeNotifierProvider.value( // value: languageSingleton, // 👈 singleton shared // ), ChangeNotifierProvider( create: (context) => PublicProvider()), ChangeNotifierProvider( create: (context) => RidesProvider()), ChangeNotifierProvider( create: (context) => AuthProvider(), ), ChangeNotifierProvider( create: (context) => UtilsProvider(), ), ChangeNotifierProvider( create: (context) => Utils(), ), ChangeNotifierProvider( create: (context) => NotificationProvider(), ), ChangeNotifierProvider( create: (context) => AboutUsProvider(), ), ChangeNotifierProvider( create: (context) => WalletProvider(), ), ChangeNotifierProvider( create: (context) => UserAddressProvider(), ), ChangeNotifierProvider( create: (context) => ContactProvider(), ), ChangeNotifierProvider( create: (context) => TermConditionprovider(), ), ChangeNotifierProvider( create: (context) => NotificationFCMProvider(), ), ChangeNotifierProvider( create: (context) => LanguageProvider(), ), ]; }