Skip to content

Miigrate codelab from v0.96 to v0.97#73

Merged
TheBlackBit merged 5 commits intoopenwallet-foundation:mainfrom
TheBlackBit:feat/migrate-from-v0.96-to-v0.97
Mar 2, 2026
Merged

Miigrate codelab from v0.96 to v0.97#73
TheBlackBit merged 5 commits intoopenwallet-foundation:mainfrom
TheBlackBit:feat/migrate-from-v0.96-to-v0.97

Conversation

@TheBlackBit
Copy link
Copy Markdown
Contributor

@TheBlackBit TheBlackBit commented Feb 25, 2026

Fixes/Addresses

Fixes/Addresses #1593

What does this PR do?

Migrate codelab to v0.97

Why are we making this change?

The Multipaz library has released the version v0.97 so we have to migrate our codelab to v0.97

How was this tested?

  • Tested on Android
  • Tested on iOS

Checklist

  • Code follows project style guidelines
  • Documentation updated (if needed)
  • No breaking changes (or breaking changes are documented)

Ever Morales added 2 commits February 25, 2026 12:57
…gic.

- Upgrade `multipaz` to `0.97.0` and `ktor` to `3.1.0`.
- Update Android `jvmTarget` to `JVM_17`.

- **Removed `NfcActivity.kt`**: Proximity presentment logic is now handled by generic activities and services.
- **Introduced `NfcService.kt`**: New `MdocNdefService` implementation that resets the `PresentmentActivity.presentmentModel` with the current `presentmentSource`.
- **Refactored `NdefService.kt`**: Simplified to use `PresentmentActivity` components and injected dependencies instead of manual initialization.
- **Updated `AccountScreen.kt`**:
    - Migration to the new `MdocProximityQrPresentment` composable.
    - Added UI handling for different presentment states: `showTransacting` and `showCompleted`.
    - Integrated `AppSettingsModel` to dynamically configure BLE (Central/Peripheral/L2CAP) and NFC connection methods.
- **Updated `CredmanActivity.kt`**: Simplified settings by delegating more responsibilities to the base `CredentialManagerPresentmentActivity`.

- Replaced `DigitalCredentials.Default` with `DigitalCredentials.getDefault()`.
- Renamed `startExportingCredentials` to `register`.
- Updated `AppSettingsModel` to initialize `dcApiProtocols` using the new `DigitalCredentials` instance.

- **Provisioning Refactor**: Updated `ProvisioningModel` to use `DocumentProvisioningHandler` and removed inline `documentMetadataInitializer` in favor of a cleaner initialization flow.
- **`OpenID4VCILocalBackend`**: Updated to use `CredentialKeyAttestation` instead of `KeyIdAndAttestation`.
- **Koin Modules**: Added `AppSettingsModel` to the DI module and cleaned up `PresentmentModel` and `PresentmentSource` providers.
- **Document Store**: Updated `hasAnyUsableCredential` extension to use `documentId.identifier`.

Signed-off-by: Ever Morales <ever.morales@koombea.com>
Signed-off-by: Ever Morales <ever.morales@koombea.com>
@TheBlackBit TheBlackBit changed the title Feat/migrate from v0.96 to v0.97 Miigrate from v0.96 to v0.97 Feb 25, 2026
Signed-off-by: Ever Morales <ever.morales@koombea.com>
Copy link
Copy Markdown
Member

@VishnuSanal VishnuSanal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great work Ever, please take a look at the comments. thanks!

@VishnuSanal
Copy link
Copy Markdown
Member

VishnuSanal commented Feb 27, 2026

hi @TheBlackBit from my testing web verification fails on Android - can you please take a look, thanks!

Ever Morales added 2 commits February 27, 2026 12:05
Signed-off-by: Ever Morales <ever.morales@koombea.com>
Simplified the `hasAnyUsableCredential` function by removing the redundant `lookupDocument` call and directly checking the first document from the list.
Signed-off-by: Ever Morales <ever.morales@koombea.com>
@VishnuSanal VishnuSanal changed the title Miigrate from v0.96 to v0.97 Miigrate codelab from v0.96 to v0.97 Mar 2, 2026
Copy link
Copy Markdown
Member

@VishnuSanal VishnuSanal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, great work ever! :)

btw, the web verification feature works occassionally for me - also it doesn't trust the web verifier nor the testapp anymore. let's create a new issue, and fix it later. let this PR go in for now. WDYT?

@TheBlackBit
Copy link
Copy Markdown
Contributor Author

lgtm, great work ever! :)

btw, the web verification feature works occassionally for me - also it doesn't trust the web verifier nor the testapp anymore. let's create a new issue, and fix it later. let this PR go in for now. WDYT?

Totally, can you please create it and assign to me please

@TheBlackBit TheBlackBit merged commit 6bd98eb into openwallet-foundation:main Mar 2, 2026
3 checks passed
@TheBlackBit TheBlackBit deleted the feat/migrate-from-v0.96-to-v0.97 branch March 2, 2026 16:17
TheBlackBit added a commit to TheBlackBit/multipaz-samples that referenced this pull request Apr 13, 2026
* Upgrade multipaz to 0.97 and refactor presentment and provisioning logic.

- Upgrade `multipaz` to `0.97.0` and `ktor` to `3.1.0`.
- Update Android `jvmTarget` to `JVM_17`.

- **Removed `NfcActivity.kt`**: Proximity presentment logic is now handled by generic activities and services.
- **Introduced `NfcService.kt`**: New `MdocNdefService` implementation that resets the `PresentmentActivity.presentmentModel` with the current `presentmentSource`.
- **Refactored `NdefService.kt`**: Simplified to use `PresentmentActivity` components and injected dependencies instead of manual initialization.
- **Updated `AccountScreen.kt`**:
    - Migration to the new `MdocProximityQrPresentment` composable.
    - Added UI handling for different presentment states: `showTransacting` and `showCompleted`.
    - Integrated `AppSettingsModel` to dynamically configure BLE (Central/Peripheral/L2CAP) and NFC connection methods.
- **Updated `CredmanActivity.kt`**: Simplified settings by delegating more responsibilities to the base `CredentialManagerPresentmentActivity`.

- Replaced `DigitalCredentials.Default` with `DigitalCredentials.getDefault()`.
- Renamed `startExportingCredentials` to `register`.
- Updated `AppSettingsModel` to initialize `dcApiProtocols` using the new `DigitalCredentials` instance.

- **Provisioning Refactor**: Updated `ProvisioningModel` to use `DocumentProvisioningHandler` and removed inline `documentMetadataInitializer` in favor of a cleaner initialization flow.
- **`OpenID4VCILocalBackend`**: Updated to use `CredentialKeyAttestation` instead of `KeyIdAndAttestation`.
- **Koin Modules**: Added `AppSettingsModel` to the DI module and cleaned up `PresentmentModel` and `PresentmentSource` providers.
- **Document Store**: Updated `hasAnyUsableCredential` extension to use `documentId.identifier`.

* Code formatted

* Remove NfcActivity from AndroidManifest.xml.
Signed-off-by: Ever Morales <ever.morales@koombea.com>

* Delete unused NfcService.kt

* Refactor hasAnyUsableCredential in DocumentStoreExtensions

Simplified the `hasAnyUsableCredential` function by removing the redundant `lookupDocument` call and directly checking the first document from the list.

---------

Signed-off-by: Ever Morales <ever.morales@koombea.com>
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.

2 participants