feat: Add vcard - #2984
Draft
Elouan1411 wants to merge 23 commits into
Draft
Conversation
…nd remove the ViewModel dependency
There was a problem hiding this comment.
Pull request overview
Adds vCard access from the account switcher using the shared Core contact-card UI.
Changes:
- Adds a QR entry point, animation, and localized accessibility text.
- Integrates contact-card navigation and sharing.
- Preserves locally stored card data during profile refreshes.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
app/build.gradle.kts |
Adds the Core contact-card module. |
AccountBottomSheetDialog.kt |
Opens the contact-card screen. |
ContactCardFragment.kt |
Hosts and shares the Compose contact card. |
SwitchUserAdapter.kt |
Displays and animates the QR action. |
AccountUtils.kt |
Preserves local card data during refresh. |
main_navigation.xml |
Registers the contact-card destination. |
item_switch_user_account.xml |
Replaces the selection icon with QR UI. |
ic_qrcode.xml |
Adds the QR vector asset. |
bg_reminder_icon.xml |
Adds the QR icon background. |
values/strings.xml |
Adds the default QR description. |
values-da/strings.xml |
Adds Danish localization. |
values-de/strings.xml |
Adds German localization. |
values-el/strings.xml |
Adds Greek localization. |
values-es/strings.xml |
Adds Spanish localization. |
values-fi/strings.xml |
Adds Finnish localization. |
values-fr/strings.xml |
Adds French localization. |
values-it/strings.xml |
Adds Italian localization. |
values-nb/strings.xml |
Adds Norwegian localization. |
values-nl/strings.xml |
Adds Dutch localization. |
values-pl/strings.xml |
Adds Polish localization. |
values-pt/strings.xml |
Adds Portuguese localization. |
values-sv/strings.xml |
Adds Swedish localization. |
|
This PR/issue depends on:
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 31 out of 32 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
app/src/main/java/com/infomaniak/mail/ui/bottomSheetDialogs/AccountBottomSheetDialog.kt:158
- This manually constructs a required navigation argument using a string key, bypassing the project's Safe Args convention (
app/AGENTS.md:160). The Core view model requires the exactuserIdkey and type, so a future rename would compile but crash at runtime. Build the bundle withContactCardFragmentArgs(userId).toBundle()instead.
Bundle().apply { putInt("userId", userId) },
Comment on lines
+88
to
+90
| lifecycleScope.launch { | ||
| requireActivity().shareContactCard(card) | ||
| } |
|
Elouan1411
marked this pull request as draft
July 24, 2026 11:08
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



depends on Infomaniak/android-core#816