[PR #6675] [MERGED] PM-25654: feat: Preview attachment #75307

Closed
opened 2026-05-17 00:44:58 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6675
Author: @david-livefront
Created: 3/16/2026
Status: Merged
Merged: 3/23/2026
Merged by: @david-livefront

Base: mainHead: PM-25654-preview-attachment


📝 Commits (3)

  • c6571d1 Add image attachment preview
  • 2f7b67a UI fixes, downsampling, and formatting
  • a44ba4f Separate PreviewAttachment into its own screen

📊 Changes

23 files changed (+2386 additions, -52 deletions)

View changed files

📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlocked/VaultUnlockedNavigation.kt (+12 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentNavigation.kt (+72 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentScreen.kt (+167 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentViewModel.kt (+595 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemAttachmentContent.kt (+68 -39)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemCardContent.kt (+1 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemIdentityContent.kt (+1 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemLoginContent.kt (+1 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemNavigation.kt (+7 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemScreen.kt (+9 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSecureNoteContent.kt (+1 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSshKeyContent.kt (+1 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt (+33 -5)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/handlers/VaultCommonItemTypeHandlers.kt (+4 -0)
app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentScreenTest.kt (+271 -0)
app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentViewModelTest.kt (+887 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemScreenTest.kt (+17 -0)
📝 ui/src/main/kotlin/com/bitwarden/ui/platform/components/dialog/BitwardenBasicDialog.kt (+3 -1)
ui/src/main/kotlin/com/bitwarden/ui/platform/components/preview/ImagePreviewContent.kt (+127 -0)
📝 ui/src/main/res/drawable/ic_download.xml (+6 -7)

...and 3 more files

📄 Description

🎟️ Tracking

PM-25654
Community Forum

📔 Objective

This PR adds the Preview Attachment functionality to the VaultItemScreen.

Viewing image attachments is a hassle since you have to download, save, and open them in another app.
This adds a built-in preview for images, Ideally, we’d have a full file manager that supports all types, but since images are the ones most often needing quick viewing, I think this is okay for now.

The implementation:

  • Downloads the file temporarily.
  • Loads and displays the image with zoom and pan support.
  • Automatically deletes the file once it has been loaded.

📸 Screenshots

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/6675 **Author:** [@david-livefront](https://github.com/david-livefront) **Created:** 3/16/2026 **Status:** ✅ Merged **Merged:** 3/23/2026 **Merged by:** [@david-livefront](https://github.com/david-livefront) **Base:** `main` ← **Head:** `PM-25654-preview-attachment` --- ### 📝 Commits (3) - [`c6571d1`](https://github.com/bitwarden/android/commit/c6571d1803b4e9bccc5ce294babc2945a300b1e3) Add image attachment preview - [`2f7b67a`](https://github.com/bitwarden/android/commit/2f7b67a0bb8977403cd0b8971094b1a7491d7376) UI fixes, downsampling, and formatting - [`a44ba4f`](https://github.com/bitwarden/android/commit/a44ba4fa99509b296e34afdb857ebd68407b3001) Separate PreviewAttachment into its own screen ### 📊 Changes **23 files changed** (+2386 additions, -52 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlocked/VaultUnlockedNavigation.kt` (+12 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentNavigation.kt` (+72 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentScreen.kt` (+167 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentViewModel.kt` (+595 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemAttachmentContent.kt` (+68 -39) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemCardContent.kt` (+1 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemIdentityContent.kt` (+1 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemLoginContent.kt` (+1 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemNavigation.kt` (+7 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemScreen.kt` (+9 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSecureNoteContent.kt` (+1 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSshKeyContent.kt` (+1 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt` (+33 -5) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/handlers/VaultCommonItemTypeHandlers.kt` (+4 -0) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentScreenTest.kt` (+271 -0) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/attachments/preview/PreviewAttachmentViewModelTest.kt` (+887 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemScreenTest.kt` (+17 -0) 📝 `ui/src/main/kotlin/com/bitwarden/ui/platform/components/dialog/BitwardenBasicDialog.kt` (+3 -1) ➕ `ui/src/main/kotlin/com/bitwarden/ui/platform/components/preview/ImagePreviewContent.kt` (+127 -0) 📝 `ui/src/main/res/drawable/ic_download.xml` (+6 -7) _...and 3 more files_ </details> ### 📄 Description ## 🎟️ Tracking [PM-25654](https://bitwarden.atlassian.net/browse/PM-25654) [Community Forum](https://community.bitwarden.com/t/view-attachments-without-downloading/52/19) ## 📔 Objective This PR adds the Preview Attachment functionality to the `VaultItemScreen`. > Viewing image attachments is a hassle since you have to download, save, and open them in another app. This adds a built-in preview for images, Ideally, we’d have a full file manager that supports all types, but since images are the ones most often needing quick viewing, I think this is okay for now. > > The implementation: > - Downloads the file temporarily. > - Loads and displays the image with zoom and pan support. > - Automatically deletes the file once it has been loaded. ## 📸 Screenshots <video src="https://github.com/user-attachments/assets/ef2c3c34-b0f9-486c-9e43-5d668c7bdc7f" width="350" /> [PM-25654]: https://bitwarden.atlassian.net/browse/PM-25654?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-17 00:44:58 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#75307