diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt index 3fb2d0949a..241f132252 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt @@ -28,6 +28,7 @@ import io.element.android.features.securebackup.impl.root.SecureBackupRootNode import io.element.android.features.securebackup.impl.setup.SecureBackupSetupNode import io.element.android.libraries.architecture.BackstackView import io.element.android.libraries.architecture.BaseFlowNode +import io.element.android.libraries.architecture.appyx.canPop import io.element.android.libraries.architecture.createNode import io.element.android.libraries.di.SessionScope import kotlinx.parcelize.Parcelize @@ -111,15 +112,10 @@ class SecureBackupFlowNode @AssistedInject constructor( NavTarget.EnterRecoveryKey -> { val callback = object : SecureBackupEnterRecoveryKeyNode.Callback { override fun onEnterRecoveryKeySuccess() { - when (plugins.filterIsInstance().first().initialElement) { - SecureBackupEntryPoint.InitialTarget.EnterRecoveryKey -> { - callbacks.forEach { it.onDone() } - } - SecureBackupEntryPoint.InitialTarget.ResetIdentity, - SecureBackupEntryPoint.InitialTarget.Root, - SecureBackupEntryPoint.InitialTarget.SetUpRecovery -> { - backstack.pop() - } + if (backstack.canPop()) { + backstack.pop() + } else { + callbacks.forEach { it.onDone() } } } }