speech search

merge-update-with-lab-changes
Sultan Khan 6 years ago
parent 03b34115c4
commit 913729fc58

@ -25,18 +25,18 @@ class BaseAppClient {
//Map profile = await sharedPref.getObj(DOCTOR_PROFILE); //Map profile = await sharedPref.getObj(DOCTOR_PROFILE);
String token = await sharedPref.getString(TOKEN); String token = await sharedPref.getString(TOKEN);
var user = await sharedPref.getObject(USER_PROFILE); var user = await sharedPref.getObject(USER_PROFILE);
body['SetupID'] = SETUP_ID; // body['SetupID'] = SETUP_ID;
body['VersionID'] = VERSION_ID; // body['VersionID'] = VERSION_ID;
body['Channel'] = CHANNEL; // body['Channel'] = CHANNEL;
body['LanguageID'] = LANGUAGE; // body['LanguageID'] = LANGUAGE;
body['IPAdress'] = IP_ADDRESS; // body['IPAdress'] = IP_ADDRESS;
body['generalid'] = GENERAL_ID; // body['generalid'] = GENERAL_ID;
body['PatientOutSA'] = PATIENT_OUT_SA; // body['PatientOutSA'] = PATIENT_OUT_SA;
body['SessionID'] = SESSION_ID; // body['SessionID'] = SESSION_ID;
body['isDentalAllowedBackend'] = IS_DENTAL_ALLOWED_BACKEND; // body['isDentalAllowedBackend'] = IS_DENTAL_ALLOWED_BACKEND;
body['DeviceTypeID'] = DeviceTypeID; // body['DeviceTypeID'] = DeviceTypeID;
body['PatientType'] = PATIENT_TYPE; // body['PatientType'] = PATIENT_TYPE;
body['PatientTypeID'] = PATIENT_TYPE_ID; // body['PatientTypeID'] = PATIENT_TYPE_ID;
if (user != null) { if (user != null) {
body['TokenID'] = token; //user['TokenID']; body['TokenID'] = token; //user['TokenID'];
body['PatientID'] = user['PatientID']; body['PatientID'] = user['PatientID'];

@ -7,7 +7,7 @@ import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'config/size_config.dart'; import 'config/size_config.dart';
import 'core/viewModels/project_view_model.dart'; import 'core/viewModels/project_view_model.dart';
import 'locator.dart'; import 'locator.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
void main() { void main() {
setupLocator(); setupLocator();
@ -28,10 +28,14 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider<ProjectViewModel>( ChangeNotifierProvider<ProjectViewModel>(
create: (context) => ProjectViewModel(), create: (context) => ProjectViewModel(),
), ),
// ChangeNotifierProvider<SearchProvider>( ChangeNotifierProvider<SearchProvider>(
// create: (context) => SearchProvider()), create: (context) => SearchProvider()),
ChangeNotifierProvider.value( ChangeNotifierProvider.value(
value: SearchProvider(), value: SearchProvider(),
),
StreamProvider.value(
value: RobotProvider().intStream(),
initialData: RobotProvider().setValue({}),
) )
], ],
child: Consumer<ProjectViewModel>( child: Consumer<ProjectViewModel>(

@ -1,14 +1,19 @@
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/CardCommon.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/CardCommon.dart';
import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../uitl/translations_delegate_base.dart'; import '../../uitl/translations_delegate_base.dart';
class BookingOptions extends StatelessWidget { class BookingOptions extends StatelessWidget {
final bool isAppbar;
BookingOptions({this.isAppbar = false});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final searchValue = Provider.of<SearchProvider>(context);
return AppScaffold( return AppScaffold(
isShowAppBar: false, isShowAppBar: isAppbar,
appBarTitle: TranslationBase.of(context).bookAppo, appBarTitle: TranslationBase.of(context).bookAppo,
body: Container( body: Container(
margin: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 10.0), margin: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 10.0),
@ -29,17 +34,18 @@ class BookingOptions extends StatelessWidget {
children: <Widget>[ children: <Widget>[
Expanded( Expanded(
child: CardCommon( child: CardCommon(
image: image: 'assets/images/new-design/search_by_clinic.png',
'assets/images/new-design/search_by_clinic.png', text: TranslationBase.of(context).clinic,
text: TranslationBase.of(context).clinic, subText: TranslationBase.of(context).name,
subText: TranslationBase.of(context).name), type: 0,
),
), ),
Expanded( Expanded(
child: CardCommon( child: CardCommon(
image: image: 'assets/images/new-design/search_by_doctor.png',
'assets/images/new-design/search_by_doctor.png',
text: TranslationBase.of(context).doctor, text: TranslationBase.of(context).doctor,
subText: TranslationBase.of(context).name), subText: TranslationBase.of(context).name,
type: 1),
) )
], ],
), ),

@ -1,9 +1,12 @@
import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByClinic.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByClinic.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByDoctor.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/components/SearchByDoctor.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/floating_button_search.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class Search extends StatefulWidget { class Search extends StatefulWidget {
final int type;
Search({this.type = 0});
@override @override
_SearchState createState() => _SearchState(); _SearchState createState() => _SearchState();
} }
@ -13,7 +16,9 @@ class _SearchState extends State<Search> with SingleTickerProviderStateMixin {
@override @override
void initState() { void initState() {
_tabController = new TabController(length: 2, vsync: this); _tabController =
new TabController(length: 2, vsync: this, initialIndex: widget.type);
super.initState(); super.initState();
} }
@ -36,6 +41,7 @@ class _SearchState extends State<Search> with SingleTickerProviderStateMixin {
body: TabBarView( body: TabBarView(
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
children: [SearchByClinic(), SearchByDoctor()], children: [SearchByClinic(), SearchByDoctor()],
controller: _tabController)); controller: _tabController),
floatingActionButton: FloatingSearchButton());
} }
} }

@ -1,11 +1,15 @@
import 'dart:convert';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart'; import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../SearchResults.dart'; import '../SearchResults.dart';
class SearchByClinic extends StatefulWidget { class SearchByClinic extends StatefulWidget {
@ -16,17 +20,26 @@ class SearchByClinic extends StatefulWidget {
class _SearchByClinicState extends State<SearchByClinic> { class _SearchByClinicState extends State<SearchByClinic> {
bool nearestAppo = false; bool nearestAppo = false;
String dropdownValue; String dropdownValue;
var event = RobotProvider();
List<ListClinicCentralized> clinicsList = []; List<ListClinicCentralized> clinicsList = [];
@override @override
void initState() { void initState() {
WidgetsBinding.instance WidgetsBinding.instance.addPostFrameCallback((_) => getClinicsList());
.addPostFrameCallback((_) => getClinicsList());
super.initState(); super.initState();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
event.controller.stream.listen((p) {
if (p['Id'] != null) {
setState(() {
dropdownValue = p['Id'];
getDoctorsList(context);
});
}
});
return Container( return Container(
margin: EdgeInsets.all(10.0), margin: EdgeInsets.all(10.0),
child: Column( child: Column(
@ -57,8 +70,8 @@ class _SearchByClinicState extends State<SearchByClinic> {
), ),
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
), ),
margin: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 20.0), // margin: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 20.0),
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(8.0),
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
child: DropdownButtonHideUnderline( child: DropdownButtonHideUnderline(
child: DropdownButton<String>( child: DropdownButton<String>(
@ -73,7 +86,7 @@ class _SearchByClinicState extends State<SearchByClinic> {
onChanged: (newValue) { onChanged: (newValue) {
setState(() { setState(() {
dropdownValue = newValue; dropdownValue = newValue;
print(dropdownValue);
getDoctorsList(context); getDoctorsList(context);
}); });
}, },

@ -5,23 +5,24 @@ class CardCommon extends StatelessWidget {
final image; final image;
final text; final text;
final subText; final subText;
final type;
const CardCommon( const CardCommon(
{@required this.image, @required this.text, @required this.subText}); {@required this.image,
@required this.text,
@required this.subText,
@required this.type});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
navigateToSearch(context); navigateToSearch(context, this.type);
}, },
child: Container( child: Container(
margin: EdgeInsets.fromLTRB(9.0, 9.0, 9.0, 9.0), margin: EdgeInsets.fromLTRB(9.0, 9.0, 9.0, 9.0),
decoration: BoxDecoration(boxShadow: [ decoration: BoxDecoration(boxShadow: [
BoxShadow(color: Colors.grey[400], blurRadius: 2.0, spreadRadius: 0.0) BoxShadow(color: Colors.grey[400], blurRadius: 2.0, spreadRadius: 0.0)
], borderRadius: BorderRadius.circular(10), ], borderRadius: BorderRadius.circular(10), color: Colors.white),
color: Colors.white),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
@ -39,9 +40,7 @@ class CardCommon extends StatelessWidget {
child: Text(this.subText, child: Text(this.subText,
overflow: TextOverflow.clip, overflow: TextOverflow.clip,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black, letterSpacing: 1.0, fontSize: 15.0)),
letterSpacing: 1.0,
fontSize: 15.0)),
), ),
Container( Container(
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
@ -54,9 +53,12 @@ class CardCommon extends StatelessWidget {
); );
} }
Future navigateToSearch(context) async { Future navigateToSearch(context, type) async {
Navigator.push( Navigator.push(
context, MaterialPageRoute(builder: (context) => Search())); context,
MaterialPageRoute(
builder: (context) => Search(
type: type,
)));
} }
} }

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/Authentication/select_device_imei_res.dart'; import 'package:diplomaticquarterapp/models/Authentication/select_device_imei_res.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart';
import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart'; import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart'; import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
@ -22,8 +23,7 @@ class LandingPage extends StatefulWidget {
_LandingPageState createState() => _LandingPageState(); _LandingPageState createState() => _LandingPageState();
} }
class _LandingPageState extends State<LandingPage> class _LandingPageState extends State<LandingPage> {
with SingleTickerProviderStateMixin {
int currentTab = 0; int currentTab = 0;
PageController pageController; PageController pageController;
ProjectViewModel projectProvider; ProjectViewModel projectProvider;
@ -94,7 +94,8 @@ class _LandingPageState extends State<LandingPage>
HomePage(), HomePage(),
MedicalProfilePage(), MedicalProfilePage(),
MyAdmissionsPage(), MyAdmissionsPage(),
ToDo() ToDo(),
BookingOptions()
], ],
), ),
bottomNavigationBar: BottomNavBar(changeIndex: _changeCurrentTab), bottomNavigationBar: BottomNavBar(changeIndex: _changeCurrentTab),

@ -0,0 +1,25 @@
import 'dart:async';
class RobotProvider {
static final RobotProvider _singleton = RobotProvider._internal();
var value;
StreamController<Map> controller = StreamController<Map>.broadcast();
getData() {
// return data;
}
intStream() {
controller.add({});
}
setValue(Map data) {
value = data;
controller.add(value);
}
factory RobotProvider() {
return _singleton;
}
RobotProvider._internal();
}

@ -3,17 +3,13 @@ import 'package:diplomaticquarterapp/core/service/client/base_app_client.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'dart:async'; import 'dart:async';
import 'dart:math' as Math;
import 'package:flutter/material.dart';
class SearchProvider with ChangeNotifier { class SearchProvider with ChangeNotifier {
bool isLogin = false; bool isLogin = false;
bool isLoading = true; bool isLoading = true;
Map pageData = {}; dynamic pageData = {};
Map get value => pageData;
ProjectViewModel projectProvider = ProjectViewModel();
// AuthProvider() {
// // getLisner();
// }
Future<dynamic> getBotPages(request) async { Future<dynamic> getBotPages(request) async {
try { try {
@ -21,7 +17,7 @@ class SearchProvider with ChangeNotifier {
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
pageData = response; pageData = response;
notifyListeners(); // notifyListeners();
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
throw error; throw error;
}, body: request); }, body: request);
@ -34,7 +30,7 @@ class SearchProvider with ChangeNotifier {
} }
setLisener(data) { setLisener(data) {
pageData["id"] = 100; //SearchProvider.pageData = data;
//projectProvider.setSearchValue(pageData); //projectProvider.setSearchValue(pageData);
notifyListeners(); notifyListeners();
} }

@ -1,10 +1,11 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/widgets/progress_indicator/app_loader_widget.dart'; import 'package:diplomaticquarterapp/widgets/progress_indicator/app_loader_widget.dart';
import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart'; import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'floating_button_search.dart';
import '../progress_indicator/app_loader_widget.dart'; import '../progress_indicator/app_loader_widget.dart';
import 'arrow_back.dart'; import 'arrow_back.dart';
import 'network_base_view.dart'; import 'network_base_view.dart';
@ -53,7 +54,7 @@ class AppScaffold extends StatelessWidget {
icon: Icon(FontAwesomeIcons.home), icon: Icon(FontAwesomeIcons.home),
color: Colors.white, color: Colors.white,
onPressed: () { onPressed: () {
// TODO add navigator to home page Navigator.of(context).pushNamed(HOME);
}, },
), ),
], ],
@ -66,14 +67,7 @@ class AppScaffold extends StatelessWidget {
) )
: buildBodyWidget(), : buildBodyWidget(),
bottomSheet: bottomSheet, bottomSheet: bottomSheet,
floatingActionButton: Padding( floatingActionButton: FloatingSearchButton(),
padding: const EdgeInsets.only(bottom: 80),
child: FloatingActionButton(
child: Icon(Icons.mic),
onPressed: () {
roboSearch(context);
},
)),
); );
} }
@ -84,9 +78,4 @@ class AppScaffold extends StatelessWidget {
buildBodyWidget() { buildBodyWidget() {
return Stack(children: <Widget>[body, buildAppLoaderWidget(isLoading)]); return Stack(children: <Widget>[body, buildAppLoaderWidget(isLoading)]);
} }
roboSearch(context) {
var dialog = RoboSearch(context: context);
dialog.showAlertDialog(context);
}
} }

@ -0,0 +1,21 @@
import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart';
import 'package:flutter/material.dart';
class FloatingSearchButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.only(bottom: 80),
child: FloatingActionButton(
child: Icon(Icons.mic),
onPressed: () {
roboSearch(context);
},
));
}
roboSearch(context) {
var dialog = RoboSearch(context: context);
dialog.showAlertDialog(context);
}
}

@ -1,10 +1,13 @@
import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart'; import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
import 'package:diplomaticquarterapp/pages/medical/my_admissions_page.dart'; import 'package:diplomaticquarterapp/pages/medical/my_admissions_page.dart';
import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart'; import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -17,6 +20,7 @@ import 'package:speech_to_text/speech_recognition_result.dart';
import 'package:speech_to_text/speech_to_text.dart'; import 'package:speech_to_text/speech_to_text.dart';
import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart'; import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart';
import 'dart:math'; import 'dart:math';
import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
class SearchBot extends StatefulWidget { class SearchBot extends StatefulWidget {
@override @override
@ -25,8 +29,8 @@ class SearchBot extends StatefulWidget {
class _SearchBot extends State<SearchBot> { class _SearchBot extends State<SearchBot> {
// DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); // DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
// SearchProvider searchProvider = new SearchProvider(); SearchProvider searchProvider = new SearchProvider();
ProjectViewModel projectProvider = ProjectViewModel(); RobotProvider eventProvider = RobotProvider();
bool isLoading = false; bool isLoading = false;
bool isError = false; bool isError = false;
final SpeechToText speech = SpeechToText(); final SpeechToText speech = SpeechToText();
@ -34,11 +38,12 @@ class _SearchBot extends State<SearchBot> {
String _currentLocaleId = ""; String _currentLocaleId = "";
String lastError; String lastError;
double level = 0.0; double level = 0.0;
double minSoundLevel = 10000;
double maxSoundLevel = -10000; double minSoundLevel = 50000;
double maxSoundLevel = -50000;
String reconizedWord = ''; String reconizedWord = '';
FlutterTts flutterTts = FlutterTts(); FlutterTts flutterTts = FlutterTts();
var selectedLang;
bool isSearching = false; bool isSearching = false;
String lastStatus; String lastStatus;
@ -68,6 +73,9 @@ class _SearchBot extends State<SearchBot> {
child: FlatButton( child: FlatButton(
child: Text('Start'), child: Text('Start'),
onPressed: () { onPressed: () {
setState(() {
reconizedWord = 'Lisening...';
});
startVoiceSearch(); startVoiceSearch();
}, },
), ),
@ -107,9 +115,6 @@ class _SearchBot extends State<SearchBot> {
await flutterTts.speak(reconizedWord); await flutterTts.speak(reconizedWord);
getPages(reconizedWord); getPages(reconizedWord);
//Future.delayed(const Duration(seconds: 2), () {
//
// });
} }
void soundLevelListener(double level) { void soundLevelListener(double level) {
@ -145,7 +150,7 @@ class _SearchBot extends State<SearchBot> {
void statusListener(String status) { void statusListener(String status) {
setState(() { setState(() {
reconizedWord = status == 'listening' ? 'Lisening...' : 'Wait....'; reconizedWord = status == 'listening' ? 'Lisening...' : 'Sorry....';
}); });
} }
@ -155,23 +160,57 @@ class _SearchBot extends State<SearchBot> {
'Lang': 'Lang':
TranslationBase.of(context).locale.languageCode == 'en' ? 'En' : 'Ar' TranslationBase.of(context).locale.languageCode == 'en' ? 'En' : 'Ar'
}; };
if (text == 'book appointment') {
Navigator.push(context, FadePage(page: MyAdmissionsPage()));
}
// //searchProvider.setLisener(request); searchProvider
// // searchProvider.getBotPages(request).then((result) => getCommands(result)); .getBotPages(request)
// // var dialog = RoboSearch(context: context); .then((value) => {getCommands(value['Response'], value['Understand'])});
// //projectProvider.setSearchValue(request);
// RoboSearch.closeAlertDialog(context);
// PageController pageController;
// pageController.jumpToPage(1);
// landing._changeCurrentTab(1);
} }
getCommands(result) { getCommands(result, understand) async {
isSearching = false; RoboSearch.closeAlertDialog(context);
print(result);
switch (result["CommandNumber"]) {
case '100':
Navigator.push(
context,
FadePage(
page: BookingOptions(
isAppbar: true,
)));
break;
case '101':
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Search(
type: 0,
)));
break;
case '102':
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Search(
type: 1,
)));
break;
case '103':
eventProvider.setValue(understand);
break;
default:
{
eventProvider.setValue({"Id": "17"});
// if (result['CommandNumber'] == '0') {
// searchProvider.setData(understand);
// }
}
break;
}
if (_currentLocaleId == 'en-GB') {
await flutterTts.speak(result['ResponseEn']);
} else {
await flutterTts.speak(result['ResponseAr']);
}
//searchProvider.setLisener(result);
} }
} }

Loading…
Cancel
Save