Merge branch 'sultan' into 'development'

Sultan

See merge request Cloud_Solution/doctor_app_flutter!583
merge-requests/584/head
Mohammad Aljammal 5 years ago
commit 29d64a6b03

@ -862,5 +862,9 @@ const Map<String, Map<String, String>> localizedValues = {
"try-saying": {"en": "Try saying something", "ar": 'حاول قول شيء ما'}, "try-saying": {"en": "Try saying something", "ar": 'حاول قول شيء ما'},
"refClinic": {"en": "Ref Clinic", "ar": "Ref Clinic"}, "refClinic": {"en": "Ref Clinic", "ar": "Ref Clinic"},
"acknowledged": {"en": "Acknowledged", "ar": "إقرار"}, "acknowledged": {"en": "Acknowledged", "ar": "إقرار"},
"didntCatch": {
"en": "Didn't catch that. Try Speaking again",
"ar": "لم يتم التقاط ذلك. حاول التحدث مرة أخرى"
},
"showDetail": {"en": "Show Detail", "ar": "أظهر المعلومات"}, "showDetail": {"en": "Show Detail", "ar": "أظهر المعلومات"},
}; };

@ -65,7 +65,7 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
event.controller.stream.listen((p) { event.controller.stream.listen((p) {
if (p['startPopUp'] == 'true') { if (p['startPopUp'] == 'true') {
if (this.mounted) { if (this.mounted) {
onVoiceText(); initSpeechState().then((value) => {onVoiceText()});
} }
} }
}); });
@ -118,13 +118,13 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
// isTextFieldHasSuffix: true, // isTextFieldHasSuffix: true,
validationError: validationError:
progressNoteController.text.isEmpty && isSubmitted progressNoteController.text.isEmpty &&
isSubmitted
? TranslationBase.of(context).emptyMessage ? TranslationBase.of(context).emptyMessage
: null, : null,
), ),
Positioned( Positioned(
top: 0,//MediaQuery.of(context).size.height * 0, top: 0, //MediaQuery.of(context).size.height * 0,
right: 15, right: 15,
child: IconButton( child: IconButton(
icon: Icon( icon: Icon(
@ -132,7 +132,8 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
color: Colors.black, color: Colors.black,
), ),
onPressed: () { onPressed: () {
onVoiceText(); initSpeechState()
.then((value) => {onVoiceText()});
}, },
), ),
) )
@ -235,7 +236,7 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
if (available) { if (available) {
speech.listen( speech.listen(
onResult: resultListener, onResult: resultListener,
// listenMode: ListenMode.confirmation, listenMode: stt.ListenMode.confirmation,
localeId: lang == 'en' ? 'en-US' : 'ar-SA', localeId: lang == 'en' ? 'en-US' : 'ar-SA',
); );
} else { } else {
@ -266,10 +267,18 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
if (result.finalResult == true) { if (result.finalResult == true) {
setState(() { setState(() {
SpeechToText.closeAlertDialog(context); SpeechToText.closeAlertDialog(context);
speech.stop();
progressNoteController.text = reconizedWord; progressNoteController.text = reconizedWord;
}); });
} else { } else {
print(result.finalResult); print(result.finalResult);
} }
} }
Future<void> initSpeechState() async {
bool hasSpeech = await speech.initialize(
onError: errorListener, onStatus: statusListener);
print(hasSpeech);
if (!mounted) return;
}
} }

@ -568,7 +568,8 @@ class TranslationBase {
String get referTo => localizedValues['referTo'][locale.languageCode]; String get referTo => localizedValues['referTo'][locale.languageCode];
String get referredFrom => localizedValues['referredFrom'][locale.languageCode]; String get referredFrom =>
localizedValues['referredFrom'][locale.languageCode];
String get refClinic => localizedValues['refClinic'][locale.languageCode]; String get refClinic => localizedValues['refClinic'][locale.languageCode];
String get branch => localizedValues['branch'][locale.languageCode]; String get branch => localizedValues['branch'][locale.languageCode];
@ -1239,7 +1240,9 @@ class TranslationBase {
String get replayBefore => String get replayBefore =>
localizedValues['replayBefore'][locale.languageCode]; localizedValues['replayBefore'][locale.languageCode];
String get trySaying => localizedValues["try-saying"][locale.languageCode]; String get trySaying => localizedValues["try-saying"][locale.languageCode];
String get acknowledged => localizedValues['acknowledged'][locale.languageCode]; String get acknowledged =>
localizedValues['acknowledged'][locale.languageCode];
String get didntCatch => localizedValues["didntCatch"][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -2,30 +2,23 @@ import 'dart:async';
import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/provider/robot_provider.dart'; import 'package:doctor_app_flutter/core/provider/robot_provider.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'dart:async';
import 'package:speech_to_text/speech_to_text.dart' as stt;
class SpeechToText { class SpeechToText {
final BuildContext context; final BuildContext context;
static var dialog; static var dialog;
static stt.SpeechToText speech = stt.SpeechToText();
SpeechToText({ SpeechToText({
@required this.context, @required this.context,
}); });
showAlertDialog(BuildContext context) { showAlertDialog(BuildContext context) {
//AlertDialog alert = AlertDialog
// AlertDialog alert = AlertDialog(content: MyStatefulBuilder(dispose: () {
// print('dispose!!!!!!!!!!!!');
// })
// isClosed = true;
// streamSubscription.cancel();
// }, builder: (BuildContext context, StateSetter setState) {
// //print(streamSubscription);
// }),
// );
// show the dialog // show the dialog
showDialog( showDialog(
context: context, context: context,
@ -42,6 +35,7 @@ class SpeechToText {
static closeAlertDialog(BuildContext context) { static closeAlertDialog(BuildContext context) {
Navigator.of(dialog).pop(); Navigator.of(dialog).pop();
speech.stop();
} }
} }
@ -93,14 +87,16 @@ class _MyStatefulBuilderState extends State<MyStatefulBuilder> {
width: SizeConfig.realScreenWidth * 0.8, width: SizeConfig.realScreenWidth * 0.8,
child: Container( child: Container(
child: Column(children: [ child: Column(children: [
Expanded( Row(
flex: 1, mainAxisAlignment: MainAxisAlignment.end,
child: Center( children: [
child: Image.asset( IconButton(
'assets/images/habib-logo.png', icon: Icon(DoctorApp.close),
height: 75, onPressed: () {
width: 75, SpeechToText.closeAlertDialog(context);
))), })
],
),
Expanded( Expanded(
flex: 3, flex: 3,
child: Center( child: Center(
@ -126,19 +122,38 @@ class _MyStatefulBuilderState extends State<MyStatefulBuilder> {
Expanded( Expanded(
flex: 1, flex: 1,
child: Center( child: Center(
child: AppText(searchText != null && searchText != 'null' child: AppText(
? searchText searchText == null
: TranslationBase.of(context).trySaying))), ? TranslationBase.of(context).trySaying
: searchText == 'null'
? TranslationBase.of(context).didntCatch
: searchText,
fontSize: 14,
))),
searchText == 'null' searchText == 'null'
? Center( ? Center(
child: RaisedButton( child: InkWell(
child: AppText('Retry'), child: Container(
onPressed: () { decoration: BoxDecoration(
border: Border.all(color: Colors.grey[300])),
padding: EdgeInsets.all(5),
child: AppText(
'Try Again',
fontSize: 13,
)),
onTap: () {
SpeechToText.closeAlertDialog(context); SpeechToText.closeAlertDialog(context);
event.setValue({'startPopUp': 'true'}); event.setValue({'startPopUp': 'true'});
}, },
)) ))
: SizedBox() : SizedBox(),
Row(mainAxisAlignment: MainAxisAlignment.end, children: [
Image.asset(
'assets/images/habib-logo.png',
height: 20,
width: 20,
)
])
]), ]),
))); )));

Loading…
Cancel
Save