in app/src/main/java/com/amazonaws/ivs/basicbroadcast/activities/MainActivity.kt [56:118]
override fun onCreate(savedInstanceState: Bundle?) {
Log.d(TAG, "On Create")
super.onCreate(savedInstanceState)
App.component.inject(this)
Bluetooth.startBluetoothSco(applicationContext)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
viewModel.preview.observe(this, {
Log.d(TAG, "Texture view changed: $it")
binding.previewView.addView(it)
imagePreviewView = it
})
viewModel.clearPreview.observe(this, { clear ->
Log.d(TAG, "Texture view cleared")
if (clear) binding.previewView.removeAllViews()
})
viewModel.indicatorColor.observe(this, { color ->
Log.d(TAG, "Indicator color changed")
binding.broadcastOptionView.statusIndicator.background.colorFilter = PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)
})
viewModel.camerasChanged.observe(this, { changed ->
if (changed) {
Log.d(TAG, "Available camera size changed")
cameraAdapter.clear()
cameraAdapter.addAll(getCameraItems())
}
})
viewModel.microphonesChanged.observe(this, { changed ->
if (changed) {
Log.d(TAG, "Available microphone size changed")
microphoneAdapter.clear()
microphoneAdapter.addAll(getMicrophoneItems())
}
})
viewModel.errorHappened.observe(this, { error ->
Log.d(TAG, "Error dialog is shown: ${error.first}, ${error.second}")
showDialog(error.first, error.second)
})
viewModel.disconnectHappened.observe(this, { disconnected ->
Log.d(TAG, "Disconnect happened")
if (disconnected) {
if (viewModel.paused) stopSession() else endSession()
}
})
viewModel.selectDefault.observe(this, { type ->
Log.d(TAG, "Default device $type changed")
if (type == Device.Descriptor.DeviceType.MICROPHONE) {
binding.microphoneSpinner.setSelection(DEFAULT_DEVICE_POSITION)
} else if (type == Device.Descriptor.DeviceType.CAMERA) {
binding.cameraSpinner.setSelection(DEFAULT_DEVICE_POSITION)
}
})
initUi()
}