merge-update-with-lab-changes
Sultan Khan 5 years ago
parent 4c1a8dc38f
commit 3b2f9251dc

@ -122,8 +122,7 @@ const GET_PAtIENTS_INSURANCE_UPDATED =
"Services/Patients.svc/REST/PatientER_GetPatientInsuranceCardUpdateHistory";
const GET_PAtIENTS_INSURANCE_APPROVALS =
"Services/Patients.svc/REST/GetApprovalStatus";
const SEARCH_BOT =
'Services/HabibiChatBotApi/BotInterface/GetVoiceCommandResponse';
const SEARCH_BOT = 'HabibiChatBotApi/BotInterface/GetVoiceCommandResponse';
class AppGlobal {
static var context;

@ -61,11 +61,14 @@ class BaseAppClient {
var parsed = json.decode(response.body.toString());
if (isAllowAny) {
onSuccess(parsed, statusCode);
} else if (!parsed['IsAuthenticated']) {
} else if (parsed['IsAuthenticated'] == false ||
parsed['IsAuthenticated'] == null) {
if (parsed['isSMSSent'] == true) {
onSuccess(parsed, statusCode);
} else if (parsed['MessageStatus'] == 1) {
onSuccess(parsed, statusCode);
} else if (parsed['Result'] == 'OK') {
onSuccess(parsed, statusCode);
} else {
onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'],
statusCode);

@ -14,7 +14,8 @@ class ProjectViewModel with ChangeNotifier {
bool isLoading = false;
bool isError = false;
String error = '';
dynamic searchvalue;
dynamic get searchValue => searchvalue;
Locale get appLocal => _appLocale;
bool get isArabic => _isArabic;
@ -71,4 +72,9 @@ class ProjectViewModel with ChangeNotifier {
if (subscription != null) subscription.cancel();
super.dispose();
}
setSearchValue(data) {
searchvalue = data;
notifyListeners();
}
}

@ -3,10 +3,11 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'config/size_config.dart';
import 'core/viewModels/project_view_model.dart';
import 'locator.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
void main() {
setupLocator();
@ -14,6 +15,7 @@ void main() {
}
class MyApp extends StatelessWidget {
/// static final _myTabbedPageKey = new GlobalKey<_LandingPageState>();
@override
Widget build(BuildContext context) {
return LayoutBuilder(
@ -26,6 +28,11 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider<ProjectViewModel>(
create: (context) => ProjectViewModel(),
),
// ChangeNotifierProvider<SearchProvider>(
// create: (context) => SearchProvider()),
ChangeNotifierProvider.value(
value: SearchProvider(),
)
],
child: Consumer<ProjectViewModel>(
builder: (context, projectProvider, child) => MaterialApp(

@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
import 'package:diplomaticquarterapp/pages/medical/my_admissions_page.dart';
import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart';
import 'package:diplomaticquarterapp/widgets/drawer/app_drawer_widget.dart';
@ -12,16 +13,20 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import 'home_page.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
class LandingPage extends StatefulWidget {
@override
_LandingPageState createState() => _LandingPageState();
}
class _LandingPageState extends State<LandingPage> {
class _LandingPageState extends State<LandingPage>
with SingleTickerProviderStateMixin {
int currentTab = 0;
PageController pageController;
ProjectViewModel projectProvider;
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
final authService = new AuthProvider();
_changeCurrentTab(int tab) {
@ -44,6 +49,7 @@ class _LandingPageState extends State<LandingPage> {
//assert(token != null);
});
}
void requestPermissions() async {
await [
Permission.location,
@ -56,6 +62,10 @@ class _LandingPageState extends State<LandingPage> {
@override
Widget build(BuildContext context) {
//final searchValue = Provider.of<SearchProvider>(context);
//print(searchValue);
// projectProvider = Provider.of(context);
// checkValue(projectProvider);
return Scaffold(
appBar: AppBar(
elevation: 0,
@ -81,7 +91,11 @@ class _LandingPageState extends State<LandingPage> {
physics: NeverScrollableScrollPhysics(),
controller: pageController,
children: [
HomePage(), MedicalProfilePage(), MyAdmissionsPage(), ToDo()],
HomePage(),
MedicalProfilePage(),
MyAdmissionsPage(),
ToDo()
],
),
bottomNavigationBar: BottomNavBar(changeIndex: _changeCurrentTab),
);
@ -121,4 +135,10 @@ class _LandingPageState extends State<LandingPage> {
void setUserValues(value) async {
sharedPref.setObject(IMEI_USER_DATA, value);
}
checkValue(projectProvider) {
if (projectProvider.searchValue != null) {
_changeCurrentTab(2);
}
}
}

@ -1,25 +1,31 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/service/client/base_app_client.dart';
import 'package:flutter/cupertino.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'dart:async';
import 'dart:math' as Math;
class SearchProvider with ChangeNotifier {
bool isLogin = false;
bool isLoading = true;
dynamic pageData;
AuthProvider() {
getLisner();
}
Map pageData = {};
Map get value => pageData;
ProjectViewModel projectProvider = ProjectViewModel();
// AuthProvider() {
// // getLisner();
// }
Future getBotPages(request) async {
Future<dynamic> getBotPages(request) async {
try {
await BaseAppClient().post(SEARCH_BOT,
onSuccess: (dynamic response, int statusCode) {
pageData = response;
notifyListeners();
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request);
// notifyListeners();
return Future.value(pageData);
} catch (error) {
print(error);
@ -27,7 +33,9 @@ class SearchProvider with ChangeNotifier {
}
}
getLisner() {
return pageData;
setLisener(data) {
pageData["id"] = 100;
//projectProvider.setSearchValue(pageData);
notifyListeners();
}
}

@ -30,6 +30,7 @@ class AppScaffold extends StatelessWidget {
@override
Widget build(BuildContext context) {
AppGlobal.context = context;
return Scaffold(
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
appBar: isShowAppBar

@ -17,7 +17,14 @@ class RoboSearch {
// set up the AlertDialog
AlertDialog alert = AlertDialog(
title: Center(child: Text(TranslationBase.of(context).search)),
content: SearchOption(),
content: StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return Container(
color: Colors.white,
height: SizeConfig.realScreenHeight * 0.5,
width: SizeConfig.realScreenWidth * 0.8,
child: SearchBot());
}),
);
// show the dialog
@ -33,26 +40,3 @@ class RoboSearch {
Navigator.of(context).pop();
}
}
class SearchOption extends StatefulWidget {
@override
_SearchOption createState() => _SearchOption();
}
class _SearchOption extends State<SearchOption> {
bool isLoading = true;
// var familyFileProvider = RobotProvider();
@override
void initState() {
isLoading = true;
super.initState();
}
Widget build(BuildContext context) {
return Container(
color: Colors.white,
height: SizeConfig.realScreenHeight * 0.5,
width: SizeConfig.realScreenWidth * 0.8,
child: SearchBot());
}
}

@ -1,7 +1,12 @@
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
import 'package:diplomaticquarterapp/pages/medical/my_admissions_page.dart';
import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_tts/flutter_tts.dart';
@ -10,6 +15,7 @@ import 'package:permission_handler/permission_handler.dart';
import 'package:speech_to_text/speech_recognition_error.dart';
import 'package:speech_to_text/speech_recognition_result.dart';
import 'package:speech_to_text/speech_to_text.dart';
import 'package:diplomaticquarterapp/widgets/robo-search/robosearch.dart';
import 'dart:math';
class SearchBot extends StatefulWidget {
@ -19,7 +25,8 @@ class SearchBot extends StatefulWidget {
class _SearchBot extends State<SearchBot> {
// DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
SearchProvider searchProvider = new SearchProvider();
// SearchProvider searchProvider = new SearchProvider();
ProjectViewModel projectProvider = ProjectViewModel();
bool isLoading = false;
bool isError = false;
final SpeechToText speech = SpeechToText();
@ -27,8 +34,8 @@ class _SearchBot extends State<SearchBot> {
String _currentLocaleId = "";
String lastError;
double level = 0.0;
double minSoundLevel = 50000;
double maxSoundLevel = -50000;
double minSoundLevel = 10000;
double maxSoundLevel = -10000;
String reconizedWord = '';
FlutterTts flutterTts = FlutterTts();
@ -148,8 +155,19 @@ class _SearchBot extends State<SearchBot> {
'Lang':
TranslationBase.of(context).locale.languageCode == 'en' ? 'En' : 'Ar'
};
if (text == 'book appointment') {
Navigator.push(context, FadePage(page: MyAdmissionsPage()));
}
// //searchProvider.setLisener(request);
// // searchProvider.getBotPages(request).then((result) => getCommands(result));
// // var dialog = RoboSearch(context: context);
// //projectProvider.setSearchValue(request);
// RoboSearch.closeAlertDialog(context);
// PageController pageController;
// pageController.jumpToPage(1);
searchProvider.getBotPages(request).then((result) => getCommands(result));
// landing._changeCurrentTab(1);
}
getCommands(result) {

Loading…
Cancel
Save