in app/src/main/java/com/amazonaws/services/chime/sdkdemo/fragment/MeetingFragment.kt [225:274]
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val view: View = inflater.inflate(R.layout.fragment_meeting, container, false)
val activity = activity as Context
credentials = (activity as MeetingActivity).getMeetingSessionCredentials()
audioVideo = activity.getAudioVideo()
eglCoreFactory = activity.getEglCoreFactory()
cameraCaptureSource = activity.getCameraCaptureSource()
gpuVideoProcessor = activity.getGpuVideoProcessor()
cpuVideoProcessor = activity.getCpuVideoProcessor()
screenShareManager = activity.getScreenShareManager()
audioDeviceManager = AudioDeviceManager(audioVideo)
val url = if (getString(R.string.test_url).endsWith("/")) getString(R.string.test_url) else "${getString(R.string.test_url)}/"
postLogger = PostLogger(
appName,
activity.getMeetingSessionConfiguration(),
"${url}log_meeting_event",
LogLevel.INFO
)
mediaProjectionManager = activity.getSystemService(Context.MEDIA_PROJECTION_SERVICE) as MediaProjectionManager
powerManager = activity.getSystemService(Context.POWER_SERVICE) as PowerManager
view.findViewById<TextView>(R.id.textViewMeetingId)?.text = arguments?.getString(
HomeActivity.MEETING_ID_KEY
) as String
setupButtonsBar(view)
setupSubViews(view)
setupTab(view)
setupAudioDeviceSelectionDialog()
setupAdditionalOptionsDialog()
noVideoOrScreenShareAvailable = view.findViewById(R.id.noVideoOrScreenShareAvailable)
refreshNoVideosOrScreenShareAvailableText()
selectTab(meetingModel.tabIndex)
setupAudioVideoFacadeObservers()
val audioMode = arguments?.getInt(HomeActivity.AUDIO_MODE_KEY)?.let { intValue ->
AudioMode.from(intValue, defaultAudioMode = AudioMode.Stereo48K)
} ?: AudioMode.Stereo48K
val audioVideoConfig = AudioVideoConfiguration(audioMode = audioMode)
// Start Audio Video
audioVideo.start(audioVideoConfig)
audioVideo.startRemoteVideo()
return view
}