reportOngoingCall method

  1. @override
Future<CKCall> reportOngoingCall({
  1. required String uuid,
  2. required String handle,
  3. Set<CKCapability>? capabilities,
  4. Set<CKCallAttributes>? attributes,
  5. Map<String, dynamic>? data,
  6. bool holding = false,
  7. CKCallType callType = CKCallType.audio,
  8. Map<String, dynamic>? metadata,
})
override

Register an ongoing call with the kit. This adds a new call to the callkit UI and handles according to call lifecycle defined in CallState.

Implementation

@override
Future<CKCall> reportOngoingCall({
  required String uuid,
  required String handle,
  Set<CKCapability>? capabilities,
  Set<CKCallAttributes>? attributes,
  Map<String, dynamic>? data,
  bool holding = false,
  CKCallType callType = CKCallType.audio,
  Map<String, dynamic>? metadata,
}) async {
  final ckAttributes = attributes ?? _configuration.attributes;
  final ckCapabilities = capabilities ?? _configuration.capabilities;
  CKCall call = CKCall.init(
    uuid: uuid,
    localizedName: handle,
    attributes: ckAttributes,
    callType: callType,
    capabilities: ckCapabilities,
    data: data,
  );

  _callManager.addCall(call);

  final notification = _generateNotification(call: call, capabilities: ckCapabilities, metadata: metadata);
  await _notificationManager.add(notification, flags: _defaultFlags);
  return call;
}