// import 'package:firebase_crashlytics/firebase_crashlytics.dart'; // import 'package:flutter/material.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter_tts/flutter_tts.dart'; import 'package:get_it/get_it.dart'; import 'package:hmg_qline/api/api_client.dart'; import 'package:hmg_qline/repositories/screen_details_repo.dart'; import 'package:hmg_qline/repositories/signalR_repo.dart'; import 'package:hmg_qline/services/audio_service.dart'; import 'package:hmg_qline/services/cache_service.dart'; import 'package:hmg_qline/services/connectivity_service.dart'; import 'package:hmg_qline/services/text_to_speech_service.dart'; import 'package:hmg_qline/view_models/queuing_view_model.dart'; import 'package:hmg_qline/view_models/screen_config_view_model.dart'; import 'package:just_audio/just_audio.dart'; import 'package:shared_preferences/shared_preferences.dart'; final getIt = GetIt.instance; class AppDependencies { static Future addDependencies() async { //api client getIt.registerSingleton(ApiClientImp()); //repos getIt.registerSingleton(SignalrRepoImp()); getIt.registerSingleton(ScreenDetailsRepoImp(apiClientInstance: getIt.get())); //ThirdPartyServices getIt.registerSingleton(ConnectivityServiceImp(connectivityInstance: Connectivity())); getIt.registerSingleton(CacheServiceImp(preferencesInstance: await SharedPreferences.getInstance())); getIt.registerSingleton(AudioServiceImp(audioPlayerInstance: AudioPlayer())); getIt.registerSingleton(TextToSpeechServiceImp(textToSpeechInstance: FlutterTts())); //ViewModels getIt.registerSingleton( ScreenConfigViewModel( screenDetailsRepo: getIt.get(), cacheService: getIt.get(), connectivityService: getIt.get(), ), ); getIt.registerSingleton( QueuingViewModel( screenDetailsRepo: getIt.get(), cacheService: getIt.get(), textToSpeechService: getIt.get(), audioService: getIt.get(), signalrRepo: getIt.get(), ), ); } }