Skip to content

feat: Add vcard - #2984

Draft
Elouan1411 wants to merge 23 commits into
mainfrom
old
Draft

feat: Add vcard#2984
Elouan1411 wants to merge 23 commits into
mainfrom
old

Conversation

@Elouan1411

@Elouan1411 Elouan1411 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Copilot AI review requested due to automatic review settings July 16, 2026 11:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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.

Comment thread app/src/main/java/com/infomaniak/mail/ui/main/user/SwitchUserAdapter.kt Outdated
Comment thread app/src/main/res/layout/item_switch_user_account.xml Outdated
Comment thread app/src/main/res/layout/item_switch_user_account.xml
Comment thread app/src/main/res/drawable/ic_qrcode.xml
@github-actions github-actions Bot added the dependent This MR depends on another PR label Jul 16, 2026
@github-actions

Copy link
Copy Markdown

This PR/issue depends on:

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 28 out of 29 changed files in this pull request and generated 5 comments.

Comment thread app/build.gradle.kts
Comment thread app/build.gradle.kts
Comment thread app/src/main/res/layout/item_switch_user_account.xml Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 31 out of 32 changed files in this pull request and generated 2 comments.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 exact userId key and type, so a future rename would compile but crash at runtime. Build the bundle with ContactCardFragmentArgs(userId).toBundle() instead.
            Bundle().apply { putInt("userId", userId) },

Comment thread app/src/main/res/layout/item_switch_user_account.xml Outdated
Comment on lines +88 to +90
lifecycleScope.launch {
requireActivity().shareContactCard(card)
}
@sonarqubecloud

Copy link
Copy Markdown

@Elouan1411
Elouan1411 marked this pull request as draft July 24, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependent This MR depends on another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants