From 0c78788a568a5bf3d7b7b07a70796f6667e30dde Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Dec 2020 16:51:17 +0300 Subject: [PATCH 1/4] Updated on 2026-08-14 --- .../main/java/com/tangem/tap/domain/twins/TwinsHelper.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt index c14680c6dd..62bf089c7a 100644 --- a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt +++ b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt @@ -42,7 +42,7 @@ class TwinsHelper { } private fun String.calculateLuhn(): Int { - return 10 - this.reversed() + val checksum = this.reversed() .mapIndexed { index, c -> val digit = if (c in '0'..'9') c - '0' else c - 'A' if (!index.isEven()) { @@ -51,8 +51,9 @@ private fun String.calculateLuhn(): Int { val newDigit = digit * 2 if (newDigit >= 10) newDigit - 9 else newDigit } - } - .sum() % 10 + }.sum() + .rem(10) + return (10 - checksum) % 10 } enum class TwinCardNumber(val number: Int) { From 336a49a63ca97b3d8a12df917b1eed0eff6141a1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Dec 2020 18:17:58 +0300 Subject: [PATCH 2/4] Updated on 2026-08-14 --- .../features/details/redux/twins/CreateTwinWalletMiddleware.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt index 279ae9a5c0..1f42e8203f 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt @@ -34,7 +34,7 @@ class CreateTwinWalletMiddleware { } is DetailsAction.CreateTwinWalletAction.Cancel.Confirm -> { twinsManager = null - store.dispatch(NavigationAction.PopBackTo()) + store.dispatch(NavigationAction.PopBackTo(AppScreen.Home)) } is DetailsAction.CreateTwinWalletAction.LaunchFirstStep -> { store.state.globalState.scanNoteResponse?.let { From c31e826d713ba2b85e890edd86bf761d1fcb472e Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Dec 2020 18:26:53 +0300 Subject: [PATCH 3/4] Updated on 2026-08-14 --- .../ui/twins/CreateTwinWalletFragment.kt | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt index a8cc0f892e..7dc481b077 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt @@ -147,16 +147,21 @@ class CreateTwinWalletFragment : Fragment(R.layout.fragment_details_twin_cards), tv_twin_title.text = getString(R.string.details_twins_recreate_title_format, cardNumber) if (state.createTwinWalletState?.showAlert == true) { - dialog = MaterialAlertDialogBuilder(requireContext()) - .setMessage(R.string.details_twins_recreate_alert) - .setPositiveButton(R.string.common_ok) { _, _ -> - store.dispatch(DetailsAction.CreateTwinWalletAction.Cancel.Confirm) - } - .setNegativeButton(R.string.common_cancel) { _, _ -> - store.dispatch(DetailsAction.CreateTwinWalletAction.HideAlert) - } - .create() - dialog?.show() + if (dialog == null) { + dialog = MaterialAlertDialogBuilder(requireContext()) + .setMessage(R.string.details_twins_recreate_alert) + .setPositiveButton(R.string.common_ok) { _, _ -> + store.dispatch(DetailsAction.CreateTwinWalletAction.Cancel.Confirm) + } + .setNegativeButton(R.string.common_cancel) { _, _ -> + dialog?.cancel() + } + .setOnCancelListener { + store.dispatch(DetailsAction.CreateTwinWalletAction.HideAlert) + } + .create() + dialog?.show() + } } else { dialog?.cancel() dialog = null From 42ba2512cd8d1d09335f24a9db4fd6cc692817a3 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Dec 2020 18:31:50 +0300 Subject: [PATCH 4/4] Updated on 2026-08-14 --- app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt index 1e0b0dc71e..b51110845a 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt @@ -89,7 +89,7 @@ class ScanNoteTask(val card: Card? = null) : CardSessionRunnable) -> Unit ) { - ReadFileDataCommand(readPrivateFiles = true).run(session) { filesResult -> + ReadFileDataCommand().run(session) { filesResult -> when (filesResult) { is CompletionResult.Success -> { val decoder = Tlv.deserialize(filesResult.data.fileData)?.let { TlvDecoder(it) }