11package com.algolia.instantsearch.voice.demo
22
33import android.os.Bundle
4- import android.support.v7 .app.AppCompatActivity
4+ import androidx.appcompat .app.AppCompatActivity
55import android.view.View
66import com.algolia.instantsearch.voice.VoiceSpeechRecognizer
7+ import com.algolia.instantsearch.voice.demo.databinding.MainBinding
78import com.algolia.instantsearch.voice.ui.Voice
89import com.algolia.instantsearch.voice.ui.Voice.isRecordAudioPermissionGranted
910import com.algolia.instantsearch.voice.ui.Voice.shouldExplainPermission
1011import com.algolia.instantsearch.voice.ui.Voice.showPermissionRationale
1112import com.algolia.instantsearch.voice.ui.VoiceInputDialogFragment
1213import com.algolia.instantsearch.voice.ui.VoicePermissionDialogFragment
13- import kotlinx.android.synthetic.main.main.*
14- import kotlinx.android.synthetic.main.main.view.*
15-
1614
1715class MainActivity : AppCompatActivity (), VoiceSpeechRecognizer.ResultsListener {
1816
@@ -21,28 +19,36 @@ class MainActivity : AppCompatActivity(), VoiceSpeechRecognizer.ResultsListener
2119 Voice
2220 }
2321
22+ private lateinit var binding: MainBinding
23+
2424 override fun onCreate (savedInstanceState : Bundle ? ) {
2525 super .onCreate(savedInstanceState)
26- setContentView(R .layout.main)
26+ binding = MainBinding .inflate(layoutInflater)
27+ val view = binding.root
28+ setContentView(view)
2729
28- main .buttonVoice.setOnClickListener { _ ->
30+ binding .buttonVoice.setOnClickListener { _ ->
2931 if (! isRecordAudioPermissionGranted()) {
3032 VoicePermissionDialogFragment ().show(supportFragmentManager, Tag .Permission .name)
3133 } else {
3234 showVoiceDialog()
3335 }
3436 }
3537
36- main .buttonPermission.setOnClickListener {
38+ binding .buttonPermission.setOnClickListener {
3739 VoicePermissionDialogFragment ().show(supportFragmentManager, Tag .Permission .name)
3840 }
3941 }
4042
4143 override fun onResults (possibleTexts : Array <out String >) {
42- main .results.text = possibleTexts.firstOrNull()?.capitalize()
44+ binding .results.text = possibleTexts.firstOrNull()?.capitalize()
4345 }
4446
45- override fun onRequestPermissionsResult (requestCode : Int , permissions : Array <out String >, grantResults : IntArray ) {
47+ override fun onRequestPermissionsResult (
48+ requestCode : Int ,
49+ permissions : Array <out String >,
50+ grantResults : IntArray
51+ ) {
4652 super .onRequestPermissionsResult(requestCode, permissions, grantResults)
4753 if (Voice .isRecordPermissionWithResults(requestCode, grantResults)) {
4854 when {
@@ -64,10 +70,12 @@ class MainActivity : AppCompatActivity(), VoiceSpeechRecognizer.ResultsListener
6470 }
6571 }
6672
67- private fun getVoiceDialog () = (supportFragmentManager.findFragmentByTag(Tag .Voice .name) as ? VoiceInputDialogFragment )
68-
69- private fun getPermissionDialog () = (supportFragmentManager.findFragmentByTag(Tag .Permission .name) as ? VoicePermissionDialogFragment )
73+ private fun getVoiceDialog () =
74+ (supportFragmentManager.findFragmentByTag(Tag .Voice .name) as ? VoiceInputDialogFragment )
7075
71- private fun getPermissionView (): View = getPermissionDialog()!! .view!! .findViewById(R .id.positive)
76+ private fun getPermissionDialog () =
77+ (supportFragmentManager.findFragmentByTag(Tag .Permission .name) as ? VoicePermissionDialogFragment )
7278
79+ private fun getPermissionView (): View =
80+ getPermissionDialog()!! .view!! .findViewById(R .id.positive)
7381}
0 commit comments