From e82f9088854487cc090646c1c2b8b358dbaf2ba3 Mon Sep 17 00:00:00 2001 From: FaizHashmiCS22 Date: Tue, 22 Aug 2023 10:10:22 +0300 Subject: [PATCH] final push till demo --- lib/home/home_screen.dart | 52 +++++++++++++++++++++++++++++++----- lib/utils/signalR_utils.dart | 5 ++-- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/lib/home/home_screen.dart b/lib/home/home_screen.dart index 607e902..7b3a12c 100644 --- a/lib/home/home_screen.dart +++ b/lib/home/home_screen.dart @@ -60,6 +60,9 @@ class _MyHomePageState extends State { return ""; } + final AudioPlayer audioPlayer = AudioPlayer(); + + @override void initState() { listenNetworkConnectivity(); @@ -76,7 +79,6 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { - final AudioPlayer audioPlayer = AudioPlayer(); audioPlayer.playerStateStream.listen((playerState) { if (playerState.processingState == ProcessingState.completed) { isCallingInProgress = false; @@ -255,14 +257,34 @@ class _MyHomePageState extends State { } } - onUpdateAvailable(data, audioPlayer) async { + onUpdateAvailable(data) async { // if (isQueuePatients.isNotEmpty && callFlag == 0) { // callFlag = 1; // return; // } - print("hereValues: ${isCallingInProgress || voiceCaller != null}"); - if ((isCallingInProgress || voiceCaller != null) && waitings.isNotEmpty) { - Timer(Duration(milliseconds: int.parse(waitings.first.queueDuration)), () { + if (waitings.isNotEmpty) { + if ((waitings.first.isToneReq && isCallingInProgress) || (waitings.first.isVoiceReq && voiceCaller != null)) { + // if (true) { + print("I will wait with $isCallingInProgress "); + Timer(Duration(milliseconds: int.parse(waitings.first.queueDuration)), () { + // Timer(Duration(milliseconds: 0), () { + waitings.clear(); + API.getCallRequestInfoByClinicInfo(deviceIPGlobal, onSuccess: (waitingCalls, isQueuePatientsCalls) { + setState(() { + waitings = waitingCalls; + isQueuePatients = isQueuePatientsCalls; + // currents = currentInClinic; + }); + + log("--------------------"); + log("waiting: $waitings"); + log("isQueuePatients: $isQueuePatients"); + log("--------------------"); + + updateTickets(); + }, onFailure: (error) {}); + }); + } else { waitings.clear(); API.getCallRequestInfoByClinicInfo(deviceIPGlobal, onSuccess: (waitingCalls, isQueuePatientsCalls) { setState(() { @@ -278,7 +300,7 @@ class _MyHomePageState extends State { updateTickets(); }, onFailure: (error) {}); - }); + } } else { waitings.clear(); API.getCallRequestInfoByClinicInfo(deviceIPGlobal, onSuccess: (waitingCalls, isQueuePatientsCalls) { @@ -337,3 +359,21 @@ class _MyHomePageState extends State { }); } } + +// if (isQueuePatients.length > 1) { +// Timer(Duration(milliseconds: int.parse(waitings.first.queueDuration)), () { +// Tickets calledTicket = Tickets(); +// if (isQueuePatients.isNotEmpty) { +// calledTicket = isQueuePatients.elementAt(0); +// isQueuePatients.removeAt(0); +// } +// if (waitings.isNotEmpty) { +// // Tickets ticket = waitings.elementAt(0); +// // waitings.removeAt(0); +// // waitings.add(ticket); +// } +// if (isQueuePatients.isNotEmpty) { +// // setState(() {}); +// } +// }); +// } diff --git a/lib/utils/signalR_utils.dart b/lib/utils/signalR_utils.dart index 69cc1a0..9aa683d 100644 --- a/lib/utils/signalR_utils.dart +++ b/lib/utils/signalR_utils.dart @@ -2,7 +2,6 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:http/io_client.dart'; -import 'package:just_audio/just_audio.dart'; import 'package:signalr_core/signalr_core.dart'; /* @@ -27,7 +26,7 @@ class SignalRHelper { HubConnection connection; startSignalRConnection(String deviceIp, - {@required Function(dynamic, dynamic) onUpdateAvailable, @required VoidCallback onConnect, @required Function(dynamic) onDisconnect, @required VoidCallback onConnecting}) async { + {@required Function(dynamic) onUpdateAvailable, @required VoidCallback onConnect, @required Function(dynamic) onDisconnect, @required VoidCallback onConnecting}) async { // Hardcoded IP For Testing // deviceIp = "10.10.14.11"; print("Connecting Signal R with: $deviceIp"); @@ -51,7 +50,7 @@ class SignalRHelper { connection.onreconnected((connectionId) => onConnect()); connection.on('addChatMessage', (message) { - onUpdateAvailable(message, AudioPlayer()); + onUpdateAvailable(message); }); // try {