TF-2460 Use conditional export for BroadcastChannel to avoid failed compilation

This commit is contained in:
dab246
2024-03-25 09:36:13 +07:00
committed by Dat H. Pham
parent 971b228107
commit f5e6cd0822
5 changed files with 18 additions and 3 deletions
+1
View File
@@ -44,6 +44,7 @@ export 'utils/platform_info.dart';
export 'utils/file_utils.dart';
export 'utils/option_param_mixin.dart';
export 'utils/print_utils.dart';
export 'utils/broadcast_channel/broadcast_channel.dart';
// Views
export 'presentation/views/text/slogan_builder.dart';
@@ -0,0 +1 @@
export 'broadcast_channel_stub.dart' if (dart.library.html) 'broadcast_channel_web.dart';
@@ -0,0 +1,7 @@
class BroadcastChannel {
final String name;
BroadcastChannel(this.name);
Stream<dynamic> get onMessage => const Stream.empty();
}
@@ -0,0 +1 @@
export 'dart:html' show BroadcastChannel;
@@ -1,12 +1,13 @@
import 'package:core/utils/app_logger.dart';
import 'package:core/utils/broadcast_channel/broadcast_channel.dart';
import 'package:core/utils/platform_info.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/services.dart';
import 'package:tmail_ui_user/features/push_notification/presentation/controller/fcm_message_controller.dart';
import 'package:tmail_ui_user/features/push_notification/presentation/services/fcm_service.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:universal_html/html.dart' as html;
import 'package:universal_html/html.dart' as html show MessageEvent;
@pragma('vm:entry-point')
Future<void> handleFirebaseBackgroundMessage(RemoteMessage message) async {
@@ -54,8 +55,12 @@ class FcmReceiver {
}
void _onMessageBroadcastChannel() {
final broadcast = html.BroadcastChannel('background-message');
broadcast.onMessage.listen(FcmService.instance.handleMessageEventBroadcastChannel);
final broadcast = BroadcastChannel('background-message');
broadcast.onMessage.listen((event) {
if (event is html.MessageEvent) {
FcmService.instance.handleMessageEventBroadcastChannel(event);
}
});
}
Future<String?> _getInitialToken() async {