From ff57c29ce10d321b8923cfe6c0924eb2eed87491 Mon Sep 17 00:00:00 2001 From: adrienmalin <41926238+adrienmalin@users.noreply.github.com> Date: Thu, 6 Dec 2018 23:57:45 +0100 Subject: [PATCH] bug fix --- .../adrienmalin/pingpoints/MatchActivity.kt | 2 +- .../java/adrienmalin/pingpoints/SttDialog.kt | 59 +++++++++---------- app/src/main/res/values/strings.xml | 5 +- 3 files changed, 31 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/adrienmalin/pingpoints/MatchActivity.kt b/app/src/main/java/adrienmalin/pingpoints/MatchActivity.kt index 1dfba9d..fe0a8a4 100644 --- a/app/src/main/java/adrienmalin/pingpoints/MatchActivity.kt +++ b/app/src/main/java/adrienmalin/pingpoints/MatchActivity.kt @@ -131,7 +131,7 @@ class MatchActivity : AppCompatActivity() { if (matchFinished) { val (loser, winner) = players.sortedBy { it.score } - if (sttEnabled) { + if (ttsEnabled) { speakText( getString( R.string.victory_speech, diff --git a/app/src/main/java/adrienmalin/pingpoints/SttDialog.kt b/app/src/main/java/adrienmalin/pingpoints/SttDialog.kt index 30825a0..45e51a6 100644 --- a/app/src/main/java/adrienmalin/pingpoints/SttDialog.kt +++ b/app/src/main/java/adrienmalin/pingpoints/SttDialog.kt @@ -36,7 +36,8 @@ class SttDialog : DialogFragment() { } override fun onPartialResults(data: Bundle) { - partialResultsTextView?.text = data.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION)[0] + if (!data.isEmpty) + partialResultsTextView?.text = data.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION)[0] } override fun onResults(data: Bundle) { @@ -77,37 +78,35 @@ class SttDialog : DialogFragment() { } override fun onCreateDialog(savedInstanceState: Bundle?) = AlertDialog.Builder(activity).apply { - val view: View = (context?.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater).inflate( - R.layout.dialog_stt, - null - ) - partialResultsTextView = view.findViewById(R.id.partialResultTextView) - icStt = view.findViewById(R.id.icStt) + (context?.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater).inflate(R.layout.dialog_stt, null). apply { + partialResultsTextView = findViewById(R.id.partialResultTextView) + icStt = findViewById(R.id.icStt) - setView(view) + setView(this) - matchActivity = (activity as MatchActivity).apply { - matchModel?.apply { - view.findViewById<TextView>(R.id.sttHintTextView).text = getString( - R.string.STT_hint, - players[0].name, - players[1].name - ) - sttIntent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply { - putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM) - putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault().displayLanguage) - putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10) - putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, packageName) - putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true) - } - stt = SpeechRecognizer.createSpeechRecognizer(activity).apply { - setRecognitionListener(SttListener()) - try { - startListening(sttIntent) - } catch (e: ActivityNotFoundException) { - sttEnabled = false - dismiss() - showText(R.string.STT_unavailable) + matchActivity = (activity as MatchActivity).apply { + matchModel?.apply { + findViewById<TextView>(R.id.sttHintTextView).text = getString( + R.string.STT_hint, + players[0].name, + players[1].name + ) + sttIntent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply { + putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM) + putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault().displayLanguage) + putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10) + putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, packageName) + putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true) + } + stt = SpeechRecognizer.createSpeechRecognizer(activity).apply { + setRecognitionListener(SttListener()) + try { + startListening(sttIntent) + } catch (e: ActivityNotFoundException) { + sttEnabled = false + dismiss() + showText(R.string.STT_unavailable) + } } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2f617ad..1054ea4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,9 +40,6 @@ <string name="STT_hint">Say: \"Point for %s\"\nor \"Point for %s\"</string> <string name="pattern">(?i:Point for %s)</string> <string name="not_understood">Can you repeat, please?</string> - <string name="score" translatable="false">%d - %d</string> + <string name="score" translatable="false">%2d - %2d</string> <string name="STT_disabled">Voice recognition disabled.</string> - - <!-- TODO: Remove or change this placeholder text --> - <string name="hello_blank_fragment">Hello blank fragment</string> </resources>