in app/src/main/java/com/amazonaws/services/chime/sdkdemo/fragment/TranscriptionConfigFragment.kt [177:236]
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val view = inflater.inflate(R.layout.fragment_transcription_config, container, false)
val context = activity as Context
view.findViewById<Button>(R.id.buttonStartTranscription)?.setOnClickListener {
listener.onStartTranscription(
transcribeEngineSpinner.selectedItem as TranscribeEngine,
languageSpinner.selectedItem as TranscribeLanguage,
regionSpinner.selectedItem as TranscribeRegion
)
}
// Note we call isSelected and setSelection before setting onItemSelectedListener
// so that we can control the first time the spinner is set and use previous values
// if they exist (i.e. before rotation). We will set them after lists are populated.
transcribeEngineSpinner = view.findViewById(R.id.spinnerTranscribeEngine)
transcribeEngineAdapter = ArrayAdapter(context, android.R.layout.simple_spinner_item, transcribeEngines)
transcribeEngineAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
transcribeEngineSpinner.adapter = transcribeEngineAdapter
transcribeEngineSpinner.isSelected = false
transcribeEngineSpinner.setSelection(0, true)
transcribeEngineSpinner.onItemSelectedListener = onTranscribeEngineSelected
languageSpinner = view.findViewById(R.id.spinnerLanguage)
languageAdapter = ArrayAdapter(context, android.R.layout.simple_spinner_item, languages)
languageAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
languageSpinner.adapter = languageAdapter
languageSpinner.isSelected = false
regionSpinner = view.findViewById(R.id.spinnerRegion)
regionAdapter = ArrayAdapter(context, android.R.layout.simple_spinner_item, regions)
regionAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
regionSpinner.adapter = regionAdapter
regionSpinner.isSelected = false
uiScope.launch {
populateLanguages(transcribeLanguages, languages, languageAdapter)
populateRegions(transcribeRegions, regions, regionAdapter)
var transcribeEngineSpinnerIndex = 0
var languageSpinnerIndex = 0
var regionSpinnerIndex = 0
if (savedInstanceState != null) {
transcribeEngineSpinnerIndex = savedInstanceState.getInt(TRANSCRIBE_ENGINE_SPINNER_INDEX_KEY, 0)
languageSpinnerIndex = savedInstanceState.getInt(LANGUAGE_SPINNER_INDEX_KEY, 0)
regionSpinnerIndex = savedInstanceState.getInt(REGION_SPINNER_INDEX_KEY, 0)
}
transcribeEngineSpinner.setSelection(transcribeEngineSpinnerIndex)
languageSpinner.setSelection(languageSpinnerIndex)
regionSpinner.setSelection(regionSpinnerIndex)
}
return view
}