callAgain method

dynamic callAgain()

Implementation

callAgain() async {
  // Get.offNamed(Routes.outGoingCallView, arguments: {"userJid": userJID.value});
  if (await AppUtils.isNetConnected()) {
    if (callType.value == Constants.audioCall) {
      if (!context.mounted) {
        mirrorFlyLog("Call Timeout Controller", "Context is not mounted");
      } else {
        if (await AppPermission.askAudioCallPermissions(context)) {
          if (users.length == 1) {
            Mirrorfly.makeVoiceCall(
                toUserJid: users.first!,
                flyCallBack: (FlyResponse response) {
                  // Get.offNamed(
                  //     Routes.outGoingCallView, arguments: {"userJid": users});
                  MirrorflyUikit.instance.navigationManager.navigateTo(
                      context: context,
                      pageToNavigate: OutGoingCallView(userJid: users),
                      routeName: Constants.outGoingCallView,
                      onNavigateComplete: () {});
                });
          } else {
            var usersList = <String>[];
            for (var element in users) {
              if (element != null) {
                usersList.add(element);
              }
            }
            Mirrorfly.makeGroupVoiceCall(
                toUserJidList: usersList,
                flyCallBack: (FlyResponse response) {
                  /*Get.offNamed(
                Routes.outGoingCallView, arguments: {"userJid": users});*/

                  MirrorflyUikit.instance.navigationManager.navigateTo(
                      context: context,
                      pageToNavigate: OutGoingCallView(userJid: users),
                      routeName: Constants.outGoingCallView,
                      onNavigateComplete: () {});
                });
          }
        } else {
          debugPrint("permission not given");
        }
      }
    } else {
      if (!context.mounted) {
        mirrorFlyLog("Call Timeout Controller", "Context is not mounted");
      } else {
        if (await AppPermission.askVideoCallPermissions(context)) {
          if (users.length == 1) {
            Mirrorfly.makeVideoCall(
                toUserJid: users.first!,
                flyCallBack: (FlyResponse response) {
                  if (response.isSuccess) {
                    /*Get.offNamed(
                  Routes.outGoingCallView, arguments: {"userJid": users});*/
                    MirrorflyUikit.instance.navigationManager.navigateTo(
                        context: context,
                        pageToNavigate: OutGoingCallView(userJid: users),
                        routeName: Constants.outGoingCallView,
                        onNavigateComplete: () {});
                  }
                });
          } else {
            var usersList = <String>[];
            for (var element in users) {
              if (element != null) {
                usersList.add(element);
              }
            }
            Mirrorfly.makeGroupVideoCall(
                toUserJidList: usersList,
                flyCallBack: (FlyResponse response) {
                  /*Get.offNamed(
                Routes.outGoingCallView, arguments: {"userJid": users});*/
                  MirrorflyUikit.instance.navigationManager.navigateTo(
                      context: context,
                      pageToNavigate: OutGoingCallView(userJid: users),
                      routeName: Constants.outGoingCallView,
                      onNavigateComplete: () {});
                });
          }
        } else {
          LogMessage.d("askVideoCallPermissions", "false");
        }
      }
    }
  } else {
    toToast(Constants.noInternetConnection);
  }
}