no message

development_amir
Zohaib Iqbal Kambrani 4 years ago
parent 8c29b5f8e6
commit cf8951f66a

@ -20,8 +20,8 @@ var PACKAGES_ORDERS = '/api/orders';
var PACKAGES_ORDER_HISTORY = '/api/orders/items'; var PACKAGES_ORDER_HISTORY = '/api/orders/items';
var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara'; var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
// var BASE_URL = 'http://10.50.100.198:3334/'; // var BASE_URL = 'http://10.50.100.198:3334/';
// var BASE_URL = 'https://uat.hmgwebservices.com/'; var BASE_URL = 'https://uat.hmgwebservices.com/';
var BASE_URL = 'https://hmgwebservices.com/'; // var BASE_URL = 'https://hmgwebservices.com/';
// Pharmacy UAT URLs // Pharmacy UAT URLs
// var BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; // var BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';

@ -81,7 +81,7 @@ class IncomingCallData {
isCall = json['is_call']; isCall = json['is_call'];
sound = json['sound']; sound = json['sound'];
server = json['server']; server = json['server'];
isWebRTC = json['isWebRTC'] ?? "false"; isWebRTC = json['is_webrtc'] ?? "true";
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -111,7 +111,7 @@ class IncomingCallData {
data['is_call'] = this.isCall; data['is_call'] = this.isCall;
data['sound'] = this.sound; data['sound'] = this.sound;
data['server'] = this.server; data['server'] = this.server;
data['isWebRTC'] = this.isWebRTC; data['is_webrtc'] = this.isWebRTC;
return data; return data;
} }
} }

@ -123,7 +123,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
"DoctorImageURL": "https://image.shutterstock.com/image-vector/sample-stamp-square-grunge-sign-260nw-1474408826.jpg", "DoctorImageURL": "https://image.shutterstock.com/image-vector/sample-stamp-square-grunge-sign-260nw-1474408826.jpg",
"callerID": "9920", "callerID": "9920",
"PatientID": "1231755", "PatientID": "1231755",
"is_call": "true" "is_call": "true",
}; };
void _requestIOSPermissions() { void _requestIOSPermissions() {
@ -452,15 +452,15 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
dummyCall() async { dummyCall() async {
final server = await SelectionDialog( // final server = await SelectionDialog(
context, // context,
title: "Select Server", // title: "Select Server",
items: ["https://livecareturn.hmg.com:8086", "https://104.197.179.1:8086"] // items: ["https://livecareturn.hmg.com:8086", "https://104.197.179.1:8086"]
).show(); // ).show();
final json = { final json = {
"callerID": "s1", "callerID": "9920",
"PatientID": "s2", "PatientID": "1231755",
"msgID": "123", "msgID": "123",
"notfID": "123", "notfID": "123",
"notification_foreground": "true", "notification_foreground": "true",
@ -484,7 +484,8 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
"videoUrl": "video", "videoUrl": "video",
"picture": "video", "picture": "video",
"is_call": "true", "is_call": "true",
"server": server, "is_webrtc": "true",
"server": "https://livecareturn.hmg.com:8086",
}; };
IncomingCallData incomingCallData = IncomingCallData.fromJson(json); IncomingCallData incomingCallData = IncomingCallData.fromJson(json);

@ -8,7 +8,7 @@ import '../utils/turn.dart' if (dart.library.js) '../utils/turn_web.dart';
enum SignalingState { Open, Closed, Error } enum SignalingState { Open, Closed, Error }
enum CallState { Calling, Ringing, Invite, Connected, Bye } enum CallState {Bye}
const JsonEncoder _encoder = JsonEncoder(); const JsonEncoder _encoder = JsonEncoder();
@ -68,7 +68,7 @@ class Signaling {
Function(SessionOneToOne session, MediaStream stream) onRemoveRemoteStream; Function(SessionOneToOne session, MediaStream stream) onRemoveRemoteStream;
Function(dynamic event) onPeersUpdate; Function(dynamic event) onPeersUpdate;
Function(dynamic event) onConnected; Function(dynamic event) onConnected;
Function(dynamic event) onRemoteConnected; Function(dynamic event) onCallAccepted;
Function(SessionOneToOne session, RTCDataChannel dc, RTCDataChannelMessage data) onDataChannelMessage; Function(SessionOneToOne session, RTCDataChannel dc, RTCDataChannelMessage data) onDataChannelMessage;
Function(SessionOneToOne session, RTCDataChannel dc) onDataChannel; Function(SessionOneToOne session, RTCDataChannel dc) onDataChannel;
@ -105,7 +105,7 @@ class Signaling {
close() async { close() async {
await finishSessions(); finishSessions();
_socket?.close(); _socket?.close();
} }
@ -139,7 +139,6 @@ class Signaling {
_createDataChannel(session); _createDataChannel(session);
} }
_createOffer(session, media); _createOffer(session, media);
onCallStateChange?.call(session, CallState.Calling);
} }
void bye(SessionOneToOne session) { void bye(SessionOneToOne session) {
@ -157,7 +156,7 @@ class Signaling {
switch (mapData['type']) { switch (mapData['type']) {
case 'call_accepted': case 'call_accepted':
{ {
onRemoteConnected?.call(data); onCallAccepted?.call(data);
} }
break; break;
@ -171,8 +170,6 @@ class Signaling {
case 'offer': case 'offer':
{ {
var peerId = data['from'];
var description = data['description']; var description = data['description'];
var media = data['media']; var media = data['media'];
@ -186,12 +183,10 @@ class Signaling {
}); });
session.remoteCandidates.clear(); session.remoteCandidates.clear();
} }
onCallStateChange?.call(session, CallState.Calling);
} }
break; break;
case 'answer': case 'answer':
{ {
var description = data['description']; var description = data['description'];
var sessionId = data['session_id']; var sessionId = data['session_id'];
session.pc?.setRemoteDescription( session.pc?.setRemoteDescription(
@ -200,8 +195,6 @@ class Signaling {
break; break;
case 'candidate': case 'candidate':
{ {
var peerId = data['from'];
var candidateMap = data['candidate']; var candidateMap = data['candidate'];
var sessionId = data['session_id']; var sessionId = data['session_id'];
RTCIceCandidate candidate = RTCIceCandidate(candidateMap['candidate'], RTCIceCandidate candidate = RTCIceCandidate(candidateMap['candidate'],
@ -219,23 +212,14 @@ class Signaling {
} }
} }
break; break;
case 'leave':
{
var peerId = data as String;
_closeSessionById(peerId);
}
break;
case 'bye': case 'bye':
{ {
if(session.local_user.id != data["from"])
var sessionId = data['session_id'];
print('bye: ' + sessionId);
if (session != null) {
onCallStateChange?.call(session, CallState.Bye); onCallStateChange?.call(session, CallState.Bye);
_closeSession(session);
}
} }
break; break;
case 'keepalive': case 'keepalive':
{ {
print('keepalive response!'); print('keepalive response!');
@ -486,14 +470,7 @@ class Signaling {
} }
Future<void> finishSessions() async { Future<void> finishSessions() async {
_closeSessionById(session.id); _closeSession(session);
}
void _closeSessionById(String sessionId) {
if (session != null && session.id == sessionId) {
_closeSession(session);
onCallStateChange?.call(session, CallState.Bye);
}
} }
Future<void> _closeSession(SessionOneToOne session) async { Future<void> _closeSession(SessionOneToOne session) async {

@ -76,19 +76,6 @@ class StartVideoCallState extends State<StartVideoCall> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
// appBar: AppBar(
// title: Text('P2P Call Sample' + (_session?.local_user != null ? ' [Your ID (${_session?.local_user?.id})] ' : '')),
// actions: <Widget>[
// IconButton(
// icon: const Icon(Icons.settings),
// onPressed: (){
// setState(() {
// });
// },
// tooltip: 'setup',
// ),
// ],
// ),
body: videoCanvasWidgets(), body: videoCanvasWidgets(),
); );
} }
@ -142,19 +129,9 @@ class StartVideoCallState extends State<StartVideoCall> {
_signaling?.onCallStateChange = (SessionOneToOne session, CallState state) { _signaling?.onCallStateChange = (SessionOneToOne session, CallState state) {
switch (state) { switch (state) {
case CallState.Calling:
setState(() {});
break;
case CallState.Bye: case CallState.Bye:
setState(() { _onHangup(byRemote: true);
_localRenderer.srcObject = null;
_remoteRenderer.srcObject = null;
_session = null;
});
break; break;
case CallState.Invite:
case CallState.Connected:
case CallState.Ringing:
} }
}; };
@ -162,7 +139,7 @@ class StartVideoCallState extends State<StartVideoCall> {
_signaling?.callAccepted(_session); _signaling?.callAccepted(_session);
}); });
_signaling?.onRemoteConnected = ((event) { _signaling?.onCallAccepted = ((event) {
}); });
@ -184,12 +161,6 @@ class StartVideoCallState extends State<StartVideoCall> {
}); });
} }
_hangUp() async{
if (_session != null) {
_signaling?.bye(_session);
}
}
_switchCamera() { _switchCamera() {
_signaling?.switchCamera(); _signaling?.switchCamera();
} }
@ -198,11 +169,13 @@ class StartVideoCallState extends State<StartVideoCall> {
_signaling?.muteMic(); _signaling?.muteMic();
} }
Function _onAudioEnable() { Function _onAudioEnable(){
final audioTrack = localMediaStream.getAudioTracks()[0]; final audioTrack = localMediaStream.getAudioTracks()[0];
final mute = audioTrack.muted; final micEnabled = audioTrack.enabled;
Helper.setMicrophoneMute(!mute, audioTrack); localMediaStream.getAudioTracks()[0].enabled = !micEnabled;
_audioButton.add(mute); _audioButton.add(!micEnabled);
// _audioButton.add(!mute);
// Helper.setMicrophoneMute(!mute, audioTrack);
} }
Function _onVideoEnabled() { Function _onVideoEnabled() {
@ -233,9 +206,12 @@ class StartVideoCallState extends State<StartVideoCall> {
_onButtonBarVisibleStreamController.add(false); _onButtonBarVisibleStreamController.add(false);
} }
Future<void> _onHangup() async { Future<void> _onHangup({bool byRemote = false}) async {
_signaling?.finishSessions(); if(byRemote){
print('onHangup'); Navigator.of(context).pop();
Navigator.of(context).pop(); }else{
_signaling.bye(_session);
Navigator.of(context).pop();
}
} }
} }

@ -35,13 +35,13 @@ class MyInAppBrowser extends InAppBrowser {
// static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL LIVE // static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL LIVE
static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL UAT static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL UAT
// static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT
static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE // static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE
// static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort PreAuth Payment Gateway URL UAT static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort PreAuth Payment Gateway URL UAT
static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store // static String PREAUTH_SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store
// static String PRESCRIPTION_PAYMENT_WITH_ORDERID = // static String PRESCRIPTION_PAYMENT_WITH_ORDERID =
// 'https://uat.hmgwebservices.com/epharmacy/checkout/OpcCompleteRedirectionPaymentClientbyOrder?orderID='; // 'https://uat.hmgwebservices.com/epharmacy/checkout/OpcCompleteRedirectionPaymentClientbyOrder?orderID=';

@ -1,11 +1,11 @@
arguments= arguments=
auto.sync=false auto.sync=false
build.scans.enabled=false build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(5.6.1)) connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(7.4.2))
connection.project.dir= connection.project.dir=
eclipse.preferences.version=1 eclipse.preferences.version=1
gradle.user.home= gradle.user.home=
java.home= java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
jvm.arguments= jvm.arguments=
offline.mode=false offline.mode=false
override.workspace.settings=true override.workspace.settings=true

Loading…
Cancel
Save