Merge pull request #3961 from element-hq/feature/bma/passphraseIssue

Fix navigation issue when entering recovery key after navigating from the banner
This commit is contained in:
Benoit Marty 2024-11-29 09:11:21 +01:00 committed by GitHub
commit 0fb5ffe3dc
2 changed files with 9 additions and 3 deletions

View file

@ -400,6 +400,11 @@ class LoggedInFlowNode @AssistedInject constructor(
is NavTarget.SecureBackup -> { is NavTarget.SecureBackup -> {
secureBackupEntryPoint.nodeBuilder(this, buildContext) secureBackupEntryPoint.nodeBuilder(this, buildContext)
.params(SecureBackupEntryPoint.Params(initialElement = navTarget.initialElement)) .params(SecureBackupEntryPoint.Params(initialElement = navTarget.initialElement))
.callback(object : SecureBackupEntryPoint.Callback {
override fun onDone() {
backstack.pop()
}
})
.build() .build()
} }
NavTarget.Ftue -> { NavTarget.Ftue -> {

View file

@ -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.features.securebackup.impl.setup.SecureBackupSetupNode
import io.element.android.libraries.architecture.BackstackView import io.element.android.libraries.architecture.BackstackView
import io.element.android.libraries.architecture.BaseFlowNode 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.architecture.createNode
import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.SessionScope
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@ -111,10 +112,10 @@ class SecureBackupFlowNode @AssistedInject constructor(
NavTarget.EnterRecoveryKey -> { NavTarget.EnterRecoveryKey -> {
val callback = object : SecureBackupEnterRecoveryKeyNode.Callback { val callback = object : SecureBackupEnterRecoveryKeyNode.Callback {
override fun onEnterRecoveryKeySuccess() { override fun onEnterRecoveryKeySuccess() {
if (callbacks.isNotEmpty()) { if (backstack.canPop()) {
callbacks.forEach { it.onDone() }
} else {
backstack.pop() backstack.pop()
} else {
callbacks.forEach { it.onDone() }
} }
} }
} }