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>