diff --git a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialControllerFragment.kt b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialControllerFragment.kt index 9c6f7dda13..79a667b186 100644 --- a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialControllerFragment.kt +++ b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialControllerFragment.kt @@ -13,6 +13,7 @@ import com.simprints.feature.exitform.ExitFormResult import com.simprints.feature.externalcredential.GraphExternalCredentialInternalDirections import com.simprints.feature.externalcredential.R import com.simprints.feature.externalcredential.model.ExternalCredentialParams +import com.simprints.feature.externalcredential.screens.select.ExternalCredentialSelectFragmentDirections import com.simprints.infra.uibase.navigation.finishWithResult import com.simprints.infra.uibase.navigation.handleResult import com.simprints.infra.uibase.navigation.navigateSafely @@ -76,15 +77,13 @@ internal class ExternalCredentialControllerFragment : Fragment(R.layout.fragment private fun initListeners() { requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { when (internalNavController?.currentDestination?.id) { - R.id.externalCredentialSelectFragment, R.id.externalCredentialSearch -> { - // Exit form navigation - findNavController().navigateSafely( - this@ExternalCredentialControllerFragment, - R.id.action_global_refusalFragment, - ) + R.id.externalCredentialSearch -> { + internalNavController?.navigate(R.id.externalCredentialSkip) } - else -> internalNavController?.popBackStack() + R.id.externalCredentialSkip, R.id.externalCredentialScanQr, R.id.externalCredentialScanOcr -> { + internalNavController?.popBackStack() + } } } } diff --git a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/select/ExternalCredentialSelectFragment.kt b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/select/ExternalCredentialSelectFragment.kt index 630034402c..7e942024e0 100644 --- a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/select/ExternalCredentialSelectFragment.kt +++ b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/select/ExternalCredentialSelectFragment.kt @@ -5,6 +5,7 @@ import android.os.Bundle import android.view.View import android.widget.Button import android.widget.TextView +import androidx.activity.addCallback import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.fragment.app.viewModels @@ -71,6 +72,9 @@ internal class ExternalCredentialSelectFragment : Fragment(R.layout.fragment_ext onCancel = ::dismissDialog, ) } + requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { + binding.skipScanning.performClick() + } } private fun initViews(types: List) {