From a15aaa4db907fa8c760c4d81d076727b2b63b6cb Mon Sep 17 00:00:00 2001 From: FaizHashmiCS22 Date: Tue, 15 Aug 2023 17:34:06 +0300 Subject: [PATCH] Updated before Merging List --- lib/core/api.dart | 4 +-- lib/core/base/base_app_client.dart | 3 +- lib/home/home_screen.dart | 41 +++++++++++++++++++++------- lib/home/home_screen_components.dart | 10 +++---- 4 files changed, 40 insertions(+), 18 deletions(-) diff --git a/lib/core/api.dart b/lib/core/api.dart index ea67976..869f0e9 100644 --- a/lib/core/api.dart +++ b/lib/core/api.dart @@ -30,8 +30,8 @@ class API { log("NurseCallPatients: ${calledByNurse.toString()} "); log("patients: ${patients.toString()} "); - var isQueuePatients = calledByNurse.where((element) => element.isQueueNurse == false).toList(); - calledByNurse.removeWhere((element) => element.isQueueNurse == false); + var isQueuePatients = calledByNurse.where((element) => element.isQueueNurse == false || element.isQueueDr == false).toList(); + calledByNurse.removeWhere((element) => element.isQueueNurse == false || element.isQueueDr == false); // calledByNurse.sort((a, b) => a.callNo.compareTo(b.callNo)); calledByNurse.addAll(isQueuePatients.toList()); diff --git a/lib/core/base/base_app_client.dart b/lib/core/base/base_app_client.dart index c6e5d6c..8406157 100644 --- a/lib/core/base/base_app_client.dart +++ b/lib/core/base/base_app_client.dart @@ -1,5 +1,6 @@ import 'dart:convert'; +import 'dart:developer'; import 'dart:io' show Platform; import 'package:queuing_system/core/config/config.dart'; import 'package:queuing_system/utils/Utils.dart'; @@ -32,7 +33,7 @@ class BaseAppClient { if (statusCode < 200 || statusCode >= 400) { onFailure(Utils.generateContactAdminMsg(), statusCode); } else { - print("Response: ${response.body.toString()}"); + log("Response: ${response.body.toString()}"); var parsed = json.decode(response.body.toString()); onSuccess(parsed, statusCode); } diff --git a/lib/home/home_screen.dart b/lib/home/home_screen.dart index 96f9f0d..0b12ad5 100644 --- a/lib/home/home_screen.dart +++ b/lib/home/home_screen.dart @@ -78,7 +78,7 @@ class _MyHomePageState extends State { Widget build(BuildContext context) { return AppScaffold( appBar: AppHeader(), - body: content(), + body: dataContent(), bottomNavigationBar: Container( color: Colors.grey.withOpacity(0.1), height: Utils.getHeight(), @@ -132,7 +132,7 @@ class _MyHomePageState extends State { // } } - Widget content() { + Widget dataContent() { // waitings.removeAt(0); // waitings = waitings.sublist(0,3); voiceCall(); @@ -173,16 +173,37 @@ class _MyHomePageState extends State { final AudioPlayer audioPlayer = AudioPlayer(); int callFlag = 0; + bool isRequiredVoice({CallType callType, bool isQueueNurse, bool isQueueDr}) { + if (callType == CallType.DOCTOR && !isQueueDr) { + return true; + } + if (callType == CallType.NURSE && !isQueueNurse) { + return true; + } + return false; + } + voiceCall() async { //DONE: After calling this voice call, we should delay for milliseconds that is given by API. After that we will check if there are more patients in isQueuePatients we will remove the patient from waiting list and then update the state - + print("I am here"); if (waitings.isNotEmpty) { - if (waitings.first.isToneReq) { + if (waitings.first.isToneReq && + isRequiredVoice( + callType: waitings.first.getCallType(), + isQueueDr: waitings.first.isQueueDr, + isQueueNurse: waitings.first.isQueueNurse, + )) { audioPlayer.setAsset("assets/tones/call_tone.mp3"); await audioPlayer.play(); - await Future.delayed(const Duration(seconds: 2)); + // await Future.delayed(const Duration(seconds: 2)); } - if (waitings.first.isVoiceReq && voiceCaller == null) { + if (waitings.first.isVoiceReq && + voiceCaller == null && + isRequiredVoice( + callType: waitings.first.getCallType(), + isQueueDr: waitings.first.isQueueDr, + isQueueNurse: waitings.first.isQueueNurse, + )) { final postVoice = getCallTypeText(waitings.first); voiceCaller = CallByVoice(waitings.first.queueNo.trim().toString(), preVoice: "Ticket Number", postVoice: postVoice, lang: 'en'); await voiceCaller.startCalling(waitings.first.queueNo.trim().toString() != waitings.first.callNoStr.trim().toString()); @@ -195,12 +216,12 @@ class _MyHomePageState extends State { isQueuePatients.removeAt(0); } if (waitings.isNotEmpty) { - Tickets ticket = waitings.elementAt(0); - waitings.removeAt(0); - waitings.add(ticket); + // Tickets ticket = waitings.elementAt(0); + // waitings.removeAt(0); + // waitings.add(ticket); } if (isQueuePatients.isNotEmpty) { - setState(() {}); + // setState(() {}); } }); } else { diff --git a/lib/home/home_screen_components.dart b/lib/home/home_screen_components.dart index 80c88a9..b9ed7b7 100644 --- a/lib/home/home_screen_components.dart +++ b/lib/home/home_screen_components.dart @@ -26,10 +26,10 @@ Widget priorityTicketsWithSideList(List tickets) { final otherTickets = tickets.sublist(3, tickets.length); return Row( children: [ - Expanded(flex: 4, child: PriorityTickets(priorityTickets)), + Expanded(flex: 7, child: PriorityTickets(priorityTickets)), Container(color: Colors.grey.withOpacity(0.1), width: 10, margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 50)), Expanded( - flex: 4, + flex: 5, child: ListView.builder( padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 50), itemCount: otherTickets.length, @@ -42,7 +42,7 @@ Widget priorityTicketsWithSideList(List tickets) { crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( - width: SizeConfig.getWidthMultiplier() * 21, + width: SizeConfig.getWidthMultiplier() * 19, child: AppText( itm.queueNo.toString(), letterSpacing: -2, @@ -56,7 +56,7 @@ Widget priorityTicketsWithSideList(List tickets) { crossAxisAlignment: CrossAxisAlignment.end, children: [ SizedBox( - width: SizeConfig.getWidthMultiplier() * 3.3, + width: SizeConfig.getWidthMultiplier() * 3, child: itm.getCallType().icon(SizeConfig.getHeightMultiplier() * 2.5), ), const SizedBox(width: 10), @@ -66,7 +66,7 @@ Widget priorityTicketsWithSideList(List tickets) { itm.getCallType().message('en'), color: itm.getCallType().color(), letterSpacing: -1.5, - fontSize: SizeConfig.getWidthMultiplier() * 3.3, + fontSize: SizeConfig.getWidthMultiplier() * 3, fontWeight: FontWeight.w600, fontHeight: 0.5, ),