startSession static method
- @Deprecated('Use joinSession(callToken: token, sessionSettings: settings, ...) instead')
- String callToken,
- CallSettings callSettings, {
- required dynamic onSuccess(),
- required dynamic onError(),
Starts a call session using the v4 API signature.
@deprecated Use joinSession with the callToken parameter instead.
Converts callSettings to SessionSettings via CallSettings.toSessionSettings,
creates a CallToken from the callToken string, and delegates to joinSession.
If callSettings.listener is non-null, a V4EventListenerAdapter is created
and registered on CallSession.getInstance() for all 4 listener types.
Requirements: 3.1, 3.2, 3.3
Implementation
@Deprecated(
'Use joinSession(callToken: token, sessionSettings: settings, ...) instead')
// ignore: deprecated_member_use_from_same_package
static void startSession(
String callToken,
// ignore: deprecated_member_use_from_same_package
CallSettings callSettings, {
required Function(Widget?) onSuccess,
required Function(CometChatCallsException) onError,
}) {
try {
// Convert CallSettings → SessionSettings
// ignore: deprecated_member_use_from_same_package
final sessionSettings = callSettings.toSessionSettings();
// Create a CallToken from the token string
final token = CallToken(token: callToken);
// ignore: deprecated_member_use_from_same_package
final v4Listener = callSettings.listener;
// Delegate to v5 joinSession, then register the adapter AFTER
// the session is created so CallSession.getInstance() is non-null.
joinSession(
callToken: token,
sessionSettings: sessionSettings,
onSuccess: (Widget? widget) {
// Register the v4 listener adapter now that the session exists
if (v4Listener != null) {
final adapter = V4EventListenerAdapter(v4Listener);
final session = CallSession.getInstance();
if (session != null) {
session.addSessionStatusListener(adapter);
session.addParticipantEventListener(adapter);
session.addMediaEventsListener(adapter);
session.addButtonClickListener(adapter);
}
}
onSuccess(widget);
},
onError: onError,
);
} catch (e) {
onError(CometChatCallsException.wrapUnhandled(e));
}
}