diff --git a/tangem-core/src/main/java/com/tangem/CardSession.kt b/tangem-core/src/main/java/com/tangem/CardSession.kt index 9c338ca586..450c056997 100644 --- a/tangem-core/src/main/java/com/tangem/CardSession.kt +++ b/tangem-core/src/main/java/com/tangem/CardSession.kt @@ -74,7 +74,10 @@ class CardSession( } runnable.run(this) { result -> - stop() + when (result) { + is CompletionResult.Success -> stop() + is CompletionResult.Failure -> stopWithError(result.error) + } callback(result) } } @@ -99,7 +102,6 @@ class CardSession( } is CompletionResult.Success -> { callback(this, null) - } } } diff --git a/tangem-core/src/main/java/com/tangem/commands/Command.kt b/tangem-core/src/main/java/com/tangem/commands/Command.kt index f78e5663cb..225fa97430 100644 --- a/tangem-core/src/main/java/com/tangem/commands/Command.kt +++ b/tangem-core/src/main/java/com/tangem/commands/Command.kt @@ -91,7 +91,7 @@ abstract class Command : CardSessionRunnable { } } is CompletionResult.Failure -> - if (result.error == SessionError.TagLost()) { + if (result.error is SessionError.TagLost) { session.viewDelegate.onTagLost() } else { callback(CompletionResult.Failure(result.error))