outGoingCall method
void
outGoingCall({
- required String phoneNumber,
- required VoidCallback handleRegisterCall,
- String nameCaller = '',
Implementation
void outGoingCall({
required String phoneNumber,
required VoidCallback handleRegisterCall,
String nameCaller = '',
}) {
thr.throttle(() async {
_outPhone = phoneNumber;
_nameCaller = nameCaller;
final PitelCall pitelCall = PitelClient.getInstance().pitelCall;
final PitelClient pitelClient = PitelClient.getInstance();
final connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.none) {
_checkConnectivity = ConnectivityResult.none;
EasyLoading.showToast(
'Please check your network',
toastPosition: EasyLoadingToastPosition.center,
);
return;
}
if (connectivityResult != _checkConnectivity) {
_checkConnectivity = connectivityResult;
EasyLoading.show(status: "Connecting...");
handleRegisterCall();
return;
}
if (connectivityResult == ConnectivityResult.wifi) {
try {
final wifiIP = await NetworkInfo().getWifiIP();
if (wifiIP != _wifiIP) {
_wifiIP = wifiIP;
EasyLoading.show(status: "Connecting...");
handleRegisterCall();
return;
}
} catch (error) {
EasyLoading.show(status: "Connecting...");
handleRegisterCall();
return;
}
}
final isRegistered = pitelCall.getRegisterState();
if (isRegistered == 'Registered') {
pitelClient
.call(phoneNumber, true)
.then((value) => value.fold((succ) => "OK", (err) {
EasyLoading.showToast(
err.toString(),
toastPosition: EasyLoadingToastPosition.center,
);
}));
} else {
EasyLoading.show(status: "Connecting...");
handleRegisterCall();
}
});
}