Merge branch 'sultan' into 'diplomatic-quarter-live'

bug fixes

See merge request Cloud_Solution/diplomatic-quarter!168
dq_and_master
Mohammad Aljammal 4 years ago
commit 9cec304712

@ -157,9 +157,13 @@ class BaseAppClient {
onFailure('Please Check The Internet Connection', -1); onFailure('Please Check The Internet Connection', -1);
} }
} catch (e) { } catch (e) {
print(e); //print(e);
onFailure('Failed to connect to the server', -1); //
// onFailure(e.toString(), -1); if (e is String) {
onFailure(e.toString(), -1);
} else {
onFailure('Failed to connect to the server', -1);
}
} }
} }

@ -27,7 +27,7 @@ import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import '../../locator.dart'; import '../../locator.dart';
class HomePage extends StatefulWidget { class HomePage extends StatefulWidget {
@ -49,8 +49,8 @@ class _HomePageState extends State<HomePage> {
// }); // });
// super.initState(); // super.initState();
// } // }
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>(); AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -93,9 +93,10 @@ class _HomePageState extends State<HomePage> {
) )
], ],
), ),
), ),
Container(width: double.infinity, height:projectViewModel.isArabic ? 120:110), Container(
width: double.infinity,
height: projectViewModel.isArabic ? 120 : 110),
], ],
), ),
Positioned( Positioned(
@ -110,7 +111,7 @@ class _HomePageState extends State<HomePage> {
Orientation.landscape Orientation.landscape
? 0.02 ? 0.02
: 0.03), : 0.03),
child: (!model.isLogin ) child: (!model.isLogin)
? Container( ? Container(
width: double.infinity, width: double.infinity,
height: 160, height: 160,
@ -179,7 +180,6 @@ class _HomePageState extends State<HomePage> {
color: Theme.of(context) color: Theme.of(context)
.primaryColor, .primaryColor,
fontSize: 14, fontSize: 14,
), ),
), ),
), ),
@ -307,7 +307,9 @@ class _HomePageState extends State<HomePage> {
bold: true, bold: true,
), ),
Texts( Texts(
TranslationBase.of(context).height, TranslationBase.of(
context)
.height,
color: Colors.white, color: Colors.white,
fontSize: 10, fontSize: 10,
), ),
@ -339,7 +341,9 @@ class _HomePageState extends State<HomePage> {
bold: true, bold: true,
), ),
Texts( Texts(
TranslationBase.of(context).weight, TranslationBase.of(
context)
.weight,
color: Colors.white, color: Colors.white,
fontSize: 10, fontSize: 10,
) )
@ -353,8 +357,10 @@ class _HomePageState extends State<HomePage> {
), ),
Expanded( Expanded(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment:
crossAxisAlignment: CrossAxisAlignment.center, MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.center,
children: <Widget>[ children: <Widget>[
Image.asset( Image.asset(
'assets/images/blood-drop.png', 'assets/images/blood-drop.png',
@ -368,7 +374,9 @@ class _HomePageState extends State<HomePage> {
color: Colors.white, color: Colors.white,
), ),
Texts( Texts(
TranslationBase.of(context).bloodType, TranslationBase.of(
context)
.bloodType,
color: Colors.white, color: Colors.white,
fontSize: 10, fontSize: 10,
) )
@ -407,28 +415,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0), padding: const EdgeInsets.all(15.0),
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
SizedBox(height: 15,), SizedBox(
height: 15,
),
Container( Container(
width: 60, width: 60,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12) borderRadius:
), BorderRadius.circular(12)),
child: Center(child: Image.asset('assets/images/vital_sign_icon.png', child: Center(
child: Image.asset(
'assets/images/vital_sign_icon.png',
width: 80, width: 80,
height: 50, height: 50,
fit: BoxFit.contain,)), fit: BoxFit.contain,
)),
),
SizedBox(
height: 20,
), ),
SizedBox(height: 20,),
Texts( Texts(
TranslationBase.of(context) TranslationBase.of(context).vitalSigns,
.vitalSigns,
textAlign: TextAlign.center, textAlign: TextAlign.center,
color: Colors.white, color: Colors.white,
bold: true, bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7, fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
) )
], ],
), ),
@ -456,26 +471,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0), padding: const EdgeInsets.all(15.0),
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
SizedBox(height: 15,), SizedBox(
height: 15,
),
Container( Container(
width: 50, width: 50,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12) borderRadius:
), BorderRadius.circular(12)),
child: Center(child: Image.asset('assets/images/search_medicine_icon.png', child: Center(
child: Image.asset(
'assets/images/search_medicine_icon.png',
width: 50, width: 50,
height: 50, height: 50,
fit: BoxFit.contain,)), fit: BoxFit.contain,
)),
),
SizedBox(
height: 20,
), ),
SizedBox(height: 20,),
Texts( Texts(
TranslationBase.of(context).searchMedicine, TranslationBase.of(context).searchMedicine,
textAlign: TextAlign.center, textAlign: TextAlign.center,
color: Colors.white, color: Colors.white,
bold: true, bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7, fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
) )
], ],
), ),
@ -487,8 +511,9 @@ class _HomePageState extends State<HomePage> {
), ),
), ),
Expanded( Expanded(
child: DashboardItem(opacity: 1.0, child: DashboardItem(
onTap: (){ opacity: 1.0,
onTap: () {
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(
@ -501,25 +526,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0), padding: const EdgeInsets.all(15.0),
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
SizedBox(height: 15,), SizedBox(
height: 15,
),
Container( Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12) borderRadius:
), BorderRadius.circular(12)),
child: Center(child: Image.asset('assets/images/online_payment_icon.png', child: Center(
child: Image.asset(
'assets/images/online_payment_icon.png',
width: 80, width: 80,
height: 50, height: 50,
fit: BoxFit.contain,)), fit: BoxFit.contain,
)),
),
SizedBox(
height: 15,
), ),
SizedBox(height: 15,),
Texts( Texts(
TranslationBase.of(context).onlinePaymentService, TranslationBase.of(context)
.onlinePaymentService,
textAlign: TextAlign.center, textAlign: TextAlign.center,
color: Colors.white, color: Colors.white,
bold: true, bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7, fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
) )
], ],
), ),
@ -555,34 +590,33 @@ class _HomePageState extends State<HomePage> {
); );
}, },
child: MedicalProfileItem( child: MedicalProfileItem(
title: TranslationBase.of(context) title:
.myAppointments, TranslationBase.of(context).myAppointments,
imagePath: 'my_appointment_icon.png', imagePath: 'my_appointment_icon.png',
subTitle: TranslationBase.of(context).myAppointmentsList, subTitle: TranslationBase.of(context)
.myAppointmentsList,
), ),
), ),
), ),
Expanded( Expanded(
flex: 1, flex: 1,
child: InkWell( child: InkWell(
onTap: () => Navigator.push(context, onTap: () => Navigator.push(
FadePage(page: LabsHomePage())), context, FadePage(page: LabsHomePage())),
child: MedicalProfileItem( child: MedicalProfileItem(
title: TranslationBase.of(context).lab, title: TranslationBase.of(context).lab,
imagePath: 'lab_result_icon.png', imagePath: 'lab_result_icon.png',
subTitle: subTitle: TranslationBase.of(context).lab,
TranslationBase.of(context).lab,
), ),
), ),
), ),
Expanded( Expanded(
flex: 1, flex: 1,
child: InkWell( child: InkWell(
onTap: () => Navigator.push(context, onTap: () => Navigator.push(
FadePage(page: RadiologyHomePage())), context, FadePage(page: RadiologyHomePage())),
child: MedicalProfileItem( child: MedicalProfileItem(
title: TranslationBase.of(context) title: TranslationBase.of(context).radiology,
.radiology,
imagePath: 'radiology_icon.png', imagePath: 'radiology_icon.png',
subTitle: TranslationBase.of(context) subTitle: TranslationBase.of(context)
.radiologySubtitle, .radiologySubtitle,
@ -605,8 +639,7 @@ class _HomePageState extends State<HomePage> {
); );
}, },
child: MedicalProfileItem( child: MedicalProfileItem(
title: TranslationBase.of(context) title: TranslationBase.of(context).medicines,
.medicines,
imagePath: 'prescription_icon.png', imagePath: 'prescription_icon.png',
subTitle: TranslationBase.of(context) subTitle: TranslationBase.of(context)
.medicinesSubtitle, .medicinesSubtitle,
@ -625,8 +658,7 @@ class _HomePageState extends State<HomePage> {
); );
}, },
child: MedicalProfileItem( child: MedicalProfileItem(
title: TranslationBase.of(context) title: TranslationBase.of(context).myDoctor,
.myDoctor,
imagePath: 'doctor_icon.png', imagePath: 'doctor_icon.png',
subTitle: TranslationBase.of(context) subTitle: TranslationBase.of(context)
.myDoctorSubtitle, .myDoctorSubtitle,
@ -637,12 +669,11 @@ class _HomePageState extends State<HomePage> {
flex: 1, flex: 1,
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Navigator.push(context, Navigator.push(
FadePage(page: InsuranceCard())); context, FadePage(page: InsuranceCard()));
}, },
child: MedicalProfileItem( child: MedicalProfileItem(
title: TranslationBase.of(context) title: TranslationBase.of(context).insurance,
.insurance,
imagePath: 'insurance_card_icon.png', imagePath: 'insurance_card_icon.png',
subTitle: TranslationBase.of(context) subTitle: TranslationBase.of(context)
.insuranceSubtitle, .insuranceSubtitle,
@ -651,7 +682,6 @@ class _HomePageState extends State<HomePage> {
), ),
], ],
), ),
], ],
), ),
), ),
@ -664,7 +694,7 @@ class _HomePageState extends State<HomePage> {
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
DashboardItem( DashboardItem(
opacity:1.0, opacity: 1.0,
child: Container( child: Container(
width: double.infinity, width: double.infinity,
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
@ -677,31 +707,38 @@ class _HomePageState extends State<HomePage> {
bold: true, bold: true,
), ),
Texts( Texts(
TranslationBase.of(context).viewAllHabibMedicalService, TranslationBase.of(context)
.viewAllHabibMedicalService,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: 10, fontSize: 10,
), ),
Expanded( // Expanded(
child: Container(), // child: Container(),
), // ),
Texts( Text(
TranslationBase.of(context).viewAll, TranslationBase.of(context).viewAll,
color: Colors.white, style: TextStyle(
bold: true, color: Colors.white,
fontWeight: FontWeight.bold),
overflow: TextOverflow.ellipsis,
) )
], ],
), ),
), ),
height: 100, height: 106,
imageName: 'ask_doctor_bg.png', imageName: 'ask_doctor_bg.png',
//color: Colors.grey[700], //color: Colors.grey[700],
width: MediaQuery.of(context).size.width * 0.45, width: MediaQuery.of(context).size.width * 0.45,
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, FadePage(page: AllHabibMedicalService(goToMyProfile: widget.goToMyProfile,))), context,
FadePage(
page: AllHabibMedicalService(
goToMyProfile: widget.goToMyProfile,
))),
), ),
DashboardItem( DashboardItem(
opacity:1.0, opacity: 1.0,
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, FadePage(page: ContactUsPage())); context, FadePage(page: ContactUsPage()));
@ -721,7 +758,7 @@ class _HomePageState extends State<HomePage> {
TranslationBase.of(context).viewAllWaysReachUs, TranslationBase.of(context).viewAllWaysReachUs,
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: SizeConfig.textMultiplier * 1.0 , fontSize: SizeConfig.textMultiplier * 1.0,
), ),
Expanded( Expanded(
child: Container(), child: Container(),
@ -786,7 +823,9 @@ class DashboardItem extends StatelessWidget {
this.width, this.width,
this.height, this.height,
this.color, this.color,
this.opacity = 1.0,this.icon,this.margin=0}) this.opacity = 1.0,
this.icon,
this.margin = 0})
: super(key: key); : super(key: key);
final bool hasBorder; final bool hasBorder;
final String imageName; final String imageName;

@ -14,159 +14,168 @@ class LoginType extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
appBarTitle: TranslationBase.of(context).login, appBarTitle: TranslationBase.of(context).login,
isShowAppBar: true, isShowAppBar: true,
isShowDecPage: false, isShowDecPage: false,
body: Padding( body: SingleChildScrollView(
padding: EdgeInsets.all(20), child: Container(
child: Column( padding:
children: <Widget>[ EdgeInsets.only(top: 10, left: 20, right: 20, bottom: 30),
Expanded( height: SizeConfig.realScreenHeight * .9,
flex: 4, width: SizeConfig.realScreenWidth,
child: Column( child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: <Widget>[
crossAxisAlignment: CrossAxisAlignment.start, Expanded(
children: <Widget>[ flex: 4,
Image.asset( child: Column(
'assets/images/DQ/dq_logo_icon.png', // mainAxisAlignment: MainAxisAlignment.spaceEvenly,
height: 90, crossAxisAlignment: CrossAxisAlignment.start,
width: 90,
),
AppText(
TranslationBase.of(context).logintypeRadio,
fontSize: SizeConfig.textMultiplier * 3.5,
textAlign: TextAlign.start,
marginBottom: 20.0,
marginTop: 20.0,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[ children: <Widget>[
Expanded( Image.asset(
child: InkWell( 'assets/images/DQ/dq_logo_icon.png',
onTap: () => { height: 90,
LoginType.loginType = 1, width: 90,
Navigator.of(context) ),
.pushNamed(LOGIN_PAGE) AppText(
}, TranslationBase.of(context).logintypeRadio,
child: RoundedContainer( fontSize: SizeConfig.textMultiplier * 3.5,
borderColor: Colors.grey, textAlign: TextAlign.start,
showBorder: true, marginBottom: 20.0,
child: Padding( marginTop: 20.0,
padding: EdgeInsets.fromLTRB( ),
20, 10, 20, 10), Row(
child: Column( mainAxisAlignment: MainAxisAlignment.center,
mainAxisAlignment: children: <Widget>[
MainAxisAlignment.center, Expanded(
children: <Widget>[ child: InkWell(
Image.asset( onTap: () => {
'assets/images/id_card_icon.png', LoginType.loginType = 1,
height: SizeConfig Navigator.of(context)
.imageSizeMultiplier * .pushNamed(LOGIN_PAGE)
12, },
width: SizeConfig child: RoundedContainer(
.imageSizeMultiplier * borderColor: Colors.grey,
15, showBorder: true,
), child: Padding(
SizedBox( padding: EdgeInsets.fromLTRB(
height: 20, 20, 10, 20, 10),
child: Column(
mainAxisAlignment:
MainAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/id_card_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.idNo,
fontSize: SizeConfig
.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
), ),
AppText( )))),
TranslationBase.of(context) Expanded(
.idNo, child: InkWell(
fontSize: onTap: () => {
SizeConfig.textMultiplier * LoginType.loginType = 2,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
25, 10, 25, 10),
child: Column(
children: <Widget>[
Image.asset(
'assets/images/my_file_white_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.fileNo,
fontSize: SizeConfig
.textMultiplier *
2, 2,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
) )
], ],
), ),
)))), ))))
Expanded( ],
),
SizedBox(
height: 25,
),
Divider(
color: Colors.grey,
height: 2,
),
Center(
child: InkWell( child: InkWell(
onTap: () => { onTap: () => {
LoginType.loginType = 2,
Navigator.of(context) Navigator.of(context)
.pushNamed(LOGIN_PAGE) .pushNamed(FORGOT_PASSWORD)
}, },
child: RoundedContainer( child: AppText(
borderColor: Colors.grey, TranslationBase.of(context)
showBorder: true, .forgotPassword,
child: Padding( fontSize:
padding: EdgeInsets.fromLTRB( SizeConfig.textMultiplier * 2.5,
25, 10, 25, 10), marginTop: 20.0,
child: Column( underline: true)))
children: <Widget>[ ]),
Image.asset( ),
'assets/images/my_file_white_icon.png', Expanded(
height: SizeConfig flex: 1,
.imageSizeMultiplier * child: Column(
12, mainAxisAlignment: MainAxisAlignment.end,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.fileNo,
fontSize:
SizeConfig.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
),
))))
],
),
SizedBox(height: 25,),
Divider(
color: Colors.grey,
height: 2,
),
Center(
child: InkWell(
onTap: () => {
Navigator.of(context)
.pushNamed(FORGOT_PASSWORD)
},
child: AppText(
TranslationBase.of(context).forgotPassword,
fontSize: SizeConfig.textMultiplier * 2.5,
marginTop: 20.0,
underline: true)))
]),
),
Expanded(
flex: 1,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Divider(
color: Colors.grey,
height: 2,
),
SizedBox(height: 10,),
Row(
children: <Widget>[ children: <Widget>[
Divider(
Expanded( color: Colors.grey,
child: DefaultButton( height: 2,
TranslationBase.of(context).registerNow, ),
() => { SizedBox(
Navigator.of(context).pushNamed( height: 10,
REGISTER, ),
) Row(
}, children: <Widget>[
)), Expanded(
child: DefaultButton(
TranslationBase.of(context).registerNow,
() => {
Navigator.of(context).pushNamed(
REGISTER,
)
},
)),
],
),
], ],
), ))
], ],
)) ))));
],
)));
} }
} }

@ -153,18 +153,14 @@ class _Login extends State<Login> {
} }
void validateForm() { void validateForm() {
//TODO fix login if (util.validateIDBox(nationalIDorFile.text, loginType) == true &&
if (util.validateIDBox(nationalIDorFile.text, loginType) ==
true /*&&
mobileNo.length >= 9 */
&&
util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) { util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) {
setState(() { setState(() {
isButtonDisabled = false; isButtonDisabled = false;
}); });
} else { } else {
setState(() { setState(() {
isButtonDisabled = false; isButtonDisabled = true;
}); });
} }
} }

@ -173,15 +173,19 @@ class AuthProvider with ChangeNotifier {
request.generalid = GENERAL_ID; request.generalid = GENERAL_ID;
request.languageID = LANGUAGE_ID; request.languageID = LANGUAGE_ID;
request.patientOutSA = request.zipCode == '966' ? 0 : 1; request.patientOutSA = request.zipCode == '966' ? 0 : 1;
try {
dynamic localRes; dynamic localRes;
await new BaseAppClient().post(CHECK_PATIENT_AUTH, await new BaseAppClient().post(CHECK_PATIENT_AUTH,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
localRes = response; localRes = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
throw error;
}, body: request.toJson());
return Future.value(localRes);
} catch (error) {
throw error; throw error;
}, body: request.toJson()); //throw error;
return Future.value(localRes); }
} }
Future<dynamic> getLoginInfo(request) async { Future<dynamic> getLoginInfo(request) async {

@ -826,13 +826,13 @@ class _FloatingSearchButton extends State<FloatingSearchButton>
speak() async { speak() async {
if (_currentLocaleId == 'en' && results['ReturnMessage'] != null) { if (_currentLocaleId == 'en' && results['ReturnMessage'] != null) {
await flutterTts.setVoice("en-us-x-sfg#male_2-local"); //await flutterTts.setVoice("en-us-x-sfg#male_2-local");
await flutterTts.setLanguage("en-US"); await flutterTts.setLanguage("en-US");
await flutterTts.speak(results['ReturnMessage']); await flutterTts.speak(results['ReturnMessage']);
} else if (results['ReturnMessage_Ar'] != null) { } else if (results['ReturnMessage_Ar'] != null) {
await flutterTts.setLanguage("ar-SA"); await flutterTts.setLanguage("ar-SA");
await flutterTts.setVoice("ar-sa-x-sfg#male_1-local"); //await flutterTts.setVoice("ar-sa-x-sfg#male_1-local");
await flutterTts.speak(results['ReturnMessage_Ar']); await flutterTts.speak(results['ReturnMessage_Ar']);
} }
// Future.delayed(const Duration(seconds: 10), () { // Future.delayed(const Duration(seconds: 10), () {

Loading…
Cancel
Save