Skip to content

Conversation

@jeanpierrefortune
Copy link
Contributor

No description provided.

- Updated `loadKey` to use `KeyStorageType` instead of a boolean.
- Modified `generalAuthenticate` to return a boolean result and improved its internal logic for key retrieval and authentication.
- Simplified `overview.md` by removing detailed configuration and key management sections.
- Replace `volatileKeyRegistry` and `persistentKeyRegistry` `SparseArray`s with a single `loadedKey` byte array.
- Update `loadKey` to store only the most recently provided key.
- Update `generalAuthenticate` to use the `loadedKey` (clearing it after use) or fallback to the `keyProvider`.
- Ensure `loadedKey` is cleared when the physical channel is opened, closed, or a new tag is discovered.
Specifically, this change:
- Replaces the if-else block with a when expression for better readability and safety.
- Explicitly handles `MifareClassic`, `MifareUltralight`, and throws an `UnsupportedOperationException` for other technologies.
- Removes the explicit 16-byte size check for `MifareClassic` within this method.
- Rename `classic` to `mifareClassic` for clarity in `generalAuthenticate`.
- Simplify key retrieval logic using `checkNotNull`.
- Stop resetting `loadedKey` to `null` in `onTagDiscovered`.
- Replace the generic `MIFARE_CLASSIC` protocol with specific `MIFARE_CLASSIC_1K` and `MIFARE_CLASSIC_4K` constants.
- Update `isProtocolSupported` to validate the physical card size against the requested MIFARE Classic protocol.
- Update protocol activation and deactivation logic to handle the new specific MIFARE Classic types.
…isCurrentProtocol

Specifically, this change:
- Simplifies `isProtocolSupported` to only verify if the protocol name exists.
- Moves the MIFARE Classic 1K vs 4K size validation logic to `isCurrentProtocol`.
- Updates `CHANGELOG.md` to specify support for `MIFARE_CLASSIC_1K` and `MIFARE_CLASSIC_4K`.
@sonarqubecloud
Copy link

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.

3 participants