Add video call service
parent
0868de7961
commit
746f44157e
@ -0,0 +1,88 @@
|
||||
import 'package:doctor_app_flutter/config/config.dart';
|
||||
import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
|
||||
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
|
||||
import 'package:doctor_app_flutter/core/service/patient/LiveCarePatientServices.dart';
|
||||
import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart';
|
||||
import 'package:doctor_app_flutter/models/livecare/end_call_req.dart';
|
||||
import 'package:doctor_app_flutter/models/livecare/session_status_model.dart';
|
||||
import 'package:doctor_app_flutter/models/livecare/start_call_res.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/util/VideoChannel.dart';
|
||||
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
import '../../locator.dart';
|
||||
import '../../routes.dart';
|
||||
import 'NavigationService.dart';
|
||||
|
||||
class VideoCallService extends BaseService{
|
||||
|
||||
StartCallRes startCallRes;
|
||||
PatiantInformtion patient;
|
||||
LiveCarePatientServices _liveCarePatientServices = locator<LiveCarePatientServices>();
|
||||
|
||||
openVideo(StartCallRes startModel,PatiantInformtion patientModel,VoidCallback onCallConnected, VoidCallback onCallDisconnected)async{
|
||||
this.startCallRes = startModel;
|
||||
this.patient = patientModel;
|
||||
DoctorProfileModel doctorProfile = await getDoctorProfile(isGetProfile: true);
|
||||
await VideoChannel.openVideoCallScreen(
|
||||
kToken: "T1==cGFydG5lcl9pZD00NzI0Nzk1NCZzaWc9NGIyZDljOTY3YjFiNWU1YzUzNzFmMjIyNjJmNmEzY2Y5NzZjOTdlYzpzZXNzaW9uX2lkPTFfTVg0ME56STBOemsxTkg1LU1UWXlNekEyTlRRMU9EVXhObjVrVFRoMFlVdFJXaXRYTWpadFZGZHFhSGxZVGpOdE1UVi1mZyZjcmVhdGVfdGltZT0xNjIzMDY1NDk1Jm5vbmNlPTAuMjM2Mjk0NTIwMTkyOTA4OTcmcm9sZT1wdWJsaXNoZXImZXhwaXJlX3RpbWU9MTYyNTY1NzQ5NCZpbml0aWFsX2xheW91dF9jbGFzc19saXN0PQ==",//startCallRes.openTokenID,
|
||||
kSessionId: "1_MX40NzI0Nzk1NH5-MTYyMzA2NTQ1ODUxNn5kTTh0YUtRWitXMjZtVFdqaHlYTjNtMTV-fg",//startCallRes.openSessionID,
|
||||
kApiKey: '47247954',//'46209962',
|
||||
vcId: patient.vcId,
|
||||
patientName: patient.fullName ?? (patient.firstName != null ? "${patient.firstName} ${patient.lastName}" : "-"),
|
||||
tokenID: await sharedPref.getString(TOKEN),
|
||||
generalId: GENERAL_ID,
|
||||
doctorId: doctorProfile.doctorID,
|
||||
onFailure: (String error) {
|
||||
DrAppToastMsg.showErrorToast(error);
|
||||
},onCallConnected: onCallConnected,
|
||||
onCallEnd: () {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||
GifLoaderDialogUtils.showMyDialog(locator<NavigationService>().navigatorKey.currentContext);
|
||||
endCall(patient.vcId, false,).then((value) {
|
||||
GifLoaderDialogUtils.hideDialog(locator<NavigationService>().navigatorKey.currentContext);
|
||||
if (hasError) {
|
||||
DrAppToastMsg.showErrorToast(error);
|
||||
}else
|
||||
locator<NavigationService>().navigateTo(PATIENTS_END_Call,arguments: {
|
||||
"patient": patient,
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
},
|
||||
onCallNotRespond: (SessionStatusModel sessionStatusModel) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
GifLoaderDialogUtils.showMyDialog(locator<NavigationService>().navigatorKey.currentContext);
|
||||
endCall(patient.vcId, sessionStatusModel.sessionStatus == 3,).then((value) {
|
||||
GifLoaderDialogUtils.hideDialog(locator<NavigationService>().navigatorKey.currentContext);
|
||||
if (hasError) {
|
||||
DrAppToastMsg.showErrorToast(error);
|
||||
} else {
|
||||
locator<NavigationService>().navigateTo(PATIENTS_END_Call,arguments: {
|
||||
"patient": patient,
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
Future endCall(int vCID, bool isPatient) async {
|
||||
hasError = false;
|
||||
// await getDoctorProfile(isGetProfile: true);
|
||||
EndCallReq endCallReq = new EndCallReq();
|
||||
endCallReq.doctorId = doctorProfile.doctorID;
|
||||
endCallReq.generalid = 'Cs2020@2016\$2958';
|
||||
endCallReq.vCID = vCID;
|
||||
endCallReq.isDestroy = isPatient;
|
||||
//await _liveCarePatientServices.endCall(endCallReq);
|
||||
if (_liveCarePatientServices.hasError) {
|
||||
error = _liveCarePatientServices.error;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue