reportIncomingCall method
Future<CKCall>
reportIncomingCall({
- required String uuid,
- required String handle,
- Set<
CKCapability> ? capabilities, - Set<
CKCallAttributes> ? attributes, - Map<
String, dynamic> ? data, - Map<
String, dynamic> ? metadata, - CKCallType callType = CKCallType.audio,
- CKCallState? stateOverride,
override
Register an incoming 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> reportIncomingCall({
required String uuid,
required String handle,
Set<CKCapability>? capabilities,
Set<CKCallAttributes>? attributes,
Map<String, dynamic>? data,
Map<String, dynamic>? metadata,
CKCallType callType = CKCallType.audio,
CKCallState? stateOverride,
}) async {
final ckAttributes = attributes ?? _configuration.attributes;
final ckCapabilities = capabilities ?? _configuration.capabilities;
CKCall call = CKCall.init(
uuid: uuid,
localizedName: handle,
attributes: ckAttributes,
capabilities: ckCapabilities,
callType: callType,
data: data,
).copyWith(state: stateOverride ?? CKCallState.ringing);
_callManager.addCall(call);
final notification = _generateNotification(call: call, capabilities: capabilities, metadata: metadata);
await _notificationManager.add(notification, flags: _defaultFlags);
return call;
}