From f25b716aadc2d2a32dadd648412f7c6157b064d8 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Tue, 12 May 2026 13:08:12 +0300 Subject: [PATCH] Update to stores to enable book appointment --- android/app/src/main/AndroidManifest.xml | 2 ++ lib/pages/BookAppointment/DoctorProfile.dart | 8 +++--- lib/pages/landing/landing_page.dart | 26 +++++++++---------- lib/services/robo_search/event_provider.dart | 6 ++--- lib/widgets/others/bottom_bar.dart | 10 +++---- .../others/floating_button_search.dart | 22 ++++++++-------- pubspec.yaml | 24 ++++++++++------- 7 files changed, 51 insertions(+), 47 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b4a29214..c833d3c1 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -6,6 +6,8 @@ In most cases you can leave this as-is, but you if you want to provide additional functionality it is fine to subclass or reimplement FlutterApplication and put your custom class here. --> + + diff --git a/lib/pages/BookAppointment/DoctorProfile.dart b/lib/pages/BookAppointment/DoctorProfile.dart index b54cf625..43595998 100644 --- a/lib/pages/BookAppointment/DoctorProfile.dart +++ b/lib/pages/BookAppointment/DoctorProfile.dart @@ -161,14 +161,14 @@ class _DoctorProfileState extends State with TickerProviderStateM TabBar( onTap: (index) { setState(() { - if (index == 1) { + // if (index == 1) { // if (widget.doctor.clinicID == 23 || widget.doctor.clinicID == 47 || widget.isLiveCareAppointment) { - _tabController.index = _tabController.previousIndex; - showFooterButton = false; + // _tabController.index = _tabController.previousIndex; + // showFooterButton = false; // } else { // showFooterButton = true; // } - } + // } print(showFooterButton); }); }, diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart index 7d9a02a6..8a31be29 100644 --- a/lib/pages/landing/landing_page.dart +++ b/lib/pages/landing/landing_page.dart @@ -672,20 +672,18 @@ class _LandingPageState extends State with WidgetsBindingObserver { // changeIndex: changeCurrentTab, // index: currentTab, // ), - // floatingActionButtonLocation: FloatingActionButtonLocation.endContained, - // floatingActionButton: - // (projectViewModel.havePrivilege(34) && currentTab == 0) - // ? Padding(x - // padding: const EdgeInsets.only(bottom: 50.0, right: 10), - // child: FloatingButton( - // elevation: true, - // onTap: () { - // changeCurrentTab(2); - // }, - // ), - // ) - // : null); - ); + floatingActionButtonLocation: FloatingActionButtonLocation.endContained, + floatingActionButton: + (projectViewModel.havePrivilege(34) && currentTab == 0) + ? Padding(padding: const EdgeInsets.only(bottom: 50.0, right: 10), + child: FloatingButton( + elevation: true, + onTap: () { + changeCurrentTab(2); + }, + ), + ) + : null); } triggerRobot() { diff --git a/lib/services/robo_search/event_provider.dart b/lib/services/robo_search/event_provider.dart index dda20978..93abf9b4 100644 --- a/lib/services/robo_search/event_provider.dart +++ b/lib/services/robo_search/event_provider.dart @@ -1,12 +1,12 @@ import 'dart:async'; -import 'package:flutter_tts/flutter_tts.dart'; +// import 'package:flutter_tts/flutter_tts.dart'; class RobotProvider { static final RobotProvider _singleton = RobotProvider._internal(); var value; StreamController controller = StreamController.broadcast(); - FlutterTts flutterTts = FlutterTts(); + // FlutterTts flutterTts = FlutterTts(); getData() { // return data; } @@ -25,6 +25,6 @@ class RobotProvider { RobotProvider._internal(); speak(data) async { - await flutterTts.speak(data); + // await flutterTts.speak(data); } } diff --git a/lib/widgets/others/bottom_bar.dart b/lib/widgets/others/bottom_bar.dart index cee0e6d7..8b78e2c9 100644 --- a/lib/widgets/others/bottom_bar.dart +++ b/lib/widgets/others/bottom_bar.dart @@ -32,7 +32,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.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'; +// import 'package:flutter_tts/flutter_tts.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; @@ -60,7 +60,7 @@ class _SearchBot extends State { double minSoundLevel = 50000; double maxSoundLevel = -50000; String reconizedWord = ''; - FlutterTts flutterTts = FlutterTts(); + // FlutterTts flutterTts = FlutterTts(); var selectedLang; bool isSearching = false; Map results = {}; @@ -167,7 +167,7 @@ class _SearchBot extends State { // await speech.initialize(onError: errorListener, onStatus: statusListener); _currentLocaleId = TranslationBase.of(AppGlobal.context).locale.languageCode == 'en' ? 'en-GB' : 'ar-SA'; // systemLocale.localeId; - flutterTts.setLanguage(_currentLocaleId); + // flutterTts.setLanguage(_currentLocaleId); // if (!mounted) return; } @@ -480,9 +480,9 @@ class _SearchBot extends State { speak() async { if (_currentLocaleId == 'en-GB' && results['ReturnMessage'] != null) { - await flutterTts.speak(results['ReturnMessage']); + // await flutterTts.speak(results['ReturnMessage']); } else if (results['ReturnMessage_Ar'] != null) { - await flutterTts.speak(results['ReturnMessage_Ar']); + // await flutterTts.speak(results['ReturnMessage_Ar']); } // Future.delayed(const Duration(seconds: 10), () { // initSpeechState().then((value) => startVoiceSearch()); diff --git a/lib/widgets/others/floating_button_search.dart b/lib/widgets/others/floating_button_search.dart index d7600bed..71a25b66 100644 --- a/lib/widgets/others/floating_button_search.dart +++ b/lib/widgets/others/floating_button_search.dart @@ -63,7 +63,7 @@ import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart' show TargetPlatform; import 'package:flutter/material.dart'; -import 'package:flutter_tts/flutter_tts.dart'; +// import 'package:flutter_tts/flutter_tts.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; import 'package:speech_to_text/speech_recognition_error.dart'; @@ -84,7 +84,7 @@ class _FloatingSearchButton extends State with TickerProvi bool isLoading = false; bool isError = false; stt.SpeechToText speech = stt.SpeechToText(); - FlutterTts tts = FlutterTts(); + // FlutterTts tts = FlutterTts(); String error = ''; String _currentLocaleId = ""; late String lastError; @@ -236,12 +236,12 @@ class _FloatingSearchButton extends State with TickerProvi startIosTts() async{ - await tts.setSharedInstance(true); - await tts.setLanguage("en-US"); - tts.setIosAudioCategory( - IosTextToSpeechAudioCategory.playback, - [IosTextToSpeechAudioCategoryOptions.mixWithOthers], - IosTextToSpeechAudioMode.voicePrompt); + // await tts.setSharedInstance(true); + // await tts.setLanguage("en-US"); + // tts.setIosAudioCategory( + // IosTextToSpeechAudioCategory.playback, + // [IosTextToSpeechAudioCategoryOptions.mixWithOthers], + // IosTextToSpeechAudioMode.voicePrompt); } startVoiceSearch() async { bool available = await speech.initialize(); @@ -844,12 +844,12 @@ class _FloatingSearchButton extends State with TickerProvi if (isArabic == false && results['ReturnMessage'] != null && isInit == false) { // await tts.synthesizeToFile("Hello World", Platform.isAndroid ? "tts.wav" : "tts.caf"); - await tts.setVoice({"name": "Karen", "locale": "en-AU"}); + // await tts.setVoice({"name": "Karen", "locale": "en-AU"}); // await tts.setVoice({"name" : voice[35]["name"],"locale": voice[35]["locale"]}); - await tts.speak(results['ReturnMessage']); + // await tts.speak(results['ReturnMessage']); } else if (results['ReturnMessage_Ar'] != null && isInit == false) { //await tts.setVoice({"name" : voice[0]["name"],"locale": voice[0]["locale"]}); - await tts.speak(results['ReturnMessage_Ar']); + // await tts.speak(results['ReturnMessage_Ar']); } stopAnimation(isInit: isInit); diff --git a/pubspec.yaml b/pubspec.yaml index 1f408153..5bbbb9d7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,8 @@ name: diplomaticquarterapp description: A new Flutter application. -version: 1.0.1+1 +version: 1.0.3+1 +#version: 1.0.4+5 environment: # sdk: ">=3.0.0 <3.13.0" @@ -23,7 +24,7 @@ dependencies: audio_wave: ^0.1.5 provider: ^6.1.5 get_it: ^8.0.3 - fl_chart: ^1.0.0 + fl_chart: 1.0.0 # camera: ^0.11.1 # Permissions @@ -68,7 +69,7 @@ dependencies: # charts flutter_charts: ^0.5.2 - google_maps_flutter: ^2.1.1 + google_maps_flutter: ^2.14.2 # Huawei # huawei_map: ^6.11.2+304 @@ -84,7 +85,7 @@ dependencies: # Qr code Scanner TODO fix it location: ^8.0.0 - barcode_scan2: any + barcode_scan2: ^4.4.0 # Rating Stars flutter_rating_bar: ^4.0.1 @@ -118,7 +119,7 @@ dependencies: # timezone: ^0.10.0 # geolocator: ^9.0.2 - geolocator: any + geolocator: ^14.0.2 geocoding: ^4.0.0 jiffy: ^6.2.1 @@ -133,7 +134,7 @@ dependencies: # wakelock: ^0.6.2 after_layout: ^1.1.0 cached_network_image: ^3.3.0 - flutter_tts: ^4.2.3 +# flutter_tts: ^4.2.3 vibration: ^3.1.3 flutter_nfc_kit: ^3.3.1 #geofencing: any @@ -159,7 +160,7 @@ dependencies: equatable: ^2.0.3 wave: ^0.2.0 sms_otp_auto_verify: ^2.2.0 - open_filex: ^4.3.2 + open_filex: ^4.6.0 path_provider: ^2.0.8 amazon_payfort: ^1.1.4 # logger: ^2.0.2+1 @@ -179,13 +180,16 @@ dependencies: dependency_overrides: timezone: ^0.10.1 + flutter_plugin_android_lifecycle: ^2.0.34 + url_launcher_android: 6.3.20 + sqflite: ^2.4.2 -dev_dependencies: - flutter_test: - sdk: flutter +#dev_dependencies: +# flutter_test: +# sdk: flutter flutter: uses-material-design: true