ft call overlays and desktop notifications

Signed-off-by: Joel Jothiprakasam <hijoelj@gmail.com>
This commit is contained in:
Joel Jothiprakasam
2023-10-14 17:15:52 -05:00
parent 2bb143d2fe
commit 0e6749a30c
6 changed files with 232 additions and 21 deletions

View File

@ -3,6 +3,7 @@ import 'dart:async';
import 'package:bluebubbles/app/layouts/settings/pages/scheduling/scheduled_messages_panel.dart';
import 'package:bluebubbles/app/layouts/settings/pages/server/server_management_panel.dart';
import 'package:bluebubbles/app/wrappers/theme_switcher.dart';
import 'package:bluebubbles/helpers/ui/facetime_helpers.dart';
import 'package:bluebubbles/main.dart';
import 'package:bluebubbles/utils/logger.dart';
import 'package:bluebubbles/helpers/helpers.dart';
@ -17,6 +18,7 @@ import 'package:path/path.dart';
import 'package:receive_intent/receive_intent.dart';
import 'package:tuple/tuple.dart';
import 'package:universal_io/io.dart';
import 'package:url_launcher/url_launcher.dart';
IntentsService intents = Get.isRegistered<IntentsService>() ? Get.find<IntentsService>() : Get.put(IntentsService());
@ -109,7 +111,14 @@ class IntentsService extends GetxService {
return showSnackbar("Failed to answer FaceTime", "Unable to generate FaceTime link!");
}
mcs.invokeMethod("open-link", {"link": link, "forceBrowser": true});
hideFaceTimeOverlay(callUuid);
if (kIsDesktop) {
await launchUrl(Uri.parse(link), mode: LaunchMode.externalApplication);
} else if (kIsWeb) {
// TODO: Implement web FaceTime
} else {
mcs.invokeMethod("open-link", {"link": link, "forceBrowser": true});
}
}
Future<void> openChat(String? guid, {String? text, List<PlatformFile> attachments = const []}) async {
@ -167,4 +176,4 @@ class IntentsService extends GetxService {
}
}
}
}
}