diff --git a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt index 05be6a96e..4e4dff4f9 100644 --- a/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/history/fragments/MasterCallLogsFragment.kt @@ -223,17 +223,14 @@ class MasterCallLogsFragment : MasterFragment - // To remove the GRUU if any - val remoteAddress = callLogGroup.lastCallLog.remoteAddress - val cleanAddress = remoteAddress.clone() - cleanAddress.clean() - - val conferenceInfo = coreContext.core.findConferenceInformationFromUri(remoteAddress) + val callLog = callLogGroup.lastCallLog + val conferenceInfo = callLog.conferenceInfo when { conferenceInfo != null -> { - navigateToConferenceWaitingRoom(remoteAddress.asStringUriOnly(), conferenceInfo.subject) + navigateToConferenceWaitingRoom(conferenceInfo.uri?.asStringUriOnly().orEmpty(), conferenceInfo.subject) } coreContext.core.callsNb > 0 -> { + val cleanAddress = LinphoneUtils.getCleanedAddress(callLog.remoteAddress) Log.i("[History] Starting dialer with pre-filled URI ${cleanAddress.asStringUriOnly()}, is transfer? ${sharedViewModel.pendingCallTransfer}") sharedViewModel.updateDialerAnimationsBasedOnDestination.value = Event(R.id.masterCallLogsFragment) val args = Bundle() @@ -243,6 +240,7 @@ class MasterCallLogsFragment : MasterFragment { + val cleanAddress = LinphoneUtils.getCleanedAddress(callLog.remoteAddress) val localAddress = callLogGroup.lastCallLog.localAddress Log.i("[History] Starting call to ${cleanAddress.asStringUriOnly()} with local address ${localAddress.asStringUriOnly()}") coreContext.startCall(cleanAddress, localAddress = localAddress) diff --git a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt index fe50cb439..8699f390a 100644 --- a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt +++ b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt @@ -67,6 +67,13 @@ class LinphoneUtils { } } + fun getCleanedAddress(address: Address): Address { + // To remove the GRUU if any + val cleanAddress = address.clone() + cleanAddress.clean() + return cleanAddress + } + fun isLimeAvailable(): Boolean { val core = coreContext.core return core.limeX3DhAvailable() && core.isLimeX3DhEnabled &&