From cc15ab1c6c9a71773449e017ed5c83bcc5ec2598 Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Fri, 29 May 2026 18:58:35 +0500 Subject: [PATCH] potential nfc bug fix --- .../sh/sar/basedbank/nfc/BmlHostCardEmulatorService.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/sh/sar/basedbank/nfc/BmlHostCardEmulatorService.kt b/app/src/main/java/sh/sar/basedbank/nfc/BmlHostCardEmulatorService.kt index 0f22728..d48815b 100644 --- a/app/src/main/java/sh/sar/basedbank/nfc/BmlHostCardEmulatorService.kt +++ b/app/src/main/java/sh/sar/basedbank/nfc/BmlHostCardEmulatorService.kt @@ -28,7 +28,7 @@ class BmlHostCardEmulatorService : HostApduService() { INS_SELECT -> handleSelect(apdu) INS_GPO -> handleGpo() INS_READ -> handleReadRecord() - else -> SW_UNKNOWN_ERROR + else -> SW_INS_NOT_SUPPORTED } } @@ -141,7 +141,7 @@ class BmlHostCardEmulatorService : HostApduService() { val data: ByteArray? init { - if (raw.size < 4) { + if (raw.size < 5) { isError = true; ins = -1; data = null } else { isError = false @@ -166,8 +166,9 @@ class BmlHostCardEmulatorService : HostApduService() { 0x32,0x50,0x41,0x59,0x2E,0x53,0x59,0x53,0x2E,0x44,0x44,0x46,0x30,0x31 ) - private const val SW_OK_HEX = "9000" - private val SW_UNKNOWN_ERROR = byteArrayOf(0x6F.toByte(), 0x00.toByte()) + private const val SW_OK_HEX = "9000" + private val SW_UNKNOWN_ERROR = byteArrayOf(0x6F.toByte(), 0x00.toByte()) + private val SW_INS_NOT_SUPPORTED = byteArrayOf(0x6D.toByte(), 0x00.toByte()) @Volatile var activeToken: BmlWalletToken? = null @Volatile var onTransactionComplete: ((success: Boolean) -> Unit)? = null