in azure-communication-ui/demo-app/src/calling/java/com/azure/android/communication/ui/callingcompositedemoapp/CallCompositeManager.kt [80:147]
fun launch(
applicationContext: Context,
identity: String,
acsToken: String,
displayName: String,
groupId: UUID?,
roomId: String?,
meetingLink: String?,
meetingId: String?,
meetingPasscode: String?,
participantMris: String?,
) {
if (SettingsFeatures.getDisplayDismissButtonOption()) {
DismissCompositeButtonView.get(applicationContext).show(this)
} else {
DismissCompositeButtonView.get(applicationContext).hide()
}
createCallCompositeAndSubscribeToEvents(
applicationContext,
acsToken,
displayName,
identity,
)
val localOptions = getLocalOptions(applicationContext)
val participants = participantMris?.split(",")
if (!participants.isNullOrEmpty()) {
if (localOptions == null) {
callComposite?.launch(applicationContext, participants.map { CommunicationIdentifier.fromRawId(it) })
} else {
callComposite?.launch(applicationContext, participants.map { CommunicationIdentifier.fromRawId(it) }, localOptions)
}
} else {
val useDeprecatedLaunch = SettingsFeatures.getUseDeprecatedLaunch()
val remoteOptions = getRemoteOptions(
acsToken,
groupId,
meetingLink,
meetingId,
meetingPasscode,
roomId,
displayName,
)
val locator = getLocator(
groupId,
meetingLink,
meetingId,
meetingPasscode,
roomId,
)
if (localOptions == null) {
if (useDeprecatedLaunch) {
callComposite?.launch(applicationContext, remoteOptions)
} else {
callComposite?.launch(applicationContext, locator)
}
} else {
if (useDeprecatedLaunch) {
callComposite?.launch(applicationContext, remoteOptions, localOptions)
} else {
callComposite?.launch(applicationContext, locator, localOptions)
}
}
}
}