feat(video_calls): fixed call ended push handling

This commit is contained in:
misha
2026-06-30 18:48:45 +03:00
parent c8ad600d97
commit 9ce7b035ff
5 changed files with 138 additions and 13 deletions

View File

@@ -1,8 +1,26 @@
import 'dart:io';
import 'package:flutter/services.dart';
import 'package:flutter_callkit_incoming/flutter_callkit_incoming.dart';
/// Dismisses incoming call UI after a remote `video_call_ended` push.
abstract final class VideoCallEndedPushHandler {
static const MethodChannel _androidPushChannel = MethodChannel(
'com.eatvioapp/video_call_push',
);
static Future<void> dismissIncomingCallUi() async {
if (Platform.isAndroid) {
try {
await _androidPushChannel.invokeMethod<void>('dismissIncomingCalls');
return;
} catch (_) {}
}
await _dismissViaCallKit();
}
static Future<void> _dismissViaCallKit() async {
try {
final activeCalls = await FlutterCallkitIncoming.activeCalls();
for (final call in activeCalls) {