From 9273b062fa51784c0597d60bb1f18eceeb668544 Mon Sep 17 00:00:00 2001 From: djwok <137027315+djwok@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:26:22 +0900 Subject: [PATCH 1/7] Add continuous Reader scanning and cleanup --- README.md | 4 +- .../ReactNativeBleNfcReaderModule.kt | 48 ++++++++++++++++++- docs/adr/0004-use-bounded-reader-scans.md | 5 +- ios/ReactNativeBleNfcReaderModule.swift | 13 ++++- src/ReactNativeBleNfcReader.test.ts | 7 ++- src/ReactNativeBleNfcReader.types.ts | 1 + src/android-native-contract.test.ts | 37 ++++++++++++++ 7 files changed, 107 insertions(+), 8 deletions(-) create mode 100644 src/android-native-contract.test.ts diff --git a/README.md b/README.md index 010fc8f..a769807 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,12 @@ On Android, missing Bluetooth/location permission may report as `denied` before ### Reader scanning -- `scanReaders({ timeoutMs })` — bounded scan; resolves with discovered Readers. +- `scanReaders({ timeoutMs, continuous })` — bounded by default; set `continuous: true` to scan until explicitly stopped. - `addReaderDiscoveredListener()` — receive Readers during the scan window. - `stopReaderScan()` — end the active scan early. +Continuous scans emit discovered Readers in real time and use `timeoutMs` (5 seconds by default) for each supported Reader model before rotating to the next. Their promise resolves when `stopReaderScan()` or `connectReader()` stops the scan. Call `stopReaderScan()` when leaving the owning screen. + Starting a new `scanReaders()` while one is active supersedes the prior scan: the prior promise resolves with partial results collected so far, and discovery events for that scan stop once it ends. ### Reader connection diff --git a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt index 63edb25..d86ac8e 100644 --- a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt +++ b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt @@ -74,6 +74,9 @@ class ReactNativeBleNfcReaderModule : Module() { CARD_MONITOR_ERROR_EVENT ) + OnDestroy { cleanup() } + OnActivityDestroys { cleanup() } + AsyncFunction("getReaderPermissionStatus") { getReaderPermissionStatus() } @@ -330,7 +333,11 @@ class ReactNativeBleNfcReaderModule : Module() { activeScanManager = manager scanPromise = promise scanTypeIndex = 0 - scanTypeDelayMs = maxOf(250L, timeoutMs / scanTerminalTypes.size) + if (options?.continuous == true) { + scanTypeDelayMs = timeoutMs + } else { + scanTypeDelayMs = maxOf(250L, timeoutMs / scanTerminalTypes.size) + } discoveredReaders.clear() synchronized(readerLock) { val activeId = activeReaderId @@ -343,6 +350,10 @@ class ReactNativeBleNfcReaderModule : Module() { startCurrentScanType() + if (options?.continuous == true) { + return + } + scanStopRunnable = Runnable { finishScan() } @@ -971,6 +982,38 @@ class ReactNativeBleNfcReaderModule : Module() { } } + private fun cleanup() { + try { + finishScan() + } catch (_: Exception) { + } + stopCardMonitorInternal() + + val connection = synchronized(readerLock) { + val manager = activeReaderManager + val terminal = activeReaderTerminal + activeReaderId = null + activeReaderTerminal = null + activeReaderManager = null + knownTerminals.clear() + + if (manager == null || terminal == null) { + null + } else { + Pair(manager, terminal) + } + } + + synchronized(terminalIoLock) { + disconnectActiveCardLocked() + val (manager, terminal) = connection ?: return@synchronized + try { + manager.disconnect(terminal) + } catch (_: Exception) { + } + } + } + private fun finishScan(): ArrayList> { scanStopRunnable?.let(scanHandler::removeCallbacks) scanTypeRunnable?.let(scanHandler::removeCallbacks) @@ -1000,6 +1043,9 @@ class ReactNativeBleNfcReaderModule : Module() { private class ScanReadersOptions : Record { @Field var timeoutMs: Double? = null + + @Field + var continuous: Boolean? = null } private class CardMonitorOptions : Record { diff --git a/docs/adr/0004-use-bounded-reader-scans.md b/docs/adr/0004-use-bounded-reader-scans.md index ce25b03..f1f0991 100644 --- a/docs/adr/0004-use-bounded-reader-scans.md +++ b/docs/adr/0004-use-bounded-reader-scans.md @@ -1,4 +1,3 @@ -# Use Bounded Reader Scans - -The v0.1 API exposes bounded Reader scans with a caller-provided timeout and emits discovery events during that scan window. It does not support indefinite background scanning until a real app workflow needs it. +# Use Bounded Reader Scans By Default +Reader scans are bounded by default with a caller-provided timeout. Setup screens may opt into continuous scanning and must stop it when leaving the screen; connecting a Reader also stops the active scan. diff --git a/ios/ReactNativeBleNfcReaderModule.swift b/ios/ReactNativeBleNfcReaderModule.swift index 568ed61..6674d7f 100644 --- a/ios/ReactNativeBleNfcReaderModule.swift +++ b/ios/ReactNativeBleNfcReaderModule.swift @@ -249,7 +249,11 @@ public class ReactNativeBleNfcReaderModule: Module, BluetoothTerminalManagerDele scanManager.delegate = self scanPromise = promise scanTypeIndex = 0 - scanTypeDelay = max(0.25, timeoutMs / Double(scanTerminalTypes.count) / 1000.0) + if options?.continuous == true { + scanTypeDelay = timeoutMs / 1000.0 + } else { + scanTypeDelay = max(0.25, timeoutMs / Double(scanTerminalTypes.count) / 1000.0) + } discoveredReaderIds = [] discoveredReaders = [] knownTerminals = [:] @@ -259,6 +263,10 @@ public class ReactNativeBleNfcReaderModule: Module, BluetoothTerminalManagerDele startCurrentScanType() + if options?.continuous == true { + return + } + scanTimer = Timer.scheduledTimer(withTimeInterval: timeoutMs / 1000.0, repeats: false) { [weak self] _ in _ = self?.finishScan() } @@ -903,6 +911,9 @@ public class ReactNativeBleNfcReaderModule: Module, BluetoothTerminalManagerDele private struct ScanReadersOptions: Record { @Field var timeoutMs: Double? + + @Field + var continuous: Bool? } private struct CardMonitorOptions: Record { diff --git a/src/ReactNativeBleNfcReader.test.ts b/src/ReactNativeBleNfcReader.test.ts index d4a03ec..3517735 100644 --- a/src/ReactNativeBleNfcReader.test.ts +++ b/src/ReactNativeBleNfcReader.test.ts @@ -166,11 +166,14 @@ describe('public native wrappers', () => { it('passes bounded scan options to native', async () => { mockNativeModule.scanReaders = jest.fn(async () => [{ id: 'reader-1', name: 'Reader 1' }]); - await expect(scanReaders({ timeoutMs: 1000 })).resolves.toEqual([ + await expect(scanReaders({ timeoutMs: 1000, continuous: true })).resolves.toEqual([ { id: 'reader-1', name: 'Reader 1' }, ]); - expect(mockNativeModule.scanReaders).toHaveBeenCalledWith({ timeoutMs: 1000 }); + expect(mockNativeModule.scanReaders).toHaveBeenCalledWith({ + timeoutMs: 1000, + continuous: true, + }); }); it('rejects invalid scan timeouts before native calls', async () => { diff --git a/src/ReactNativeBleNfcReader.types.ts b/src/ReactNativeBleNfcReader.types.ts index 71ac816..44608af 100644 --- a/src/ReactNativeBleNfcReader.types.ts +++ b/src/ReactNativeBleNfcReader.types.ts @@ -18,6 +18,7 @@ export type Reader = { export type ScanReadersOptions = { timeoutMs?: number; + continuous?: boolean; }; export type CardMonitorOptions = { diff --git a/src/android-native-contract.test.ts b/src/android-native-contract.test.ts new file mode 100644 index 0000000..d802a00 --- /dev/null +++ b/src/android-native-contract.test.ts @@ -0,0 +1,37 @@ +const { readFileSync } = require('fs'); +const { join } = require('path'); + +const androidModule = readFileSync( + join( + __dirname, + '..', + 'android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt' + ), + 'utf8' +); +const scanReaders = androidModule.match( + /private fun scanReaders[\s\S]*?(?= private fun normalizedTimeoutMs)/ +)?.[0]; + +describe('Android native contracts', () => { + it('keeps scanning with a full timeout per Reader model when requested', () => { + expect(scanReaders).toMatch( + /if \(options\?\.continuous == true\) \{\s*scanTypeDelayMs = timeoutMs/ + ); + expect(scanReaders).toContain( + 'scanTypeDelayMs = maxOf(250L, timeoutMs / scanTerminalTypes.size)' + ); + expect(scanReaders).toMatch( + /startCurrentScanType\(\)\s*if \(options\?\.continuous == true\) \{\s*return\s*\}\s*scanStopRunnable/ + ); + expect(androidModule).toMatch(/private fun connectReader[\s\S]*?finishScan\(\)/); + }); + + it('releases Reader resources when the app context or owning activity is destroyed', () => { + expect(androidModule).toContain('OnDestroy { cleanup() }'); + expect(androidModule).toContain('OnActivityDestroys { cleanup() }'); + expect(androidModule).toMatch( + /private fun cleanup\(\)[\s\S]*finishScan\(\)[\s\S]*stopCardMonitorInternal\(\)[\s\S]*disconnectActiveCardLocked\(\)[\s\S]*manager\.disconnect\(terminal\)/ + ); + }); +}); From 7e8c4bb81be65eeba36e9bfda0fd144ebd0b4bad Mon Sep 17 00:00:00 2001 From: djwok <137027315+djwok@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:35:04 +0900 Subject: [PATCH 2/7] Bump version to 0.2.3 --- android/build.gradle | 4 ++-- ios/ReactNativeBleNfcReader.podspec | 2 +- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 938ec19..9413f09 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,14 +4,14 @@ plugins { } group = 'expo.modules.blenfcreader' -version = '0.2.0' +version = '0.2.3' android { namespace "expo.modules.blenfcreader" defaultConfig { minSdkVersion 23 versionCode 1 - versionName "0.2.0" + versionName "0.2.3" } lintOptions { abortOnError false diff --git a/ios/ReactNativeBleNfcReader.podspec b/ios/ReactNativeBleNfcReader.podspec index 29be8c3..518f6ed 100644 --- a/ios/ReactNativeBleNfcReader.podspec +++ b/ios/ReactNativeBleNfcReader.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'ReactNativeBleNfcReader' - s.version = '0.2.0' + s.version = '0.2.3' s.summary = 'React Native BLE NFC reader' s.description = 'Expo native module for ACS BLE NFC readers' s.author = 'countertek' diff --git a/package.json b/package.json index de7cdbc..845524f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@countertek/react-native-ble-nfc-reader", - "version": "0.2.2", + "version": "0.2.3", "description": "Expo native module for ACS BLE NFC Readers", "main": "build/index.js", "types": "build/index.d.ts", From 8d2459db8fa7ac8ada8f6b41ef3d80b1d9f3a5bd Mon Sep 17 00:00:00 2001 From: djwok <137027315+djwok@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:41:54 +0900 Subject: [PATCH 3/7] Demonstrate continuous scanning in example app --- example/app/index.tsx | 40 +++++++++++++++++++++----------- src/example-app-contract.test.ts | 16 +++++++++++++ 2 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 src/example-app-contract.test.ts diff --git a/example/app/index.tsx b/example/app/index.tsx index 5328b9c..b716996 100644 --- a/example/app/index.tsx +++ b/example/app/index.tsx @@ -1,4 +1,5 @@ -import { useEffect, useState } from 'react'; +import { useCallback, useEffect, useState } from 'react'; +import { useFocusEffect } from 'expo-router'; import { Alert, ScrollView, StyleSheet, Text, View } from 'react-native'; import { addCardPresentListener, @@ -88,7 +89,7 @@ export default function ReaderTestScreen() { setConnectedReader(null); setCardMonitorRunning(false); setCardPresence('unknown'); - setReaders(await scanReaders({ timeoutMs: 5000 })); + await scanReaders({ continuous: true, timeoutMs: 5000 }); setMessage(''); } catch (error) { setMessage(formatError(error)); @@ -110,6 +111,11 @@ export default function ReaderTestScreen() { async function connectToReader(readerId: string) { try { + if (scanning) { + setReaders(await stopReaderScan()); + setScanning(false); + } + setConnectedReader(await connectReader(readerId)); setCardMonitorRunning(false); setCardPresence('unknown'); @@ -302,15 +308,18 @@ export default function ReaderTestScreen() { void refreshPermissionStatus(); }, []); - useEffect(() => { - const subscription = addReaderDiscoveredListener((event) => { - setReaders((currentReaders) => addReader(currentReaders, event.reader)); - }); + useFocusEffect( + useCallback(() => { + const subscription = addReaderDiscoveredListener((event) => { + setReaders((currentReaders) => addReader(currentReaders, event.reader)); + }); - return () => { - subscription.remove(); - }; - }, []); + return () => { + subscription.remove(); + void stopReaderScan().catch(() => undefined); + }; + }, []) + ); useEffect(() => { const presentSubscription = addCardPresentListener((event) => { @@ -358,6 +367,11 @@ export default function ReaderTestScreen() { + 0 ? 'good' : 'default'} + /> @@ -383,12 +397,12 @@ export default function ReaderTestScreen() {
+ detail="Readers appear as they are discovered. Connecting, stopping, or leaving this screen ends the continuous scan."> @@ -411,7 +425,7 @@ export default function ReaderTestScreen() { connectToReader(reader.id)} title={connected ? 'Connected' : 'Connect'} /> diff --git a/src/example-app-contract.test.ts b/src/example-app-contract.test.ts new file mode 100644 index 0000000..b53a214 --- /dev/null +++ b/src/example-app-contract.test.ts @@ -0,0 +1,16 @@ +const { readFileSync } = require('fs'); +const { join } = require('path'); + +const exampleScreen = readFileSync(join(__dirname, '..', 'example/app/index.tsx'), 'utf8'); + +describe('example app continuous scan contract', () => { + it('streams until stopped by the user, navigation, or connection', () => { + expect(exampleScreen).toContain('await scanReaders({ continuous: true, timeoutMs: 5000 })'); + expect(exampleScreen).toMatch( + /useFocusEffect[\s\S]*addReaderDiscoveredListener[\s\S]*stopReaderScan/ + ); + expect(exampleScreen).toMatch( + /if \(scanning\) \{[\s\S]*stopReaderScan\(\)[\s\S]*connectReader\(readerId\)/ + ); + }); +}); From 1591856515ac56c76193590ce7c7b6ef36271423 Mon Sep 17 00:00:00 2001 From: djwok <137027315+djwok@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:49:14 +0900 Subject: [PATCH 4/7] Scan Android Reader models concurrently --- README.md | 2 +- android/build.gradle | 4 +- .../ReactNativeBleNfcReaderModule.kt | 101 +++++++++--------- ios/ReactNativeBleNfcReader.podspec | 2 +- package.json | 2 +- src/android-native-contract.test.ts | 12 +-- 6 files changed, 58 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index a769807..89c1c8e 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ On Android, missing Bluetooth/location permission may report as `denied` before - `addReaderDiscoveredListener()` — receive Readers during the scan window. - `stopReaderScan()` — end the active scan early. -Continuous scans emit discovered Readers in real time and use `timeoutMs` (5 seconds by default) for each supported Reader model before rotating to the next. Their promise resolves when `stopReaderScan()` or `connectReader()` stops the scan. Call `stopReaderScan()` when leaving the owning screen. +Continuous scans emit discovered Readers in real time. Android scans all supported Reader models concurrently; iOS uses the vendor's model-specific scan API. Their promise resolves when `stopReaderScan()` or `connectReader()` stops the scan. Call `stopReaderScan()` when leaving the owning screen. Starting a new `scanReaders()` while one is active supersedes the prior scan: the prior promise resolves with partial results collected so far, and discovery events for that scan stop once it ends. diff --git a/android/build.gradle b/android/build.gradle index 9413f09..42e3a06 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,14 +4,14 @@ plugins { } group = 'expo.modules.blenfcreader' -version = '0.2.3' +version = '0.2.4' android { namespace "expo.modules.blenfcreader" defaultConfig { minSdkVersion 23 versionCode 1 - versionName "0.2.3" + versionName "0.2.4" } lintOptions { abortOnError false diff --git a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt index d86ac8e..95f3b26 100644 --- a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt +++ b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt @@ -8,7 +8,6 @@ import androidx.core.app.ActivityCompat import android.os.Bundle import android.os.Handler import android.os.Looper -import com.acs.smartcardio.BluetoothSmartCard import com.acs.smartcardio.BluetoothTerminalManager import expo.modules.interfaces.permissions.PermissionsStatus import expo.modules.kotlin.Promise @@ -47,7 +46,8 @@ class ReactNativeBleNfcReaderModule : Module() { ) private val discoveredReaders = LinkedHashMap>() private val knownTerminals = LinkedHashMap() - private var activeScanManager: BluetoothTerminalManager? = null + private val knownTerminalManagers = LinkedHashMap() + private val activeScanManagers = ArrayList() private var activeReaderId: String? = null private var activeReaderTerminal: CardTerminal? = null private var activeReaderManager: BluetoothTerminalManager? = null @@ -59,9 +59,6 @@ class ReactNativeBleNfcReaderModule : Module() { private var activeCardMonitorOptions: NormalizedCardMonitorOptions? = null private var scanPromise: Promise? = null private var scanStopRunnable: Runnable? = null - private var scanTypeRunnable: Runnable? = null - private var scanTypeIndex = 0 - private var scanTypeDelayMs = 1000L private var readerPermissionsRequested = false override fun definition() = ModuleDefinition { @@ -329,26 +326,37 @@ class ReactNativeBleNfcReaderModule : Module() { val timeoutMs = normalizedTimeoutMs(options) finishScan() - val manager = BluetoothSmartCard.getInstance(context()).manager ?: throw ReaderScanUnavailableException() - activeScanManager = manager + val context = context() scanPromise = promise - scanTypeIndex = 0 - if (options?.continuous == true) { - scanTypeDelayMs = timeoutMs - } else { - scanTypeDelayMs = maxOf(250L, timeoutMs / scanTerminalTypes.size) - } discoveredReaders.clear() synchronized(readerLock) { val activeId = activeReaderId val activeTerminal = activeReaderTerminal + val activeManager = activeReaderManager knownTerminals.clear() - if (activeId != null && activeTerminal != null) { + knownTerminalManagers.clear() + if (activeId != null && activeTerminal != null && activeManager != null) { knownTerminals[activeId] = activeTerminal + knownTerminalManagers[activeId] = activeManager } } - startCurrentScanType() + try { + scanTerminalTypes.forEach { terminalType -> + val manager = BluetoothTerminalManager(context) + activeScanManagers.add(manager) + manager.startScan(terminalType) { terminal -> + scanHandler.post { + addDiscoveredReader(terminal, manager) + } + } + } + } catch (error: Exception) { + stopActiveScans() + scanPromise = null + discoveredReaders.clear() + throw error + } if (options?.continuous == true) { return @@ -397,29 +405,11 @@ class ReactNativeBleNfcReaderModule : Module() { ) } - private fun startCurrentScanType() { - if (scanPromise == null) { - return - } - - val manager = activeScanManager ?: return - - manager.stopScan() - manager.startScan(scanTerminalTypes[scanTypeIndex]) { terminal -> - scanHandler.post { - addDiscoveredReader(terminal) - } - } - - scanTypeIndex = (scanTypeIndex + 1) % scanTerminalTypes.size - scanTypeRunnable = Runnable { - startCurrentScanType() - } - scanHandler.postDelayed(scanTypeRunnable!!, scanTypeDelayMs) - } - - private fun addDiscoveredReader(terminal: CardTerminal) { - if (activeScanManager == null || scanPromise == null) { + private fun addDiscoveredReader( + terminal: CardTerminal, + manager: BluetoothTerminalManager + ) { + if (scanPromise == null || manager !in activeScanManagers) { return } @@ -431,6 +421,7 @@ class ReactNativeBleNfcReaderModule : Module() { synchronized(readerLock) { knownTerminals[terminal.name] = terminal + knownTerminalManagers[terminal.name] = manager } sendEvent(READER_DISCOVERED_EVENT, Bundle().apply { @@ -439,10 +430,9 @@ class ReactNativeBleNfcReaderModule : Module() { } private fun connectReader(readerId: String): Map { - val manager = readerManager() finishScan() - val terminal = synchronized(readerLock) { + val connection = synchronized(readerLock) { val activeId = activeReaderId if (activeId != null && activeId != readerId) { @@ -451,17 +441,20 @@ class ReactNativeBleNfcReaderModule : Module() { if (activeId == readerId) { val activeTerminal = activeReaderTerminal ?: throw ReaderNotConnectedException(readerId) - return@synchronized activeTerminal + val activeManager = activeReaderManager ?: throw ReaderConnectionUnavailableException() + return@synchronized Pair(activeManager, activeTerminal) } val knownTerminal = knownTerminals[readerId] ?: throw ReaderNotFoundException(readerId) + val knownManager = + knownTerminalManagers[readerId] ?: throw ReaderConnectionUnavailableException() activeReaderId = readerId activeReaderTerminal = knownTerminal - activeReaderManager = manager - knownTerminal + activeReaderManager = knownManager + Pair(knownManager, knownTerminal) } - return readerForTerminal(terminal, manager) + return readerForTerminal(connection.second, connection.first) } private fun disconnectReader(readerId: String) { @@ -912,10 +905,6 @@ class ReactNativeBleNfcReaderModule : Module() { } } - private fun readerManager(): BluetoothTerminalManager { - return BluetoothSmartCard.getInstance(context()).manager ?: throw ReaderConnectionUnavailableException() - } - private fun readerForTerminal( terminal: CardTerminal, manager: BluetoothTerminalManager? = null @@ -996,6 +985,7 @@ class ReactNativeBleNfcReaderModule : Module() { activeReaderTerminal = null activeReaderManager = null knownTerminals.clear() + knownTerminalManagers.clear() if (manager == null || terminal == null) { null @@ -1016,12 +1006,9 @@ class ReactNativeBleNfcReaderModule : Module() { private fun finishScan(): ArrayList> { scanStopRunnable?.let(scanHandler::removeCallbacks) - scanTypeRunnable?.let(scanHandler::removeCallbacks) scanStopRunnable = null - scanTypeRunnable = null - activeScanManager?.stopScan() - activeScanManager = null + stopActiveScans() val readers = ArrayList(discoveredReaders.values) discoveredReaders.clear() @@ -1032,6 +1019,16 @@ class ReactNativeBleNfcReaderModule : Module() { return readers } + private fun stopActiveScans() { + activeScanManagers.forEach { manager -> + try { + manager.stopScan() + } catch (_: Exception) { + } + } + activeScanManagers.clear() + } + private fun readerBundle(reader: Map): Bundle { return Bundle().apply { putString("id", reader["id"] as? String) diff --git a/ios/ReactNativeBleNfcReader.podspec b/ios/ReactNativeBleNfcReader.podspec index 518f6ed..25984a3 100644 --- a/ios/ReactNativeBleNfcReader.podspec +++ b/ios/ReactNativeBleNfcReader.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'ReactNativeBleNfcReader' - s.version = '0.2.3' + s.version = '0.2.4' s.summary = 'React Native BLE NFC reader' s.description = 'Expo native module for ACS BLE NFC readers' s.author = 'countertek' diff --git a/package.json b/package.json index 845524f..f26b253 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@countertek/react-native-ble-nfc-reader", - "version": "0.2.3", + "version": "0.2.4", "description": "Expo native module for ACS BLE NFC Readers", "main": "build/index.js", "types": "build/index.d.ts", diff --git a/src/android-native-contract.test.ts b/src/android-native-contract.test.ts index d802a00..a7c8427 100644 --- a/src/android-native-contract.test.ts +++ b/src/android-native-contract.test.ts @@ -14,16 +14,12 @@ const scanReaders = androidModule.match( )?.[0]; describe('Android native contracts', () => { - it('keeps scanning with a full timeout per Reader model when requested', () => { + it('scans all supported Reader models concurrently', () => { expect(scanReaders).toMatch( - /if \(options\?\.continuous == true\) \{\s*scanTypeDelayMs = timeoutMs/ - ); - expect(scanReaders).toContain( - 'scanTypeDelayMs = maxOf(250L, timeoutMs / scanTerminalTypes.size)' - ); - expect(scanReaders).toMatch( - /startCurrentScanType\(\)\s*if \(options\?\.continuous == true\) \{\s*return\s*\}\s*scanStopRunnable/ + /scanTerminalTypes\.forEach \{ terminalType ->[\s\S]*BluetoothTerminalManager\(context\)[\s\S]*manager\.startScan\(terminalType\)/ ); + expect(androidModule).not.toContain('startCurrentScanType'); + expect(androidModule).toMatch(/private fun finishScan[\s\S]*activeScanManagers\.forEach/); expect(androidModule).toMatch(/private fun connectReader[\s\S]*?finishScan\(\)/); }); From 8fa516fc189d7ae3eca6522014f4ab30df33aa1f Mon Sep 17 00:00:00 2001 From: djwok <137027315+djwok@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:50:16 +0900 Subject: [PATCH 5/7] Prioritize deployed ACS Reader models --- .../modules/blenfcreader/ReactNativeBleNfcReaderModule.kt | 6 +++--- src/android-native-contract.test.ts | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt index 95f3b26..6e00875 100644 --- a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt +++ b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt @@ -38,11 +38,11 @@ class ReactNativeBleNfcReaderModule : Module() { private val readerLock = Any() private val terminalIoLock = Any() private val scanTerminalTypes = intArrayOf( - BluetoothTerminalManager.TERMINAL_TYPE_ACR3901U_S1, + BluetoothTerminalManager.TERMINAL_TYPE_ACR1555U, BluetoothTerminalManager.TERMINAL_TYPE_ACR1255U_J1, - BluetoothTerminalManager.TERMINAL_TYPE_AMR220_C, BluetoothTerminalManager.TERMINAL_TYPE_ACR1255U_J1_V2, - BluetoothTerminalManager.TERMINAL_TYPE_ACR1555U + BluetoothTerminalManager.TERMINAL_TYPE_ACR3901U_S1, + BluetoothTerminalManager.TERMINAL_TYPE_AMR220_C ) private val discoveredReaders = LinkedHashMap>() private val knownTerminals = LinkedHashMap() diff --git a/src/android-native-contract.test.ts b/src/android-native-contract.test.ts index a7c8427..8482fc5 100644 --- a/src/android-native-contract.test.ts +++ b/src/android-native-contract.test.ts @@ -15,6 +15,9 @@ const scanReaders = androidModule.match( describe('Android native contracts', () => { it('scans all supported Reader models concurrently', () => { + expect(androidModule).toMatch( + /scanTerminalTypes = intArrayOf\(\s*BluetoothTerminalManager\.TERMINAL_TYPE_ACR1555U,\s*BluetoothTerminalManager\.TERMINAL_TYPE_ACR1255U_J1,\s*BluetoothTerminalManager\.TERMINAL_TYPE_ACR1255U_J1_V2/ + ); expect(scanReaders).toMatch( /scanTerminalTypes\.forEach \{ terminalType ->[\s\S]*BluetoothTerminalManager\(context\)[\s\S]*manager\.startScan\(terminalType\)/ ); From 52cbb162c772579568c789bf21cc2d3f5021d8b0 Mon Sep 17 00:00:00 2001 From: djwok <137027315+djwok@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:56:41 +0900 Subject: [PATCH 6/7] Use low-latency ACS scanning on Android --- android/libs/acssmcio-0.6.2.aar | Bin 101711 -> 101906 bytes docs/vendor/acs-evk/README.md | 2 + .../patches/patch-acs-android-scan-mode.mjs | 81 ++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 internal/patches/patch-acs-android-scan-mode.mjs diff --git a/android/libs/acssmcio-0.6.2.aar b/android/libs/acssmcio-0.6.2.aar index 727b782c64752a5ba36d982d785c011ec1b09929..0e57ff4839e896297dc918bd4b7289afce713ab7 100644 GIT binary patch delta 93458 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 delta 93156 zcmV)CK*GP0oCeRD23Sx_0|XQR00;;G002P%N>qFA8UO$Q7ytkO1poj5QZ96Obj!>u zQ7A4c%FIhwNGvFb&r8frRWPV9-~s?pO9KQH000OG0000%04IGF-j)CW0L}ma027y9 zi~$yrf|!2;1QY-O2nYZG06_q{iiJx4h5-P{rU3v80001EY+-YAWpgfSVRDqZbC732 zw=GzV$W3RPNX6~&Z z4GISIZ$JSNK@owN%nAf8fB*sA|HJ71p~m*M^oD=N&h*Z zrY`pOE*2zWhQ==TP9Ai|Hipj5Day9;OA2VdboQpM{xX6J!m|(~rr< z0b2cOsu|DK)0t{)BdDTueGMA4Nbg=Xni*^9PDO31@{+_-M@7`Pk}CJg9%UGMDlEnF?5ED@Bhz#L-{s+o@$yu1hFz zlu|rnuKZ_P+psRTD>CeDl^^ugsZcuX7BY3tybe8WD4tlQFR#G--TPg%JXrYv&6IMY#l>agW87YURGRY_t}OdstC+en%fm;dg^~K z!35RC04%dQPzu9vL0Mh;h$lHbP^{F2C@^99c?O@*=@cw=*ObU`){Ze-WT-eI#}2sA z+hxj$bU5fE$87-~F_#ytWd2>;RMN|Bt>;TxZH|E{VO^FX!(@j%Lz+o8%eK#77wv+L zREY?(lKcdpE8SB28FIW-R|V0M6iuCC zx=%BSe4CCScE(_3a}>Apnoz8Gg4kgAo-s2fo9!RG!JokqN2oHlWQn#iJ~#2^lA{B@ zA=nbhcw9O`IqP)e;R$p8?xlwnBn@tZT=!y>pBh?rCYDuUfbc?GV< zvBfg2dPd2Na;XfJxE-@NAMk$){~?aits)VJf8uBZ1p*@b{~(V4BZ?5E9XV7%G`=Bu zZE0u)VDO*I$j#q3Zqm|i1}qvvffW{D*4^1TIg0@|cFfGuLebq}yRUG&7R$qs`>ZnF z(5OcnN|LBD=~2$7-pps-dl{VMe!X8n{!}!`ufE=&i@w$z$@mU?tZIMot4yhI7%rWI zMOt9Ky{PSYjuX6c=wm}{svfJS*8(BkH0l&8+Kv^i z2|YtvK#9?cRjX{rRMd&lMC)~D$^O{gM~w z|E60?TCB?hGeQiZey2B5RB6-Oo5+98G41qmg-#cA-4K)S z693|L7MDJ_tFg@vbDBYu=}#dUKA;Nd(52%ZEYs7sG4yx;ZaxBW)4@7#zwe7hb;#*= ziKAH_WM&78f(RC~cSOa#3eEKAEx+$*n#<7Rjys+erX26TA=w5A>JPVr745gsdBU~^ z8@&psV|jK>`W=7S;fjX~f(n1|cvFAm&>@{;!L}IVe*mfYNf!NKU^Vs9QSGHd85?c9 zrE_7sp$_)#{3jn1fv`K$5O@v~KFa-KUjQoxHpPcM!uEE~E{1k4&i{wEG4i_BsESCuYsHed%Gy%B^B-=UyFt(g!X(gGMvrQooDm< z`29e`?6<5*18HsS5``^8AiM1LJ6wfIte-BDT(T> zv^CC&%7!ZiO}**K&AI0@h$-T`e^}s%VHzo*4>P8lG|$N;@scK!*`EW~M}L#`qR(y>8XRh2Pr0Rs$9;bu5%W9s+6hBN^R3h*T;|Xv_oK4i zCN|g7POv1(lv=;YS_bwfJ$5$2tH$6L(%1V*t{r2j=(d|*lqAj|fd=F(HNCwZK5o58 z13PYl{_TZ^)4PyjuLJj-%cUP{kNN{8d=2xImC_0#kNH#du4M3nK~rI|Ve2;w4gMFS zQ;C0Ylj+~07iFV^L}@ED5*Ki{6Oh)8R2}@HZLb~r=FSnscp_pbYayrG@gZ9EKKpy_ zb|ye;gJLn<#~<6d_Z`;n2>y0f?ehO;YP+jP7kmF%5f&s65Y7LP+W*^&l>av<{15!E zKedXkJgztzFDe7rWWJrthSc-J%crkI~#AbIoW9m6jb20@+G>Tmf zr$b0L^`XOvPP^?KX^)4eeZdtE#I2YR2_Iy7WP8!5w%m^wY80u?Q&)eSyOkK*4#_bn zsvl}|8xj14c8l4LTNm3?Z@rSLUM7D()Hn3;y~|#*&$es3V@h{7xfiCAd0K7xPuG|b0`Hvzvgfz(1D-~kE_e5c1FPmi?TJ^b zDbyT%2`-K)DPX8&nN3)qsU@eMn}aYc6gf2HXGmfQJoFFhqILVYLj&bdjNE@%gD49M zFY1s9lk4vquu(_OSm|_y;n@+!&M2+#edupUm$9`-80G7dBHhPEU{!5O+8&0aA?C{G`Xb#TG4+1R82-*PEA|2 z(tTmkYCHouwzpeSaRSi_@+|K>e-BVs$Twpu8)8UyuqS-86^Y?PUnD=s76YDLYzd1X zv8rZ%f~h~+-@%lXi zWNT?>Xd`QAXJ~HfMDpLUvaz9^u%V5Ok)g5me_2Gc_zYqJf6p|Ac#6A+paB5||2uav z{r^nk|H)X77PNrQNedqSSx7MLWHCbVWS@L*zmJr=R{APJ}l1WK9WA0}r=GHf#k zvv5Ie>z!v!?HcKrRZ^`6tEvH$a3xur&1Nm_tu>z|I(uvVe`C)}w>tGD#|sk60IK*I zJ?HK2?dLJ?f5+xW^Y-|;ulorG+4eM#IY!6JR{Mn2L$}hr598@n^~}TDL)0Tz!9I^a zU+k;Ez|nrZ%8;)boQ1W}ut7Wq&C8Qz?pwmoo}_NG4C1$zqMkm$v2IiS8WShe-uWUl z1|2If7?YxRW(^j#pb2DN2aeSnx>|z z*V<9tJQXE8m|_h1@eT?sgEv2jTptuM`D}{2nr1uu5ucGhaR~Dq#=FVpCtyqkazt85 zu7q--I;0qf^Y>kt)HT4D76(SuYqQ0nj=vltb0vSXCIp>{(ezdsv78i`bzOIHvqk<< z1YOF!f07rM%X-uxO∨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

7Yt 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 0) { + return -1; + } + + return offset; +} + +function inspectOrPatch() { + const workingDirectory = mkdtempSync(join(tmpdir(), 'acs-android-scan-mode-')); + const aarDirectory = join(workingDirectory, 'aar'); + const classDirectory = join(workingDirectory, 'classes'); + + try { + mkdirSync(aarDirectory); + mkdirSync(classDirectory); + execFileSync('unzip', ['-q', aarPath, '-d', aarDirectory]); + + const classesJar = join(aarDirectory, 'classes.jar'); + execFileSync('jar', ['xf', classesJar], { cwd: classDirectory }); + + const classPath = join(classDirectory, classEntry); + const classBytes = readFileSync(classPath); + const lowPowerOffset = findUnique(classBytes, lowPowerInstruction); + const lowLatencyOffset = findUnique(classBytes, lowLatencyInstruction); + + if (process.argv.includes('--check')) { + if (lowPowerOffset >= 0 || lowLatencyOffset < 0) { + throw new Error('ACS Android SDK is not patched for low-latency BLE scanning'); + } + + console.log('ACS Android SDK uses SCAN_MODE_LOW_LATENCY'); + return; + } + + if (lowPowerOffset < 0) { + if (lowLatencyOffset >= 0) { + console.log('ACS Android SDK already uses SCAN_MODE_LOW_LATENCY'); + return; + } + + throw new Error('Expected ACS scan-mode instruction was not found exactly once'); + } + + classBytes[lowPowerOffset] = 0x05; + writeFileSync(classPath, classBytes); + execFileSync('jar', ['uf', classesJar, '-C', classDirectory, classEntry]); + + const patchedAar = join(workingDirectory, 'acssmcio-0.6.2.aar'); + copyFileSync(aarPath, patchedAar); + execFileSync('jar', ['uf', patchedAar, '-C', dirname(classesJar), 'classes.jar']); + renameSync(patchedAar, aarPath); + console.log('Patched ACS Android SDK to use SCAN_MODE_LOW_LATENCY'); + } finally { + rmSync(workingDirectory, { recursive: true, force: true }); + } +} + +inspectOrPatch(); From d970e2eafaeb9c4c73376b489b19b06e171c23d0 Mon Sep 17 00:00:00 2001 From: djwok <137027315+djwok@users.noreply.github.com> Date: Wed, 29 Jul 2026 19:11:07 +0900 Subject: [PATCH 7/7] Use one Android BLE scan for all Readers --- README.md | 2 +- android/libs/acssmcio-0.6.2.aar | Bin 101906 -> 101907 bytes .../ReactNativeBleNfcReaderModule.kt | 114 ++++++++++++--- docs/vendor/acs-evk/README.md | 2 +- .../patches/patch-acs-android-scan-mode.mjs | 137 ++++++++++++++++-- src/android-native-contract.test.ts | 18 ++- 6 files changed, 232 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 89c1c8e..e246198 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ On Android, missing Bluetooth/location permission may report as `denied` before - `addReaderDiscoveredListener()` — receive Readers during the scan window. - `stopReaderScan()` — end the active scan early. -Continuous scans emit discovered Readers in real time. Android scans all supported Reader models concurrently; iOS uses the vendor's model-specific scan API. Their promise resolves when `stopReaderScan()` or `connectReader()` stops the scan. Call `stopReaderScan()` when leaving the owning screen. +Continuous scans emit discovered Readers in real time. Android uses one filtered, low-latency scan for all supported Reader models; iOS uses the vendor's model-specific scan API. Their promise resolves when `stopReaderScan()` or `connectReader()` stops the scan. Call `stopReaderScan()` when leaving the owning screen. Starting a new `scanReaders()` while one is active supersedes the prior scan: the prior promise resolves with partial results collected so far, and discovery events for that scan stop once it ends. diff --git a/android/libs/acssmcio-0.6.2.aar b/android/libs/acssmcio-0.6.2.aar index 0e57ff4839e896297dc918bd4b7289afce713ab7..79a5050b225e8cd8a61b21b85950f1e8391c35b2 100644 GIT binary patch delta 61119 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'Gmkt_6u3wfzSTS{Ilaq04k%EtbSXGQ=g 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%0Dyns(yMK4b4&4t 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 delta 61119 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 diff --git a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt index 6e00875..fd76c6d 100644 --- a/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt +++ b/android/src/main/java/expo/modules/blenfcreader/ReactNativeBleNfcReaderModule.kt @@ -1,13 +1,20 @@ package expo.modules.blenfcreader import android.Manifest +import android.bluetooth.BluetoothManager +import android.bluetooth.le.BluetoothLeScanner +import android.bluetooth.le.ScanCallback +import android.bluetooth.le.ScanFilter +import android.bluetooth.le.ScanResult +import android.bluetooth.le.ScanSettings import android.content.Context import android.content.pm.PackageManager import android.os.Build -import androidx.core.app.ActivityCompat import android.os.Bundle import android.os.Handler import android.os.Looper +import android.os.ParcelUuid +import androidx.core.app.ActivityCompat import com.acs.smartcardio.BluetoothTerminalManager import expo.modules.interfaces.permissions.PermissionsStatus import expo.modules.kotlin.Promise @@ -20,6 +27,7 @@ import javax.smartcardio.Card import javax.smartcardio.CardException import javax.smartcardio.CardTerminal import javax.smartcardio.CommandAPDU +import java.util.UUID private const val READER_DISCOVERED_EVENT = "onReaderDiscovered" private const val CARD_PRESENT_EVENT = "onCardPresent" @@ -37,17 +45,24 @@ class ReactNativeBleNfcReaderModule : Module() { private val scanHandler = Handler(Looper.getMainLooper()) private val readerLock = Any() private val terminalIoLock = Any() - private val scanTerminalTypes = intArrayOf( - BluetoothTerminalManager.TERMINAL_TYPE_ACR1555U, - BluetoothTerminalManager.TERMINAL_TYPE_ACR1255U_J1, - BluetoothTerminalManager.TERMINAL_TYPE_ACR1255U_J1_V2, - BluetoothTerminalManager.TERMINAL_TYPE_ACR3901U_S1, - BluetoothTerminalManager.TERMINAL_TYPE_AMR220_C + private val scanTerminalTypes = linkedMapOf( + UUID.fromString("00003970-817C-48DF-8DB2-476A8134EDE0") to + BluetoothTerminalManager.TERMINAL_TYPE_ACR1555U, + UUID.fromString("0000FFF0-0000-1000-8000-00805F9B34FB") to + BluetoothTerminalManager.TERMINAL_TYPE_ACR1255U_J1, + UUID.fromString("3C4AFFF0-4783-3DE5-A983-D348718EF133") to + BluetoothTerminalManager.TERMINAL_TYPE_ACR1255U_J1_V2, + UUID.fromString("AE448001-6E87-DF33-ADB8-51DFD29BE725") to + BluetoothTerminalManager.TERMINAL_TYPE_ACR3901U_S1, + UUID.fromString("01A50001-BA65-489A-B49C-4FF986E262EF") to + BluetoothTerminalManager.TERMINAL_TYPE_AMR220_C ) private val discoveredReaders = LinkedHashMap>() private val knownTerminals = LinkedHashMap() private val knownTerminalManagers = LinkedHashMap() - private val activeScanManagers = ArrayList() + private var activeScanManager: BluetoothTerminalManager? = null + private var activeBleScanner: BluetoothLeScanner? = null + private var activeBleScanCallback: ScanCallback? = null private var activeReaderId: String? = null private var activeReaderTerminal: CardTerminal? = null private var activeReaderManager: BluetoothTerminalManager? = null @@ -341,18 +356,50 @@ class ReactNativeBleNfcReaderModule : Module() { } } - try { - scanTerminalTypes.forEach { terminalType -> - val manager = BluetoothTerminalManager(context) - activeScanManagers.add(manager) - manager.startScan(terminalType) { terminal -> - scanHandler.post { - addDiscoveredReader(terminal, manager) - } + val bluetoothManager = + context.getSystemService(Context.BLUETOOTH_SERVICE) as? BluetoothManager + ?: throw ReaderScanUnavailableException() + val scanner = bluetoothManager.adapter?.bluetoothLeScanner + ?: throw ReaderScanUnavailableException() + val manager = BluetoothTerminalManager(context) + val terminalCallback = BluetoothTerminalManager.TerminalScanCallback { terminal -> + scanHandler.post { + addDiscoveredReader(terminal, manager) + } + } + val callback = object : ScanCallback() { + override fun onScanResult(callbackType: Int, result: ScanResult) { + val terminalType = terminalType(result) ?: return + val name = result.scanRecord?.deviceName ?: result.device.name ?: return + + try { + manager.a(terminalCallback, terminalType, result.device, name) + } catch (_: Exception) { + } + } + + override fun onScanFailed(errorCode: Int) { + scanHandler.post { + failScan() } } + } + val filters = scanTerminalTypes.keys.map { serviceUuid -> + ScanFilter.Builder() + .setServiceUuid(ParcelUuid(serviceUuid)) + .build() + } + val settings = ScanSettings.Builder() + .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY) + .build() + + activeScanManager = manager + activeBleScanner = scanner + activeBleScanCallback = callback + try { + scanner.startScan(filters, settings, callback) } catch (error: Exception) { - stopActiveScans() + stopActiveScan() scanPromise = null discoveredReaders.clear() throw error @@ -409,7 +456,7 @@ class ReactNativeBleNfcReaderModule : Module() { terminal: CardTerminal, manager: BluetoothTerminalManager ) { - if (scanPromise == null || manager !in activeScanManagers) { + if (scanPromise == null || manager !== activeScanManager) { return } @@ -429,6 +476,22 @@ class ReactNativeBleNfcReaderModule : Module() { }) } + private fun terminalType(result: ScanResult): Int? { + val serviceUuids = result.scanRecord?.serviceUuids ?: return null + + return scanTerminalTypes.entries.firstOrNull { (serviceUuid) -> + serviceUuids.any { it.uuid == serviceUuid } + }?.value + } + + private fun failScan() { + val promise = scanPromise ?: return + scanPromise = null + stopActiveScan() + discoveredReaders.clear() + promise.reject(ReaderScanUnavailableException()) + } + private fun connectReader(readerId: String): Map { finishScan() @@ -1008,7 +1071,7 @@ class ReactNativeBleNfcReaderModule : Module() { scanStopRunnable?.let(scanHandler::removeCallbacks) scanStopRunnable = null - stopActiveScans() + stopActiveScan() val readers = ArrayList(discoveredReaders.values) discoveredReaders.clear() @@ -1019,14 +1082,19 @@ class ReactNativeBleNfcReaderModule : Module() { return readers } - private fun stopActiveScans() { - activeScanManagers.forEach { manager -> + private fun stopActiveScan() { + val callback = activeBleScanCallback + + if (callback != null) { try { - manager.stopScan() + activeBleScanner?.stopScan(callback) } catch (_: Exception) { } } - activeScanManagers.clear() + + activeBleScanCallback = null + activeBleScanner = null + activeScanManager = null } private fun readerBundle(reader: Map): Bundle { diff --git a/docs/vendor/acs-evk/README.md b/docs/vendor/acs-evk/README.md index 44c391a..a390dfb 100644 --- a/docs/vendor/acs-evk/README.md +++ b/docs/vendor/acs-evk/README.md @@ -2,7 +2,7 @@ This folder keeps the upstream ACS BLE EVK Android and iOS demo projects as reference material. The package runtime uses the vendored binaries under `android/libs` and `ios/Frameworks`; this folder is not part of the build. -`android/libs/acssmcio-0.6.2.aar` is patched to replace the vendor's hardcoded `SCAN_MODE_LOW_POWER` with `SCAN_MODE_LOW_LATENCY`. Run `node internal/patches/patch-acs-android-scan-mode.mjs --check` to verify the binary patch. +`android/libs/acssmcio-0.6.2.aar` is patched to replace the vendor's hardcoded `SCAN_MODE_LOW_POWER` with `SCAN_MODE_LOW_LATENCY` and expose its terminal factory to the library's single filtered Android scan. Run `node internal/patches/patch-acs-android-scan-mode.mjs --check` to verify the binary patch. Demo capabilities not currently exposed by the library: diff --git a/internal/patches/patch-acs-android-scan-mode.mjs b/internal/patches/patch-acs-android-scan-mode.mjs index 5996507..157ea45 100644 --- a/internal/patches/patch-acs-android-scan-mode.mjs +++ b/internal/patches/patch-acs-android-scan-mode.mjs @@ -17,6 +17,8 @@ const aarPath = join(root, 'android/libs/acssmcio-0.6.2.aar'); const classEntry = 'com/acs/smartcardio/BluetoothTerminalManager.class'; const lowPowerInstruction = Buffer.from([0x03, 0xb6, 0x01, 0x55]); const lowLatencyInstruction = Buffer.from([0x05, 0xb6, 0x01, 0x55]); +const terminalFactoryDescriptor = + '(Lcom/acs/smartcardio/BluetoothTerminalManager$TerminalScanCallback;ILandroid/bluetooth/BluetoothDevice;Ljava/lang/String;)V'; function findUnique(buffer, instruction) { const offset = buffer.indexOf(instruction); @@ -28,6 +30,100 @@ function findUnique(buffer, instruction) { return offset; } +function terminalFactoryAccessOffset(buffer) { + const utf8 = new Map(); + const constantPoolCount = buffer.readUInt16BE(8); + let offset = 10; + + for (let index = 1; index < constantPoolCount; index += 1) { + const tag = buffer[offset]; + offset += 1; + + if (tag === 1) { + const length = buffer.readUInt16BE(offset); + offset += 2; + utf8.set(index, buffer.toString('utf8', offset, offset + length)); + offset += length; + continue; + } + + if (tag === 3 || tag === 4) { + offset += 4; + continue; + } + + if (tag === 5 || tag === 6) { + offset += 8; + index += 1; + continue; + } + + if ([7, 8, 16, 19, 20].includes(tag)) { + offset += 2; + continue; + } + + if ([9, 10, 11, 12, 17, 18].includes(tag)) { + offset += 4; + continue; + } + + if (tag === 15) { + offset += 3; + continue; + } + + throw new Error(`Unsupported class constant tag: ${tag}`); + } + + offset += 6; + const interfaceCount = buffer.readUInt16BE(offset); + offset += 2 + interfaceCount * 2; + + const fieldCount = buffer.readUInt16BE(offset); + offset += 2; + offset = skipMembers(buffer, offset, fieldCount); + + const methodCount = buffer.readUInt16BE(offset); + offset += 2; + + for (let index = 0; index < methodCount; index += 1) { + const accessOffset = offset; + const name = utf8.get(buffer.readUInt16BE(offset + 2)); + const descriptor = utf8.get(buffer.readUInt16BE(offset + 4)); + const attributeCount = buffer.readUInt16BE(offset + 6); + offset = skipAttributes(buffer, offset + 8, attributeCount); + + if (name === 'a' && descriptor === terminalFactoryDescriptor) { + return accessOffset; + } + } + + return -1; +} + +function skipMembers(buffer, initialOffset, count) { + let offset = initialOffset; + + for (let index = 0; index < count; index += 1) { + const attributeCount = buffer.readUInt16BE(offset + 6); + offset = skipAttributes(buffer, offset + 8, attributeCount); + } + + return offset; +} + +function skipAttributes(buffer, initialOffset, count) { + let offset = initialOffset; + + for (let index = 0; index < count; index += 1) { + const length = buffer.readUInt32BE(offset + 2); + offset += 6 + length; + } + + return offset; +} + function inspectOrPatch() { const workingDirectory = mkdtempSync(join(tmpdir(), 'acs-android-scan-mode-')); const aarDirectory = join(workingDirectory, 'aar'); @@ -45,26 +141,45 @@ function inspectOrPatch() { const classBytes = readFileSync(classPath); const lowPowerOffset = findUnique(classBytes, lowPowerInstruction); const lowLatencyOffset = findUnique(classBytes, lowLatencyInstruction); + const factoryAccessOffset = terminalFactoryAccessOffset(classBytes); + + if (factoryAccessOffset < 0) { + throw new Error('Expected ACS terminal factory method was not found'); + } + + const factoryAccess = classBytes.readUInt16BE(factoryAccessOffset); + const factoryIsPublic = (factoryAccess & 0x0001) !== 0; if (process.argv.includes('--check')) { - if (lowPowerOffset >= 0 || lowLatencyOffset < 0) { - throw new Error('ACS Android SDK is not patched for low-latency BLE scanning'); + if (lowPowerOffset >= 0 || lowLatencyOffset < 0 || !factoryIsPublic) { + throw new Error('ACS Android SDK scan optimizations are not applied'); } - console.log('ACS Android SDK uses SCAN_MODE_LOW_LATENCY'); + console.log('ACS Android SDK scan optimizations are applied'); return; } - if (lowPowerOffset < 0) { - if (lowLatencyOffset >= 0) { - console.log('ACS Android SDK already uses SCAN_MODE_LOW_LATENCY'); - return; - } - + if (lowPowerOffset < 0 && lowLatencyOffset < 0) { throw new Error('Expected ACS scan-mode instruction was not found exactly once'); } - classBytes[lowPowerOffset] = 0x05; + let changed = false; + + if (lowPowerOffset >= 0) { + classBytes[lowPowerOffset] = 0x05; + changed = true; + } + + if (!factoryIsPublic) { + classBytes.writeUInt16BE((factoryAccess & ~0x0002) | 0x0001, factoryAccessOffset); + changed = true; + } + + if (!changed) { + console.log('ACS Android SDK scan optimizations are already applied'); + return; + } + writeFileSync(classPath, classBytes); execFileSync('jar', ['uf', classesJar, '-C', classDirectory, classEntry]); @@ -72,7 +187,7 @@ function inspectOrPatch() { copyFileSync(aarPath, patchedAar); execFileSync('jar', ['uf', patchedAar, '-C', dirname(classesJar), 'classes.jar']); renameSync(patchedAar, aarPath); - console.log('Patched ACS Android SDK to use SCAN_MODE_LOW_LATENCY'); + console.log('Patched ACS Android SDK scan optimizations'); } finally { rmSync(workingDirectory, { recursive: true, force: true }); } diff --git a/src/android-native-contract.test.ts b/src/android-native-contract.test.ts index 8482fc5..2f87841 100644 --- a/src/android-native-contract.test.ts +++ b/src/android-native-contract.test.ts @@ -12,17 +12,25 @@ const androidModule = readFileSync( const scanReaders = androidModule.match( /private fun scanReaders[\s\S]*?(?= private fun normalizedTimeoutMs)/ )?.[0]; +const stopActiveScan = androidModule.match( + /private fun stopActiveScan[\s\S]*?(?= private fun readerBundle)/ +)?.[0]; describe('Android native contracts', () => { - it('scans all supported Reader models concurrently', () => { + it('scans all supported Reader models with one low-latency registration', () => { expect(androidModule).toMatch( - /scanTerminalTypes = intArrayOf\(\s*BluetoothTerminalManager\.TERMINAL_TYPE_ACR1555U,\s*BluetoothTerminalManager\.TERMINAL_TYPE_ACR1255U_J1,\s*BluetoothTerminalManager\.TERMINAL_TYPE_ACR1255U_J1_V2/ + /scanTerminalTypes = linkedMapOf\([\s\S]*TERMINAL_TYPE_ACR1555U,[\s\S]*TERMINAL_TYPE_ACR1255U_J1,[\s\S]*TERMINAL_TYPE_ACR1255U_J1_V2/ ); expect(scanReaders).toMatch( - /scanTerminalTypes\.forEach \{ terminalType ->[\s\S]*BluetoothTerminalManager\(context\)[\s\S]*manager\.startScan\(terminalType\)/ + /ScanSettings\.Builder\(\)[\s\S]*SCAN_MODE_LOW_LATENCY[\s\S]*scanner\.startScan\(filters, settings, callback\)/ ); - expect(androidModule).not.toContain('startCurrentScanType'); - expect(androidModule).toMatch(/private fun finishScan[\s\S]*activeScanManagers\.forEach/); + expect(scanReaders?.match(/\.startScan\(/g)).toHaveLength(1); + expect(scanReaders).not.toContain('manager.startScan'); + expect(androidModule).toMatch(/override fun onScanFailed[\s\S]*failScan\(\)/); + expect(stopActiveScan).toContain('stopScan(callback)'); + expect(stopActiveScan).toContain('activeBleScanner = null'); + expect(stopActiveScan).toContain('activeBleScanCallback = null'); + expect(androidModule).toMatch(/private fun finishScan[\s\S]*stopActiveScan\(\)/); expect(androidModule).toMatch(/private fun connectReader[\s\S]*?finishScan\(\)/); });