setUpNativeStreamListener method

  1. @override
Future<bool> setUpNativeStreamListener(
  1. String callToken,
  2. CallSettings? callSettings,
  3. PresentationSettings? presentationSettings,
  4. dynamic onSuccess(
    1. Widget callWidget
    ),
  5. dynamic onError(
    1. CometChatCallsException error
    ),
)
override

Implementation

@override
Future<bool> setUpNativeStreamListener(
    String callToken,
    CallSettings? callSettings,
    PresentationSettings? presentationSettings,
    onSuccess,
    onError) async {
  try {
    if (nativeStream == null) {
      this.callSettings = callSettings;
      this.presentationSettings = presentationSettings;
      globalCallListener = (callSettings == null)
          ? presentationSettings?.listener
          : callSettings.listener;
      initializeCallsEventStream();
      nativeStream?.listen((event) {
        CometChatCallsUtils.showLog(
            "CometChatCall", "nativeStream: value: ${event.toString()}");
      });
      return true;
    } else {
      this.callSettings = callSettings;
      this.presentationSettings = presentationSettings;
      globalCallListener = (callSettings == null)
          ? presentationSettings?.listener
          : callSettings.listener;
      return true;
    }
  } catch (e) {
    CometChatCallsUtils.showLog(
        "CometChatCall", "startSession: error: ${e.toString()}");
    onError(CometChatCallsException(CometChatCallsConstants.codeError,
        "Unable to start call session", e.toString()));
  }
  return false;
}