in android/app/src/main/java/com/amazonaws/services/chime/rndemo/NativeMobileSDKBridge.kt [63:102]
fun startMeeting(meetingInfo: ReadableMap, attendeeInfo: ReadableMap) {
logger.info(TAG, "Called startMeeting")
currentActivity?.let { activity ->
if (meetingSession != null) {
meetingSession?.audioVideo?.stop()
meetingSession = null
}
try {
val sessionConfig = createSessionConfiguration(meetingInfo, attendeeInfo)
val meetingSession = sessionConfig?.let {
DefaultMeetingSession(
it,
logger,
activity.applicationContext
)
}
if (meetingSession != null) {
NativeMobileSDKBridge.meetingSession = meetingSession
if (!hasPermissionsAlready()) {
val permissionAwareActivity = activity as PermissionAwareActivity
permissionAwareActivity.requestPermissions(webRtcPermissionPermission, WEBRTC_PERMISSION_REQUEST_CODE, this)
return
}
startAudioVideo()
} else {
logger.error(TAG, "Failed to create meeting session")
eventEmitter.sendReactNativeEvent(RN_EVENT_ERROR, "Failed to create meeting session")
}
} catch (exception: Exception) {
logger.error(TAG, "Error starting the meeting session: ${exception.localizedMessage}")
eventEmitter.sendReactNativeEvent(RN_EVENT_ERROR, "Error starting the meeting session: ${exception.localizedMessage}")
return
}
}
}