|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
import 'dart:async';
|
|
|
|
|
import 'dart:convert';
|
|
|
|
|
import 'dart:ffi';
|
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
|
|
import 'package:diplomaticquarterapp/config/config.dart';
|
|
|
|
@ -9,6 +10,7 @@ import 'package:diplomaticquarterapp/models/LiveCare/IncomingCallData.dart';
|
|
|
|
|
import 'package:diplomaticquarterapp/pages/DrawerPages/notifications/notification_details_page.dart';
|
|
|
|
|
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
|
|
|
|
|
import 'package:diplomaticquarterapp/pages/livecare/incoming_call.dart';
|
|
|
|
|
import 'package:diplomaticquarterapp/pages/videocall-webrtc-rnd/webrtc/start_video_call.dart';
|
|
|
|
|
import 'package:diplomaticquarterapp/pages/webRTC/OpenTok/OpenTok.dart';
|
|
|
|
|
import 'package:diplomaticquarterapp/services/livecare_services/livecare_provider.dart';
|
|
|
|
|
import 'package:diplomaticquarterapp/uitl/app-permissions.dart';
|
|
|
|
@ -86,8 +88,15 @@ RemoteMessage toFirebaseRemoteMessage(h_push.RemoteMessage message) {
|
|
|
|
|
return fire_message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
callPage(String sessionID, String token) async {
|
|
|
|
|
await NavigationService.navigateToPage(OpenTokConnectCallPage(apiKey: OPENTOK_API_KEY, sessionId: sessionID, token: token));
|
|
|
|
|
callPage(String sessionID, String token, String isWebrtc, String callerIdString) async {
|
|
|
|
|
if (isWebrtc == "true"){
|
|
|
|
|
String caller = callerIdString.split("*")[3];
|
|
|
|
|
String receiver = callerIdString.split("*")[4];
|
|
|
|
|
String host = callerIdString.split("*")[5];
|
|
|
|
|
return StartVideoCall(caller: caller, receiver: receiver, iAmCaller: false, host: host);
|
|
|
|
|
}else{
|
|
|
|
|
await NavigationService.navigateToPage(OpenTokConnectCallPage(apiKey: OPENTOK_API_KEY, sessionId: sessionID, token: token));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_incomingCall(Map data) async {
|
|
|
|
@ -192,6 +201,7 @@ class PushNotificationHandler {
|
|
|
|
|
|
|
|
|
|
String sessionID = callerId.split("*")[0];
|
|
|
|
|
String token = callerId.split("*")[1];
|
|
|
|
|
String isWebRTC = callerId.split("*")[2];
|
|
|
|
|
|
|
|
|
|
print("🎈 SessionID: $sessionID");
|
|
|
|
|
print("🎈 Token: $token");
|
|
|
|
@ -204,7 +214,7 @@ class PushNotificationHandler {
|
|
|
|
|
|
|
|
|
|
Future.delayed(new Duration(milliseconds: 2000)).then((value) async {
|
|
|
|
|
print("🎈 Incoming Call!!!");
|
|
|
|
|
callPage(sessionID, token);
|
|
|
|
|
callPage(sessionID, token, isWebRTC, callerId);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// print("🎈 Identity: $identity");
|
|
|
|
|