makeVoiceCall function

dynamic makeVoiceCall(
  1. String toUser,
  2. Rx<AvailableFeatures> availableFeatures,
  3. BuildContext context
)

Implementation

makeVoiceCall(String toUser, Rx<AvailableFeatures> availableFeatures,
    BuildContext context) async {
  if (!availableFeatures.value.isOneToOneCallAvailable.checkNull()) {
    Helper.showFeatureUnavailable(context);
    return;
  }
  if ((await Mirrorfly.isOnGoingCall()).checkNull()) {
    debugPrint("#Mirrorfly Call You are on another call");
    toToast(Constants.msgOngoingCallAlert);
    return;
  }
  if (!(await AppUtils.isNetConnected())) {
    toToast(Constants.noInternetConnection);
    return;
  }
  if (context.mounted) {
    if (await AppPermission.askAudioCallPermissions(context)) {
      Mirrorfly.makeVoiceCall(
          toUserJid: toUser.checkNull(),
          flyCallBack: (FlyResponse response) {
            if (response.isSuccess) {
              /*Get.toNamed(Routes.outGoingCallView, arguments: {
          "userJid": [toUser],
          "callType": CallType.audio
        });*/
              MirrorflyUikit.instance.navigationManager.navigateTo(
                  context: context,
                  pageToNavigate: OutGoingCallView(userJid: [toUser]),
                  routeName: Constants.outGoingCallView,
                  onNavigateComplete: () {});
            }
          });
    } else {
      debugPrint("permission not given");
    }
  }
}