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;
}