// import 'package:diplomaticquarterapp/pages/webRTC/signaling_bkp.dart';
// import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_webrtc/flutter_webrtc.dart';
//
// class CallPage extends StatefulWidget {
//   @override
//   _CallPageState createState() => _CallPageState();
// }
//
// class _CallPageState extends State<CallPage> {
//   Signaling signaling = Signaling();
//   RTCVideoRenderer _localRenderer = RTCVideoRenderer();
//   RTCVideoRenderer _remoteRenderer = RTCVideoRenderer();
//   String roomId;
//   TextEditingController textEditingController = TextEditingController(text: '');
//
//   @override
//   void initState() {
//     _localRenderer.initialize();
//     _remoteRenderer.initialize();
//
//     signaling.onAddRemoteStream = ((stream) {
//       _remoteRenderer.srcObject = stream;
//       setState(() {});
//     });
//
//     super.initState();
//   }
//
//   @override
//   void dispose() {
//     _localRenderer.dispose();
//     _remoteRenderer.dispose();
//     super.dispose();
//   }
//
//   void _getUserMedia() async {
//     final Map<String, dynamic> constraints = {
//       'audio': 'false',
//       'video': {'facingMode': 'user'},
//     };
//
//     MediaStream stream = await navigator.mediaDevices.getUserMedia(constraints);
//     setState(() {
//       _localRenderer.srcObject = stream;
//     });
//   }
//
//   void initializeRenderers() async {
//     _localRenderer.initialize();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return AppScaffold(
//       isShowAppBar: true,
//       showNewAppBar: true,
//       showNewAppBarTitle: true,
//       isShowDecPage: false,
//       appBarTitle: "WebRTC Calling",
//       body: Column(
//         children: [
//           SizedBox(height: 8),
//           Wrap(
//             children: [
//               ElevatedButton(
//                 onPressed: () {
//                   setState(() {
//                     signaling.openUserMedia(_localRenderer, _remoteRenderer);
//                   });
//                 },
//                 child: Text("Open camera & microphone"),
//               ),
//               SizedBox(
//                 width: 8,
//               ),
//               ElevatedButton(
//                 onPressed: () async {
//                   roomId = await signaling.createRoom(_remoteRenderer);
//                   textEditingController.text = roomId;
//                   setState(() {});
//                 },
//                 child: Text("Create room"),
//               ),
//               SizedBox(
//                 width: 8,
//               ),
//               ElevatedButton(
//                 onPressed: () {
//                   // Add roomId
//                   signaling.joinRoom(
//                     textEditingController.text,
//                     _remoteRenderer,
//                   );
//                 },
//                 child: Text("Join room"),
//               ),
//               SizedBox(
//                 width: 8,
//               ),
//               ElevatedButton(
//                 onPressed: () {
//                   signaling.hangUp(_localRenderer);
//                 },
//                 child: Text("Hangup"),
//               )
//             ],
//           ),
//           SizedBox(height: 8),
//           Expanded(
//             child: Padding(
//               padding: const EdgeInsets.all(0.0),
//               child: Stack(
//                 children: [
//                   Positioned(top: 0.0, right: 0.0, left: 0.0, bottom: 0.0, child: RTCVideoView(_remoteRenderer)),
//                   Positioned(
//                     top: 20.0,
//                     right: 100.0,
//                     left: 20.0,
//                     bottom: 300.0,
//                     child: RTCVideoView(_localRenderer, mirror: true),
//                   ),
//                 ],
//               ),
//             ),
//           ),
//           Padding(
//             padding: const EdgeInsets.all(8.0),
//             child: Row(
//               mainAxisAlignment: MainAxisAlignment.center,
//               children: [
//                 Text("Join the following Room: "),
//                 Flexible(
//                   child: TextFormField(
//                     controller: textEditingController,
//                   ),
//                 )
//               ],
//             ),
//           ),
//           SizedBox(height: 8)
//         ],
//       ),
//     );
//   }
// }
