changes local

dev_v3.13.6_voipcall
Aamir Muhammad 2 years ago
parent ecaf503f8b
commit 3b8332ce21

@ -1,17 +1,10 @@
import 'dart:convert';
import 'dart:core'; import 'dart:core';
import 'dart:io';
import 'dart:ui'; import 'dart:ui';
import 'package:diplomaticquarterapp/app_state/app_state.dart';
import 'package:diplomaticquarterapp/voipcall/consts.dart'; import 'package:diplomaticquarterapp/voipcall/consts.dart';
import 'package:diplomaticquarterapp/voipcall/model/call.dart'; import 'package:diplomaticquarterapp/voipcall/model/call.dart';
import 'package:diplomaticquarterapp/voipcall/model/get_single_user_chat_call.dart';
import 'package:diplomaticquarterapp/voipcall/model/get_user_login_token.dart';
import 'package:diplomaticquarterapp/voipcall/model/incoming_call_model.dart';
import 'package:diplomaticquarterapp/voipcall/provider/chat_call_provider.dart'; import 'package:diplomaticquarterapp/voipcall/provider/chat_call_provider.dart';
import 'package:draggable_widget/draggable_widget.dart'; import 'package:draggable_widget/draggable_widget.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart'; import 'package:flutter_webrtc/flutter_webrtc.dart';
@ -42,98 +35,103 @@ class _StartCallPageState extends State<StartCallPage> {
super.dispose(); super.dispose();
} }
void startCall() async { // void startCall() async {
IncomingCallModel? sessionData; // IncomingCallModel? sessionData;
// dynamic calls = await FlutterCallkitIncoming.activeCalls(); // // dynamic calls = await FlutterCallkitIncoming.activeCalls();
// if (calls.isNotEmpty) { // // if (calls.isNotEmpty) {
// sessionData.extra.callerDetails = {"id":341682,"userName":"Aamir.Muhammad","email":"Aamir.Muhammad@cloudsolutions.com.sa","phone":null,"title":"Aamir Saleem Ahmad Dost Muhammad","token":"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIzNDE2ODIiLCJlbWFpbCI6IkFhbWlyLk11aGFtbWFkQGNsb3Vkc29sdXRpb25zLmNvbS5zYSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvdXNlcmRhdGEiOiJBYW1pci5NdWhhbW1hZCIsIm5iZiI6MTcwNzIwNTAyMywiZXhwIjoxNzA3MjkxNDIzLCJpYXQiOjE3MDcyMDUwMjN9.Zz2bcsMwiLAAWGZh2E_p5Qs6ItMt0JHhDFI_0DLdggCQtt6HHcT4n8nvqMZx-uYr3jLwqhA_IAjTuaCeSE15sw","isDomainUser":true,"isActiveCode":false,"encryptedUserId":"nn7RkYzbnQc=","encryptedUserName":"/QruOyp4QMcmNXKZlljUgg=="}; // // sessionData.extra.callerDetails = {"id":341682,"userName":"Aamir.Muhammad","email":"Aamir.Muhammad@cloudsolutions.com.sa","phone":null,"title":"Aamir Saleem Ahmad Dost Muhammad","token":"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIzNDE2ODIiLCJlbWFpbCI6IkFhbWlyLk11aGFtbWFkQGNsb3Vkc29sdXRpb25zLmNvbS5zYSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvdXNlcmRhdGEiOiJBYW1pci5NdWhhbW1hZCIsIm5iZiI6MTcwNzIwNTAyMywiZXhwIjoxNzA3MjkxNDIzLCJpYXQiOjE3MDcyMDUwMjN9.Zz2bcsMwiLAAWGZh2E_p5Qs6ItMt0JHhDFI_0DLdggCQtt6HHcT4n8nvqMZx-uYr3jLwqhA_IAjTuaCeSE15sw","isDomainUser":true,"isActiveCode":false,"encryptedUserId":"nn7RkYzbnQc=","encryptedUserName":"/QruOyp4QMcmNXKZlljUgg=="};
// sessionData = IncomingCallModel.fromRawJson(jsonEncode(calls[0])); // // sessionData = IncomingCallModel.fromRawJson(jsonEncode(calls[0]));
if (kDebugMode) { // // if (kDebugMode) {
print(sessionData!.toRawJson()); // // print(sessionData!.toRawJson());
} // // }
if (cProv!.isUserOnline) { // if (cProv!.isUserOnline) {
AppState().isBackgroundCall = true; // AppState().isBackgroundCall = true;
if (kDebugMode) { // if (kDebugMode) {
print("====== Processing Incoming Call in Online State ========="); // print("====== Processing Incoming Call in Online State =========");
} // }
await cProv!.startIncomingCallViaKit(inCallData: sessionData!.extra!.callerDetails!.toJson(), isVCall: sessionData.extra!.callType == "video" ? true : false); // await cProv!.startIncomingCallViaKit(inCallData: sessionData!.extra!.callerDetails!.toJson(), isVCall: sessionData.extra!.callType == "video" ? true : false);
cProv!.init(); // cProv!.init();
isCallConnected = true; // isCallConnected = true;
} else { // } else {
AppState().isBackgroundCall = true; // AppState().isBackgroundCall = true;
if (kDebugMode) { // if (kDebugMode) {
print("====== Processing Incoming Call ========="); // print("====== Processing Incoming Call =========");
} // }
// cProv.isUserOnline = provider.isUserOnline; // // cProv.isUserOnline = provider.isUserOnline;
await cProv!.startIncomingCallViaKit(inCallData: sessionData!.extra!.callerDetails!.toJson(), isVCall: sessionData!.extra!.callType == "video" ? true : false); // await cProv!.startIncomingCallViaKit(inCallData: sessionData!.extra!.callerDetails!.toJson(), isVCall: sessionData!.extra!.callType == "video" ? true : false);
try { // try {
AppState().setchatUserDetails = UserAutoLoginModel(response: Response.fromJson(sessionData.extra!.loginDetails!.toJson()), errorResponses: null); // AppState().setchatUserDetails = UserAutoLoginModel(response: Response.fromJson(sessionData.extra!.loginDetails!.toJson()), errorResponses: null);
// await cProv!.buildHubConnection().whenComplete(() { // // await cProv!.buildHubConnection().whenComplete(() {
// cProv!.init(); // // cProv!.init();
// isCallConnected = true; // // isCallConnected = true;
// }); // // });
} catch (e) { // } catch (e) {
print(e); // print(e);
} // }
} // }
//} // //}
//
// // cProv.startRecording();
// }
// cProv.startRecording(); // void startIosCall() async {
} // IosCallPayload iosCallPayload = widget.payload!;
// var userID = iosCallPayload.incomingCallReciverId;
void startIosCall() async { // var callType = iosCallPayload.incomingCallType;
IosCallPayload iosCallPayload = widget.payload!; // SingleUserChatModel inCallData = SingleUserChatModel(
var userID = iosCallPayload.incomingCallReciverId; // targetUserName: iosCallPayload.incomingCallerName,
var callType = iosCallPayload.incomingCallType; // chatEventId: 3,
SingleUserChatModel inCallData = SingleUserChatModel( // targetUserId: int.parse(iosCallPayload.incomingCallerId!),
targetUserName: iosCallPayload.incomingCallerName, // currentUserId: int.parse(userID.toString()),
chatEventId: 3, // );
targetUserId: int.parse(iosCallPayload.incomingCallerId!), // if (cProv!.isUserOnline) {
currentUserId: int.parse(userID.toString()), // AppState().isBackgroundCall = true;
); // if (kDebugMode) {
if (cProv!.isUserOnline) { // print("====== Processing Incoming Call in Online State =========");
AppState().isBackgroundCall = true; // }
if (kDebugMode) { // await cProv!.startIncomingCallViaKit(inCallData: inCallData.toJson(), isVCall: callType == "video" ? true : false);
print("====== Processing Incoming Call in Online State ========="); // cProv!.init();
} // isCallConnected = true;
await cProv!.startIncomingCallViaKit(inCallData: inCallData.toJson(), isVCall: callType == "video" ? true : false); // } else {
cProv!.init(); // if (kDebugMode) {
isCallConnected = true; // print("====== Processing Incoming Call =========");
} else { // }
if (kDebugMode) { // AppState().isBackgroundCall = true;
print("====== Processing Incoming Call ========="); // UserAutoLoginModel userLoginResponse = await ChatService().getUserCallToken(userid: userID.toString());
} // if (userLoginResponse.response != null) {
AppState().isBackgroundCall = true; // AppState().setchatUserDetails = userLoginResponse;
UserAutoLoginModel userLoginResponse = await ChatService().getUserCallToken(userid: userID.toString()); // AppSharedPrefs().setStringFromPrefs("userLoginChatDetails", jsonEncode(userLoginResponse.response));
if (userLoginResponse.response != null) { //
AppState().setchatUserDetails = userLoginResponse; // await cProv!.startIncomingCallViaKit(inCallData: inCallData.toJson(), isVCall: callType == "video" ? true : false);
AppSharedPrefs().setStringFromPrefs("userLoginChatDetails", jsonEncode(userLoginResponse.response)); // try {
// AppState().setchatUserDetails = UserAutoLoginModel(response: userLoginResponse.response, errorResponses: null);
// // await cProv!.buildHubConnection().whenComplete(() {
// // cProv!.init();
// // isCallConnected = true;
// // });
// } catch (e) {
// print(e);
// }
// }
// }
// }
await cProv!.startIncomingCallViaKit(inCallData: inCallData.toJson(), isVCall: callType == "video" ? true : false); // void startIosCall() {
try { // cProv!.startCallByRTC();
AppState().setchatUserDetails = UserAutoLoginModel(response: userLoginResponse.response, errorResponses: null); // }
// await cProv!.buildHubConnection().whenComplete(() {
// cProv!.init();
// isCallConnected = true;
// });
} catch (e) {
print(e);
}
}
}
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
cProv = context.read<ChatCallProvider>(); cProv = context.read<ChatCallProvider>();
if (!cProv!.isOutGoingCall) { // if (!cProv!.isOutGoingCall) {
if (Platform.isAndroid) { // if (Platform.isAndroid) {
startCall(); // // startCall();
} else if (Platform.isIOS) { // } else if (Platform.isIOS) {
// cProv!.buildHubConnection(); // // cProv!.buildHubConnection();
// startIosCall(); // // startIosCall();
} // // startIosCall();
} // }
// }
return Scaffold( return Scaffold(
extendBody: true, extendBody: true,
@ -349,11 +347,11 @@ class _StartCallPageState extends State<StartCallPage> {
RawMaterialButton( RawMaterialButton(
constraints: const BoxConstraints(), constraints: const BoxConstraints(),
onPressed: () { onPressed: () {
prov.endCall(isUserOnline: prov.isUserOnline).then((bool value) { // prov.endCall(isUserOnline: prov.isUserOnline).then((bool value) {
if (value) { // if (value) {
Navigator.of(context).pop(); // Navigator.of(context).pop();
} // }
}); // });
}, },
elevation: 2.0, elevation: 2.0,
fillColor: MyColors.redA3Color, fillColor: MyColors.redA3Color,
@ -578,13 +576,13 @@ class _StartCallPageState extends State<StartCallPage> {
RawMaterialButton( RawMaterialButton(
constraints: const BoxConstraints(), constraints: const BoxConstraints(),
onPressed: () { onPressed: () {
prov.endCall(isUserOnline: prov.isUserOnline).then( // prov.endCall(isUserOnline: prov.isUserOnline).then(
(bool value) { // (bool value) {
if (value) { // if (value) {
Navigator.of(context).pop(); // Navigator.of(context).pop();
} // }
}, // },
); // );
}, },
elevation: 2.0, elevation: 2.0,
fillColor: MyColors.redA3Color, fillColor: MyColors.redA3Color,

@ -1,199 +1,199 @@
import 'dart:ui'; // import 'dart:ui';
//
import 'package:diplomaticquarterapp/voipcall/consts.dart'; // import 'package:diplomaticquarterapp/voipcall/consts.dart';
import 'package:diplomaticquarterapp/voipcall/model/call.dart'; // import 'package:diplomaticquarterapp/voipcall/model/call.dart';
import 'package:diplomaticquarterapp/voipcall/provider/chat_call_provider.dart'; // import 'package:diplomaticquarterapp/voipcall/provider/chat_call_provider.dart';
import 'package:flutter/material.dart'; // import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; // import 'package:flutter_svg/flutter_svg.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart'; // import 'package:flutter_webrtc/flutter_webrtc.dart';
import 'package:provider/provider.dart'; // import 'package:provider/provider.dart';
//
class OutGoingCall extends StatefulWidget { // class OutGoingCall extends StatefulWidget {
CallDataModel? outGoingCallData; // CallDataModel? outGoingCallData;
bool isVideoCall; // bool isVideoCall;
//
OutGoingCall({Key? key, this.outGoingCallData, this.isVideoCall = false}) : super(key: key); // OutGoingCall({Key? key, this.outGoingCallData, this.isVideoCall = false}) : super(key: key);
//
@override // @override
_OutGoingCallState createState() => _OutGoingCallState(); // _OutGoingCallState createState() => _OutGoingCallState();
} // }
//
class _OutGoingCallState extends State<OutGoingCall> { // class _OutGoingCallState extends State<OutGoingCall> {
ChatCallProvider? callProvider; // ChatCallProvider? callProvider;
//late ChatProviderModel chatProvider; // //late ChatProviderModel chatProvider;
bool loader = true; // bool loader = true;
//
@override // @override
void initState() { // void initState() {
super.initState(); // super.initState();
} // }
//
Future<void> init() async { // Future<void> init() async {
// widget.isVideoCall ? callProvider!.isVideoCall = true : callProvider!.isVideoCall = false; // // widget.isVideoCall ? callProvider!.isVideoCall = true : callProvider!.isVideoCall = false;
widget.isVideoCall = true; // widget.isVideoCall = true;
callProvider!.isOutGoingCall = true; // callProvider!.isOutGoingCall = true;
// IosCallPayload payload = IosCallPayload( // // IosCallPayload payload = IosCallPayload(
// incomingCallerId: widget.outGoingCallData.callerId.toString(), // // incomingCallerId: widget.outGoingCallData.callerId.toString(),
// incomingCallerName: widget.outGoingCallData.callerName, // // incomingCallerName: widget.outGoingCallData.callerName,
// incomingCallReciverId: widget.outGoingCallData.receiverId.toString(), // // incomingCallReciverId: widget.outGoingCallData.receiverId.toString(),
// incomingCallType: widget.outGoingCallData.callType, // // incomingCallType: widget.outGoingCallData.callType,
// uuid: "", // // uuid: "",
// callData: widget.outGoingCallData.toRawJson()); // // callData: widget.outGoingCallData.toRawJson());
// await Utils.saveStringFromPrefs("iosCallPayload", jsonEncode(payload)); // // await Utils.saveStringFromPrefs("iosCallPayload", jsonEncode(payload));
await callProvider!.initLocalCamera(callData: widget.outGoingCallData); // await callProvider!.initLocalCamera(callData: widget.outGoingCallData);
loader = false; // loader = false;
} // }
//
@override // @override
void dispose() { // void dispose() {
super.dispose(); // super.dispose();
} // }
//
@override // @override
Widget build(BuildContext context) { // Widget build(BuildContext context) {
callProvider = Provider.of<ChatCallProvider>(context, listen: false); // callProvider = Provider.of<ChatCallProvider>(context, listen: false);
init(); // init();
return Scaffold( // return Scaffold(
body: Consumer<ChatCallProvider>(builder: (BuildContext context, ChatCallProvider chatcp, Widget? child) { // body: Consumer<ChatCallProvider>(builder: (BuildContext context, ChatCallProvider chatcp, Widget? child) {
return loader // return loader
? const Center( // ? const Center(
child: CircularProgressIndicator(), // child: CircularProgressIndicator(),
) // )
: Stack( // : Stack(
alignment: FractionalOffset.center, // alignment: FractionalOffset.center,
children: <Widget>[ // children: <Widget>[
if (chatcp.isVideoCall) // if (chatcp.isVideoCall)
Positioned.fill( // Positioned.fill(
child: RTCVideoView( // child: RTCVideoView(
chatcp.localVideoRenderer!, // chatcp.localVideoRenderer!,
objectFit: RTCVideoViewObjectFit.RTCVideoViewObjectFitCover, // objectFit: RTCVideoViewObjectFit.RTCVideoViewObjectFitCover,
), // ),
), // ),
Positioned.fill( // Positioned.fill(
child: ClipRect( // child: ClipRect(
child: BackdropFilter( // child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5.0, sigmaY: 5.0), // filter: ImageFilter.blur(sigmaX: 5.0, sigmaY: 5.0),
child: Container( // child: Container(
decoration: BoxDecoration( // decoration: BoxDecoration(
color: MyColors.grey57Color.withOpacity( // color: MyColors.grey57Color.withOpacity(
0.3, // 0.3,
), // ),
), // ),
child: Column( // child: Column(
crossAxisAlignment: CrossAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max, // mainAxisSize: MainAxisSize.max,
children: <Widget>[ // children: <Widget>[
SizedBox( // SizedBox(
height: 40, // height: 40,
), // ),
Row( // Row(
crossAxisAlignment: CrossAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, // mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[ // children: <Widget>[
Container( // Container(
margin: const EdgeInsets.all(21.0), // margin: const EdgeInsets.all(21.0),
child: Container( // child: Container(
margin: const EdgeInsets.only( // margin: const EdgeInsets.only(
left: 10.0, // left: 10.0,
right: 10.0, // right: 10.0,
), // ),
child: Column( // child: Column(
crossAxisAlignment: CrossAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min, // mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceAround, // mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[ // children: <Widget>[
SvgPicture.asset( // SvgPicture.asset(
"assets/images/user.svg", // "assets/images/user.svg",
height: 70, // height: 70,
width: 70, // width: 70,
fit: BoxFit.cover, // fit: BoxFit.cover,
), // ),
SizedBox( // SizedBox(
height: 10, // height: 10,
), // ),
Text( // Text(
widget.outGoingCallData!.receiverName.toString().replaceAll(".", " "), // widget.outGoingCallData!.receiverName.toString().replaceAll(".", " "),
style: const TextStyle( // style: const TextStyle(
fontSize: 21, // fontSize: 21,
fontWeight: FontWeight.bold, // fontWeight: FontWeight.bold,
color: MyColors.white, // color: MyColors.white,
letterSpacing: -1.26, // letterSpacing: -1.26,
height: 23 / 12, // height: 23 / 12,
), // ),
), // ),
const Text( // const Text(
"Ringing...", // "Ringing...",
style: TextStyle( // style: TextStyle(
fontSize: 16, // fontSize: 16,
fontWeight: FontWeight.w600, // fontWeight: FontWeight.w600,
color: Color( // color: Color(
0xffC6C6C6, // 0xffC6C6C6,
), // ),
letterSpacing: -0.48, // letterSpacing: -0.48,
height: 23 / 24, // height: 23 / 24,
), // ),
), // ),
const SizedBox( // const SizedBox(
height: 2, // height: 2,
), // ),
], // ],
), // ),
), // ),
), // ),
], // ],
), // ),
const Spacer(), // const Spacer(),
Container( // Container(
margin: const EdgeInsets.only( // margin: const EdgeInsets.only(
bottom: 70.0, // bottom: 70.0,
left: 49, // left: 49,
right: 49, // right: 49,
), // ),
child: Row( // child: Row(
mainAxisSize: MainAxisSize.max, // mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center, // mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[ // children: <Widget>[
RawMaterialButton( // RawMaterialButton(
onPressed: () { // onPressed: () {
chatcp.endCall(isUserOnline: chatcp.isUserOnline).then((bool value) { // chatcp.endCall(isUserOnline: chatcp.isUserOnline).then((bool value) {
if (value) { // if (value) {
Navigator.of(context).pop(); // Navigator.of(context).pop();
} // }
}); // });
}, // },
elevation: 2.0, // elevation: 2.0,
fillColor: MyColors.redA3Color, // fillColor: MyColors.redA3Color,
padding: const EdgeInsets.all( // padding: const EdgeInsets.all(
15.0, // 15.0,
), // ),
shape: const CircleBorder(), // shape: const CircleBorder(),
child: const Icon( // child: const Icon(
Icons.call_end, // Icons.call_end,
color: MyColors.white, // color: MyColors.white,
size: 35.0, // size: 35.0,
), // ),
), // ),
], // ],
), // ),
), // ),
], // ],
), // ),
), // ),
), // ),
), // ),
), // ),
], // ],
); // );
}), // }),
); // );
} // }
//
BoxDecoration cardRadius(double radius, {Color? color, double? elevation}) { // BoxDecoration cardRadius(double radius, {Color? color, double? elevation}) {
return BoxDecoration( // return BoxDecoration(
shape: BoxShape.rectangle, // shape: BoxShape.rectangle,
color: color ?? Colors.white, // color: color ?? Colors.white,
borderRadius: BorderRadius.all(Radius.circular(radius)), // borderRadius: BorderRadius.all(Radius.circular(radius)),
boxShadow: <BoxShadow>[BoxShadow(color: const Color(0xff000000).withOpacity(.05), blurRadius: elevation ?? 27, offset: const Offset(-2, 3))], // boxShadow: <BoxShadow>[BoxShadow(color: const Color(0xff000000).withOpacity(.05), blurRadius: elevation ?? 27, offset: const Offset(-2, 3))],
); // );
} // }
} // }

File diff suppressed because it is too large Load Diff

@ -31,7 +31,6 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/voipcall/call/chat_outgoing_call_screen.dart';
import 'package:diplomaticquarterapp/voipcall/provider/chat_call_provider.dart'; import 'package:diplomaticquarterapp/voipcall/provider/chat_call_provider.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
@ -461,75 +460,50 @@ class _AppDrawerState extends State<AppDrawer> {
Navigator.of(context).push(FadePage(page: UserAgreementPage())); Navigator.of(context).push(FadePage(page: UserAgreementPage()));
}, },
), ),
GestureDetector( SizedBox(height: 20),
onTap: () async { Padding(
//Aamir Call padding: const EdgeInsets.all(8.0),
Future<PermissionStatus> micPer = Permission.microphone.request(); child: TextField(
Future<PermissionStatus> camPer = Permission.camera.request(); decoration: InputDecoration(
if (await micPer.isGranted && await camPer.isGranted) { border: OutlineInputBorder(
// callProv!.buildHubConnection(); borderSide: BorderSide(width: 2, color: Colors.black),
await callProv!.makeCall(callType: "VIDEO").then((value) { ),
Future.delayed(Duration(seconds: 3), () {
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => OutGoingCall(
isVideoCall: value.callType == "VIDEO" ? true : false,
outGoingCallData: value,
),
),
);
});
});
} else if (await micPer.isDenied) {
micPer = Permission.microphone.request();
} else if (await camPer.isDenied) {
camPer = Permission.camera.request();
}
},
child: Card(
child: Container(
height: 50,
width: 200,
child: Center(child: Text("Call")),
), ),
onChanged: (val) {
print(val);
callProv!.doctorID = val;
print(callProv!.doctorID);
},
), ),
), ),
GestureDetector( SizedBox(height: 20),
onTap: () async { Center(
//Aamir Call child: Padding(
Future<PermissionStatus> micPer = Permission.microphone.request(); padding: const EdgeInsets.all(8.0),
Future<PermissionStatus> camPer = Permission.camera.request(); child: ElevatedButton(
if (await micPer.isGranted && await camPer.isGranted) { style: ButtonStyle(
await callProv!.openChatConnection(); backgroundColor: MaterialStateProperty.all(Colors.blue),
// IosCallPayload _iosCallPayload = IosCallPayload( ),
// uuid: "342h8f=-few-3f23rsd-s-f32-r--sd-3rt-2", onPressed: () async {
// incomingCallerId: "341682", Future<PermissionStatus> micPer = Permission.microphone.request();
// incomingCallReciverId: "266642", Future<PermissionStatus> camPer = Permission.camera.request();
// incomingCallerName: "Aamir.Muhammad", if (await micPer.isGranted && await camPer.isGranted) {
// incomingCallType: "video"); await callProv!.buildHubConnection();
// Future.delayed(Duration(seconds: 2), () { } else if (await micPer.isDenied) {
// MaterialPageRoute pageRoute = MaterialPageRoute( micPer = Permission.microphone.request();
// builder: (BuildContext context) => StartCallPage( } else if (await camPer.isDenied) {
// payload: _iosCallPayload, camPer = Permission.camera.request();
// ), }
// ); },
// Navigator.push(context, pageRoute); child: Center(
// }); child: Padding(
} else if (await micPer.isDenied) { padding: const EdgeInsets.all(12.0),
micPer = Permission.microphone.request(); child: Text("Receive Call"),
} else if (await camPer.isDenied) { ),
camPer = Permission.camera.request(); ),
}
},
child: Card(
child: Container(
height: 50,
width: 200,
child: Center(child: Text("Receive Call")),
), ),
), ),
), )
], ],
)) ))
], ],

Loading…
Cancel
Save