Skip to content

feat(drive): Make files available offline (WPB-23968)#4811

Open
ohassine wants to merge 56 commits into
developfrom
Make-files-available-offline
Open

feat(drive): Make files available offline (WPB-23968)#4811
ohassine wants to merge 56 commits into
developfrom
Make-files-available-offline

Conversation

@ohassine
Copy link
Copy Markdown
Member

@ohassine ohassine commented May 12, 2026

https://wearezeta.atlassian.net/browse/WPB-23968


PR Submission Checklist for internal contributors

  • The PR Title

    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  • The PR Description

    • is free of optional paragraphs and you have filled the relevant parts to the best of your ability

What's new in this PR?

Description

Allow users to make files available offline, so they can browse them later when they don't have Internet

  • Added two new actions to "Make file offline" and "remove offline access"
  • Show download indication for offline files
  • Removing offline access of a file will delete the file from device, so user needs to download it again
  • Files are stored in app specific external storage, so they are not user accessible from other apps(like Files) and will be deleted after app uninstall.

Showing the list of offline files will be handled in next PR

Screenshot 2026-05-12 at 13 28 42
screen-20260512-132241-1778584935958.mp4

Testing

Test Coverage (Optional)

  • I have added automated test to this contribution

How to Test

Briefly describe how this change was tested and if applicable the exact steps taken to verify that it works as expected.

Notes (Optional)

Specify here any other facts that you think are important for this issue.

Attachments (Optional)

Attachments like images, videos, etc. (drag and drop in the text box)


PR Post Submission Checklist for internal contributors (Optional)

  • Wire's Github Workflow has automatically linked the PR to a JIRA issue

PR Post Merge Checklist for internal contributors

  • If any soft of configuration variable was introduced by this PR, it has been added to the relevant documents and the CI jobs have been updated.

References
  1. https://sparkbox.com/foundry/semantic_commit_messages
  2. https://github.com/wireapp/.github#usage
  3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.

ohassine added 30 commits April 23, 2026 18:56
# Conflicts:
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/CellViewModel.kt
…le-offline

# Conflicts:
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileLocalPathCache.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFilesScreen.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/CellListItem.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/CellScreenContent.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/CellViewModel.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/ConversationFilesScreen.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/ConversationFilesWithSlideInTransitionScreen.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/OpenFileDownloadController.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/model/CellNodeUi.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/model/NodeBottomSheetAction.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/model/OpenLoadState.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/ui/search/SearchScreen.kt
#	features/cells/src/main/java/com/wire/android/feature/cells/util/FileHelper.kt
#	features/cells/src/main/res/values/strings.xml
#	features/cells/src/test/kotlin/com/wire/android/feature/cells/ui/CellFileActionsMenuTest.kt
#	features/cells/src/test/kotlin/com/wire/android/feature/cells/ui/CellViewModelTest.kt
#	features/cells/src/test/kotlin/com/wire/android/feature/cells/ui/OpenFileDownloadControllerTest.kt
#	kalium
@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 6d9667839a6baad587a27f3fb693da2a6a947a62

Is this intentional?

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 6d9667839a6baad587a27f3fb693da2a6a947a62

Is this intentional?

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 6d9667839a6baad587a27f3fb693da2a6a947a62

Is this intentional?

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 79ebff4e595fffc136114a5fc5bd2138db4c0b8b

Is this intentional?

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 79ebff4e595fffc136114a5fc5bd2138db4c0b8b

Is this intentional?

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 79ebff4e595fffc136114a5fc5bd2138db4c0b8b

Is this intentional?

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 79ebff4e595fffc136114a5fc5bd2138db4c0b8b

Is this intentional?

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 79ebff4e595fffc136114a5fc5bd2138db4c0b8b

Is this intentional?

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 79ebff4e595fffc136114a5fc5bd2138db4c0b8b

Is this intentional?

@codecov
Copy link
Copy Markdown

codecov Bot commented May 13, 2026

Codecov Report

❌ Patch coverage is 51.93548% with 149 lines in your changes missing coverage. Please review.
✅ Project coverage is 50.92%. Comparing base (3afba09) to head (8c63ab4).

Files with missing lines Patch % Lines
.../feature/cells/ui/OfflineFileDownloadController.kt 10.25% 70 Missing ⚠️
...com/wire/android/feature/cells/ui/CellViewModel.kt 56.14% 21 Missing and 4 partials ⚠️
...re/android/feature/cells/ui/CellFileActionsMenu.kt 74.13% 8 Missing and 7 partials ⚠️
...e/android/feature/cells/ui/DownloadFailureUtils.kt 13.33% 11 Missing and 2 partials ⚠️
...oid/feature/cells/ui/OpenFileDownloadController.kt 83.33% 2 Missing and 7 partials ⚠️
.../wire/android/feature/cells/ui/model/CellNodeUi.kt 76.92% 5 Missing and 1 partial ⚠️
...d/feature/cells/ui/search/SearchScreenViewModel.kt 37.50% 5 Missing ⚠️
...android/feature/cells/ui/CellFileLocalPathCache.kt 40.00% 3 Missing ⚠️
...getypes/multipart/MultipartAttachmentsViewModel.kt 66.66% 1 Missing ⚠️
.../com/wire/android/feature/cells/ui/CellListItem.kt 0.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4811      +/-   ##
===========================================
- Coverage    51.11%   50.92%   -0.19%     
===========================================
  Files          610      612       +2     
  Lines        21091    21291     +200     
  Branches      3392     3436      +44     
===========================================
+ Hits         10780    10843      +63     
- Misses        9299     9432     +133     
- Partials      1012     1016       +4     
Files with missing lines Coverage Δ
...wire/android/feature/cells/ui/CellScreenContent.kt 0.00% <ø> (ø)
...id/feature/cells/ui/model/NodeBottomSheetAction.kt 100.00% <100.00%> (ø)
...re/android/feature/cells/ui/model/OpenLoadState.kt 100.00% <ø> (ø)
...getypes/multipart/MultipartAttachmentsViewModel.kt 52.74% <66.66%> (-0.07%) ⬇️
.../com/wire/android/feature/cells/ui/CellListItem.kt 0.00% <0.00%> (ø)
.../com/wire/android/feature/cells/util/FileHelper.kt 0.00% <0.00%> (ø)
...android/feature/cells/ui/CellFileLocalPathCache.kt 81.25% <40.00%> (-18.75%) ⬇️
...d/feature/cells/ui/search/SearchScreenViewModel.kt 45.00% <37.50%> (-0.09%) ⬇️
.../wire/android/feature/cells/ui/model/CellNodeUi.kt 90.58% <76.92%> (-3.94%) ⬇️
...oid/feature/cells/ui/OpenFileDownloadController.kt 85.71% <83.33%> (-4.49%) ⬇️
... and 4 more

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3afba09...8c63ab4. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Copy Markdown
Contributor

@ohassine looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
f69a608d5126385b2a1284845657c0bbf11f9c65 79ebff4e595fffc136114a5fc5bd2138db4c0b8b

Is this intentional?

@sonarqubecloud
Copy link
Copy Markdown

@ohassine ohassine changed the title feat: Make files available offline (WPB-23968) feat(drive): Make files available offline (WPB-23968) May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants