|
|
|
|
@ -53,7 +53,7 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
FlutterTts flutterTts = FlutterTts();
|
|
|
|
|
var selectedLang;
|
|
|
|
|
bool isSearching = false;
|
|
|
|
|
|
|
|
|
|
Map results = {};
|
|
|
|
|
String lastStatus;
|
|
|
|
|
|
|
|
|
|
bool _isInit = true;
|
|
|
|
|
@ -196,7 +196,7 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
getCommands(result) async {
|
|
|
|
|
//RoboSearch.closeAlertDialog(context);
|
|
|
|
|
print(result);
|
|
|
|
|
|
|
|
|
|
results = result;
|
|
|
|
|
//getDoctorsList(12, 17, 40036, context);
|
|
|
|
|
|
|
|
|
|
switch (result["CommandNumber"]) {
|
|
|
|
|
@ -210,12 +210,20 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
context,
|
|
|
|
|
doctorId: result['DoctorId'],
|
|
|
|
|
);
|
|
|
|
|
} else if (result['ProjectId'] != null && result['ClinicId'] != null) {
|
|
|
|
|
} else if (result['ProjectId'] != null && result['ClinicId'] != 0) {
|
|
|
|
|
getDoctorsList(
|
|
|
|
|
result['ProjectId'],
|
|
|
|
|
result['ClinicId'],
|
|
|
|
|
context,
|
|
|
|
|
);
|
|
|
|
|
} else if (result['ProjectId'] != null && result['ClinicId'] == 0) {
|
|
|
|
|
Navigator.push(
|
|
|
|
|
AppGlobal.context,
|
|
|
|
|
MaterialPageRoute(
|
|
|
|
|
builder: (context) => Search(
|
|
|
|
|
type: 0,
|
|
|
|
|
)));
|
|
|
|
|
speak();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
// case '101':
|
|
|
|
|
@ -246,7 +254,9 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
// break;
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
if (result['ProjectId'] != null && result['ClinicId'] != null) {
|
|
|
|
|
if (result['ProjectId'] != null &&
|
|
|
|
|
result['ClinicId'] != null &&
|
|
|
|
|
result['DoctorId'] == 0) {
|
|
|
|
|
getDoctorsList(
|
|
|
|
|
result['ProjectId'],
|
|
|
|
|
result['ClinicId'],
|
|
|
|
|
@ -254,13 +264,10 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (_currentLocaleId == 'en-GB' && result['ReturnMessage'] != null) {
|
|
|
|
|
await flutterTts.speak(result['ReturnMessage']);
|
|
|
|
|
} else if (result['ReturnMessage_Ar'] != null) {
|
|
|
|
|
await flutterTts.speak(result['ReturnMessage_Ar']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//searchProvider.setLisener(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -280,6 +287,7 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
|
|
|
|
|
navigateToDoctorProfile(context, doctorData[0], docProfileList[0],
|
|
|
|
|
isAppo: true);
|
|
|
|
|
speak();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -299,6 +307,7 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
});
|
|
|
|
|
if (doctorId == null) {
|
|
|
|
|
navigateToSearchResults(context, doctorsList);
|
|
|
|
|
speak();
|
|
|
|
|
} else {
|
|
|
|
|
getDoctorProfile(
|
|
|
|
|
projectId, clinicId, doctorId, context, doctorsList);
|
|
|
|
|
@ -331,4 +340,15 @@ class _SearchBot extends State<BottomBarSearch> {
|
|
|
|
|
MaterialPageRoute(
|
|
|
|
|
builder: (context) => SearchResults(doctorsList: docList)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
speak() async {
|
|
|
|
|
if (_currentLocaleId == 'en-GB' && results['ReturnMessage'] != null) {
|
|
|
|
|
await flutterTts.speak(results['ReturnMessage']);
|
|
|
|
|
} else if (results['ReturnMessage_Ar'] != null) {
|
|
|
|
|
await flutterTts.speak(results['ReturnMessage_Ar']);
|
|
|
|
|
}
|
|
|
|
|
Future.delayed(const Duration(seconds: 3), () {
|
|
|
|
|
initSpeechState().then((value) => startVoiceSearch());
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|