You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			871 B
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			32 lines
		
	
	
		
			871 B
		
	
	
	
		
			Dart
		
	
| import 'package:firebase_messaging/firebase_messaging.dart' show FirebaseMessaging;
 | |
| import 'package:hmg_patient_app_new/core/app_state.dart';
 | |
| import 'package:hmg_patient_app_new/services/logger_service.dart';
 | |
| 
 | |
| abstract class FirebaseService {
 | |
|   Future<String?> getDeviceToken();
 | |
| }
 | |
| 
 | |
| class FirebaseServiceImpl implements FirebaseService {
 | |
|   final FirebaseMessaging firebaseMessaging;
 | |
|   final LoggerService loggerService;
 | |
|   final AppState appState;
 | |
| 
 | |
|   FirebaseServiceImpl({
 | |
|     required this.firebaseMessaging,
 | |
|     required this.loggerService,
 | |
|     required this.appState,
 | |
|   });
 | |
| 
 | |
|   @override
 | |
|   Future<String> getDeviceToken() async {
 | |
|     try {
 | |
|       String? deviceToken = await firebaseMessaging.getToken();
 | |
|       appState.setDeviceToken = deviceToken;
 | |
|       return deviceToken ?? "";
 | |
|     } catch (e) {
 | |
|       loggerService.logInfo(e.toString());
 | |
|       return "";
 | |
|     }
 | |
|   }
 | |
| }
 |