forked from eatvio/eatvio_app
feat(video_calls): fixed ios push UI
This commit is contained in:
@@ -112,6 +112,18 @@ class VideoCallCallKitCoordinator {
|
||||
|
||||
CallKitParams? _paramsForCallId(String id) => _callKitParamsById[id];
|
||||
|
||||
Future<CallKitParams?> _paramsForCallIdOrActiveCall(String id) async {
|
||||
final cached = _paramsForCallId(id);
|
||||
if (cached != null || !Platform.isIOS) return cached;
|
||||
|
||||
final activeCalls = await FlutterCallkitIncoming.activeCalls();
|
||||
for (final params in activeCalls) {
|
||||
_cacheCallKitParams(params);
|
||||
}
|
||||
|
||||
return _paramsForCallId(id);
|
||||
}
|
||||
|
||||
Future<void> _openActiveCallKitCallIfNeeded() async {
|
||||
if (!Platform.isIOS) return;
|
||||
if (_cubit.state.connectPhase != VideoCallConnectPhase.idle) return;
|
||||
@@ -121,6 +133,7 @@ class VideoCallCallKitCoordinator {
|
||||
|
||||
for (final params in activeCalls) {
|
||||
_cacheCallKitParams(params);
|
||||
if (!params.isAccepted) continue;
|
||||
final extra = params.extra ?? <String, dynamic>{};
|
||||
final conversationUuid = _parseConversationUuid(
|
||||
extra,
|
||||
@@ -191,12 +204,12 @@ class VideoCallCallKitCoordinator {
|
||||
if (_acceptHandledCallKitIds.contains(callKitId)) return;
|
||||
|
||||
_activeCallKitId = callKitId;
|
||||
final params = _paramsForCallId(callKitId);
|
||||
final params = await _paramsForCallIdOrActiveCall(callKitId);
|
||||
final extra = params?.extra ?? <String, dynamic>{};
|
||||
|
||||
final conversationUuid = _parseConversationUuid(
|
||||
extra,
|
||||
handle: params?.handle,
|
||||
handle: params?.handle ?? callKitId,
|
||||
);
|
||||
if (conversationUuid.isEmpty) {
|
||||
log(
|
||||
|
||||
Reference in New Issue
Block a user