Update error mappings for Link new device

This commit is contained in:
Hugh Nimmo-Smith 2026-04-28 11:22:25 +01:00
parent 5e8db74003
commit 5c9d8d917c

View file

@ -183,20 +183,15 @@ class LinkNewDeviceFlowNode(
private fun navigateToError(errorType: ErrorType) {
// Map the error to an error screen
// TODO Update this mapping
val error = when (errorType) {
is ErrorType.DeviceIdAlreadyInUse -> ErrorScreenType.UnknownError
is ErrorType.InvalidCheckCode -> ErrorScreenType.InsecureChannelDetected
is ErrorType.MissingSecretsBackup -> ErrorScreenType.UnknownError
is ErrorType.NotFound -> ErrorScreenType.Expired
is ErrorType.DeviceNotFound -> ErrorScreenType.UnknownError
is ErrorType.Unknown -> ErrorScreenType.UnknownError
is ErrorType.UnsupportedProtocol -> ErrorScreenType.UnknownError
is ErrorType.Cancelled -> ErrorScreenType.UnknownError
is ErrorType.InvalidCheckCode -> ErrorScreenType.Mismatch2Digits
is ErrorType.UnsupportedProtocol -> ErrorScreenType.ProtocolNotSupported
is ErrorType.Cancelled -> ErrorScreenType.Cancelled
is ErrorType.ConnectionInsecure -> ErrorScreenType.InsecureChannelDetected
is ErrorType.Expired -> ErrorScreenType.Expired
is ErrorType.OtherDeviceAlreadySignedIn -> ErrorScreenType.UnknownError
is ErrorType.UnsupportedQrCodeType -> ErrorScreenType.UnknownError
is ErrorType.Expired, is ErrorType.NotFound, is ErrorType.DeviceNotFound -> ErrorScreenType.Expired
is ErrorType.OtherDeviceAlreadySignedIn -> ErrorScreenType.UnknownError // TODO: should show other_device_already_signed_in screen with checkmark when available
is ErrorType.UnsupportedQrCodeType -> ErrorScreenType.UnknownError // TODO: check if we expect to hit this here or if it should be caught earlier on
is ErrorType.MissingSecretsBackup, is ErrorType.DeviceIdAlreadyInUse, is ErrorType.Unknown -> ErrorScreenType.UnknownError
}
// It is OK to push on backstack, since when user leaves the error screen, a new root will be set,
// or the whole flow will be popped.