diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt index 3bca100db..555ed81c1 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt @@ -38,6 +38,7 @@ import org.linphone.databinding.AssistantQrCodeScannerFragmentBinding import org.linphone.ui.GenericActivity import org.linphone.ui.GenericFragment import org.linphone.ui.assistant.viewmodel.QrCodeViewModel +import org.linphone.ui.main.sso.fragment.SingleSignOnFragmentDirections @UiThread class QrCodeScannerFragment : GenericFragment() { @@ -98,6 +99,24 @@ class QrCodeScannerFragment : GenericFragment() { } } + coreContext.bearerAuthenticationRequestedEvent.observe(viewLifecycleOwner) { + it.consume { pair -> + val serverUrl = pair.first + val username = pair.second + + Log.i( + "$TAG Navigating to Single Sign On Fragment with server URL [$serverUrl] and username [$username]" + ) + if (findNavController().currentDestination?.id == R.id.qrCodeScannerFragment) { + val action = SingleSignOnFragmentDirections.actionGlobalSingleSignOnFragment( + serverUrl, + username + ) + findNavController().navigate(action) + } + } + } + if (!isCameraPermissionGranted()) { if (ActivityCompat.shouldShowRequestPermissionRationale(requireActivity(), Manifest.permission.CAMERA)) { Log.w("$TAG CAMERA permission wasn't granted yet, asking for it now")