in azure-communication-ui/calling/src/main/java/com/azure/android/communication/ui/calling/CallComposite.java [827:879]
private void launchComposite(final Context context,
final CallCompositeJoinLocator locator,
final Collection<CommunicationIdentifier> participants,
final String incomingCallId,
final CallCompositeLocalOptions localOptions,
final boolean isTest) {
initAndroidThreeTen(context.getApplicationContext());
UUID groupId = null;
String meetingLink = null;
String meetingId = null;
String meetingPasscode = null;
String roomId = null;
final CallType callType;
if (locator instanceof CallCompositeGroupCallLocator) {
callType = CallType.GROUP_CALL;
groupId = ((CallCompositeGroupCallLocator) locator).getGroupId();
} else if (locator instanceof CallCompositeTeamsMeetingIdLocator) {
callType = CallType.TEAMS_MEETING;
final CallCompositeTeamsMeetingIdLocator teamsMeetingIdLocator =
(CallCompositeTeamsMeetingIdLocator) locator;
meetingId = teamsMeetingIdLocator.getMeetingId();
meetingPasscode = teamsMeetingIdLocator.getMeetingPasscode();
} else if (locator instanceof CallCompositeTeamsMeetingLinkLocator) {
callType = CallType.TEAMS_MEETING;
meetingLink = ((CallCompositeTeamsMeetingLinkLocator) locator).getMeetingLink();
} else if (locator instanceof CallCompositeRoomLocator) {
callType = CallType.ROOMS_CALL;
final CallCompositeRoomLocator roomLocator = (CallCompositeRoomLocator) locator;
roomId = roomLocator.getRoomId();
} else if (participants != null) {
callType = CallType.ONE_TO_N_OUTGOING;
} else if (incomingCallId != null) {
callType = CallType.ONE_TO_ONE_INCOMING;
} else {
throw new CallCompositeException("Not supported Call type");
}
launchComposite(context,
null,
localOptions,
isTest,
groupId,
meetingLink,
meetingId,
meetingPasscode,
roomId,
callType,
participants,
incomingCallId
);
}