From 7519c69de19609c2d934368ed1f137eb5e23433b Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 15 Jun 2023 10:28:17 +0200 Subject: [PATCH] Fixed issue where we could return on conference waiting room after hanging up a conference call --- .../main/java/org/linphone/activities/GenericFragment.kt | 7 +++++-- .../viewmodels/ConferenceWaitingRoomViewModel.kt | 8 +++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/GenericFragment.kt b/app/src/main/java/org/linphone/activities/GenericFragment.kt index 0d1f89fc0..ab8db20ef 100644 --- a/app/src/main/java/org/linphone/activities/GenericFragment.kt +++ b/app/src/main/java/org/linphone/activities/GenericFragment.kt @@ -83,7 +83,9 @@ abstract class GenericFragment : Fragment() { } } } catch (ise: IllegalStateException) { - Log.e("[Generic Fragment] ${getFragmentRealClassName()} Can't go back: $ise") + Log.e( + "[Generic Fragment] ${getFragmentRealClassName()}.handleOnBackPressed() Can't go back: $ise" + ) } } } @@ -137,7 +139,8 @@ abstract class GenericFragment : Fragment() { try { requireActivity().onBackPressedDispatcher.onBackPressed() } catch (ise: IllegalStateException) { - Log.e("[Generic Fragment] ${getFragmentRealClassName()} can't go back: $ise") + Log.w("[Generic Fragment] ${getFragmentRealClassName()}.goBack() can't go back: $ise") + onBackPressedCallback.handleOnBackPressed() } } diff --git a/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceWaitingRoomViewModel.kt b/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceWaitingRoomViewModel.kt index d1bf3de75..478329d8a 100644 --- a/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceWaitingRoomViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceWaitingRoomViewModel.kt @@ -398,13 +398,15 @@ class ConferenceWaitingRoomViewModel : MessageNotifierViewModel() { private fun onAudioDevicesListUpdated() { val bluetoothDeviceAvailable = AudioRouteUtils.isBluetoothAudioRouteAvailable() + if (!bluetoothDeviceAvailable && audioRoutesEnabled.value == true) { + Log.w( + "[Conference Waiting Room] Bluetooth device no longer available, switching back to default microphone & earpiece/speaker" + ) + } audioRoutesEnabled.value = bluetoothDeviceAvailable if (!bluetoothDeviceAvailable) { audioRoutesSelected.value = false - Log.w( - "[Conference Waiting Room] Bluetooth device no longer available, switching back to default microphone & earpiece/speaker" - ) if (isBluetoothHeadsetSelected.value == true) { for (audioDevice in coreContext.core.audioDevices) { if (isVideoEnabled.value == true) {