Skip to content

Comments

Add support for USB-connected NFC readers in the Multipaz library.#1561

Open
davidz25 wants to merge 1 commit intomainfrom
external-nfc-readers
Open

Add support for USB-connected NFC readers in the Multipaz library.#1561
davidz25 wants to merge 1 commit intomainfrom
external-nfc-readers

Conversation

@davidz25
Copy link
Contributor

Previously this code was in Multipaz TestApp, this change moves it into the library and makes it generally available to apps, including Multipaz Identity Reader where it will be an useful feature. A new ExternalNfcReaderStore class is implemented which stores readers the user have previously configured.

On Android in Multipaz TestApp, hook into the USB device attached intent for supported devices and use this to automatically add to the list of configured readers.

Also in Multipaz TestApp, add a new "External NFC Readers" screen (which allows removing and manually granting permissions) and also use this in the "NFC sharing and scanning" and "ISO mdoc Proximity Reading" screens to allow the user to choose which NFC reader to use.

See https://www.youtube.com/watch?v=KR8U-dZM6f4 for a demo.

Other changes

  • Make available AnnotatedString.fromMarkdown() in multipaz-compose and also beef it up to support more than links. Also add unit tests.

  • Make available the composables for list of items and port existing users to use it. This will be useful in both Multipaz Identity Reader and Compose Wallet.

Test: Unit tests.
Test: Manually tested on Android.

Previously this code was in Multipaz TestApp, this change moves it
into the library and makes it generally available to apps, including
Multipaz Identity Reader where it will be an useful feature. A new
`ExternalNfcReaderStore` class is implemented which stores readers the
user have previously configured.

On Android in Multipaz TestApp, hook into the USB device attached
intent for supported devices and use this to automatically add to the
list of configured readers.

Also in Multipaz TestApp, add a new "External NFC Readers" screen
(which allows removing and manually granting permissions) and also use
this in the "NFC sharing and scanning" and "ISO mdoc Proximity
Reading" screens to allow the user to choose which NFC reader to use.

See https://www.youtube.com/watch?v=KR8U-dZM6f4 for a demo.

Other changes

- Make available AnnotatedString.fromMarkdown() in multipaz-compose
  and also beef it up to support more than links. Also add unit tests.

- Make available the composables for list of items and port existing
  users to use it. This will be useful in both Multipaz Identity
  Reader and Compose Wallet.

Test: Unit tests.
Test: Manually tested on Android.
Signed-off-by: David Zeuthen <zeuthen@google.com>
@davidz25 davidz25 requested a review from sorotokin February 20, 2026 22:35
@davidz25
Copy link
Contributor Author

davidz25 commented Feb 20, 2026

Btw, I expect to also add support for BLE-connected NFC readers such as the ACS1555U in the near future. This is why ExternalNfcReader is set up as base class this way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant