Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
3b353bd
feat: new loading behavior
ohassine Apr 23, 2026
6704b01
Merge remote-tracking branch 'origin/develop' into new-loading-behavior
ohassine Apr 24, 2026
5d97f06
Merge remote-tracking branch 'origin/develop' into new-loading-behavior
ohassine Apr 24, 2026
43c0418
feat: remove download to external storage option
ohassine Apr 27, 2026
9ea06e7
feat: cleanup
ohassine Apr 28, 2026
fa81683
feat: detekt
ohassine Apr 28, 2026
dcf676f
Merge remote-tracking branch 'origin/develop' into new-loading-behavior
ohassine Apr 28, 2026
ca33415
Merge remote-tracking branch 'origin/develop' into new-loading-behavior
ohassine Apr 28, 2026
ff7f3b5
feat: cleanup
ohassine Apr 28, 2026
8d57c00
feat: cleanup
ohassine Apr 28, 2026
5296036
feat: cleanup
ohassine Apr 28, 2026
add26ee
fix: cleanup
ohassine Apr 29, 2026
942a6e2
fix: cleanup
ohassine Apr 29, 2026
a9e6d8c
feat: refactor
ohassine Apr 29, 2026
2bb96f2
feat: unit test
ohassine Apr 29, 2026
d403848
Merge branch 'develop' into new-loading-behavior
ohassine Apr 29, 2026
771b73d
feat: detekt
ohassine Apr 29, 2026
3f458b1
Merge remote-tracking branch 'origin/new-loading-behavior' into new-l…
ohassine Apr 30, 2026
784c3d3
feat: detekt
ohassine Apr 30, 2026
24a0eea
Merge branch 'develop' into new-loading-behavior
ohassine Apr 30, 2026
f8a0d11
Merge branch 'develop' into new-loading-behavior
ohassine May 4, 2026
d76da05
chore: test
ohassine May 4, 2026
1a25574
Merge branch 'develop' into new-loading-behavior
ohassine May 4, 2026
defa808
feat(drive): Make files available offline
ohassine May 6, 2026
57eb842
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine May 6, 2026
ed03ad9
feat(drive): Make files available offline
ohassine May 7, 2026
e45ce22
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine May 7, 2026
e629614
chore: cleanup
ohassine May 7, 2026
a6852d9
chore: cleanup
ohassine May 7, 2026
5db198b
chore: detekt
ohassine May 7, 2026
2a1bd5f
chore: detekt
ohassine May 8, 2026
fcd8bb1
chore: cleanup
ohassine May 8, 2026
e7589b7
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine May 8, 2026
66771b7
feat: modifiedAt from String to Long
ohassine May 12, 2026
6576a50
feat: cleanup
ohassine May 12, 2026
6343f92
Merge branch 'develop' into Make-files-available-offline
ohassine May 12, 2026
c4c8be5
feat: cleanup
ohassine May 12, 2026
22fd15f
feat: kalium reference
ohassine May 12, 2026
d050772
feat: cleanup
ohassine May 12, 2026
d2d0998
feat: test
ohassine May 12, 2026
b9ff6a8
Merge branch 'develop' into Make-files-available-offline
ohassine May 12, 2026
12e6365
fix: incorrect icon usage
ohassine May 12, 2026
a30de5a
Merge remote-tracking branch 'origin/Make-files-available-offline' in…
ohassine May 12, 2026
204ae28
fix: detekt
ohassine May 12, 2026
bd1a0df
fix: lint
ohassine May 12, 2026
952a1ae
chore: lint
ohassine May 13, 2026
1ebbcbd
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine May 13, 2026
065917d
chore: add conversationId
ohassine May 13, 2026
bea8de1
chore: add conversationId
ohassine May 13, 2026
9cc0b51
chore: kalium reference
ohassine May 13, 2026
b9cdfef
chore: test
ohassine May 13, 2026
e4aadf2
chore: detekt
ohassine May 13, 2026
3cc3b57
Merge branch 'develop' into Make-files-available-offline
ohassine May 13, 2026
27f686e
chore: test
ohassine May 13, 2026
d4c75c1
chore: test
ohassine May 13, 2026
8c63ab4
chore: detekt
ohassine May 13, 2026
6776d9b
feat: Display offline files (WPB-23968) (#4822)
ohassine May 20, 2026
e7cddfc
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine May 20, 2026
de22055
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine May 20, 2026
9b8a5bb
chore: detekt
ohassine May 20, 2026
d867d23
chore: kalium
ohassine May 20, 2026
addc7c8
feat: test
ohassine May 21, 2026
9400085
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine May 21, 2026
a409487
feat: kalium ref
ohassine May 21, 2026
ce7922f
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine Jun 2, 2026
99ea2e2
Merge branch 'develop' into Make-files-available-offline
ohassine Jun 3, 2026
869257b
chore: conflicts
ohassine Jun 3, 2026
357f1b4
Merge branch 'develop' into Make-files-available-offline
ohassine Jun 3, 2026
18ff67f
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine Jun 3, 2026
2a9f3cc
chore: conflicts
ohassine Jun 3, 2026
66a84c7
chore: detekt
ohassine Jun 3, 2026
10d714c
chore: kalium
ohassine Jun 3, 2026
7333fc1
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine Jun 3, 2026
e6f8b5b
chore: kalium
ohassine Jun 3, 2026
432aea0
Merge branch 'develop' into Make-files-available-offline
ohassine Jun 3, 2026
17c5e5e
chore: kalium reference
ohassine Jun 4, 2026
f43babd
Merge remote-tracking branch 'origin/Make-files-available-offline' in…
ohassine Jun 4, 2026
c749e86
Merge remote-tracking branch 'origin/develop' into Make-files-availab…
ohassine Jun 4, 2026
0683020
chore: kalium reference
ohassine Jun 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ import com.wire.kalium.cells.domain.usecase.publiclink.SetPublicLinkExpirationUs
import com.wire.kalium.cells.domain.usecase.publiclink.UpdatePublicLinkPasswordUseCase
import com.wire.kalium.cells.domain.usecase.versioning.GetNodeVersionsUseCase
import com.wire.kalium.cells.domain.usecase.versioning.RestoreNodeVersionUseCase
import com.wire.kalium.cells.domain.usecase.GetConversationNameUseCase
import com.wire.kalium.cells.domain.usecase.GetUserNameUseCase
import com.wire.kalium.cells.domain.usecase.offline.DeleteOfflineFileUseCase
import com.wire.kalium.cells.domain.usecase.offline.GetOfflineFileUseCase
import com.wire.kalium.cells.domain.usecase.offline.ObserveOfflineFilesUseCase
import com.wire.kalium.cells.domain.usecase.offline.SaveOfflineFileUseCase
import com.wire.kalium.cells.paginatedConversationsFlowUseCase
import com.wire.kalium.cells.paginatedFilesFlowUseCase
import com.wire.kalium.logic.CoreLogic
Expand Down Expand Up @@ -259,4 +265,28 @@ class CellsModule {
@Provides
fun provideGetPaginatedConversationsFlowUseCase(cellsScope: CellsScope): GetPaginatedCellConversationsFlowUseCase =
cellsScope.paginatedConversationsFlowUseCase

@ViewModelScoped
@Provides
fun provideSaveOfflineFileUseCase(cellsScope: CellsScope): SaveOfflineFileUseCase = cellsScope.saveOfflineFile

@ViewModelScoped
@Provides
fun provideDeleteOfflineFileUseCase(cellsScope: CellsScope): DeleteOfflineFileUseCase = cellsScope.deleteOfflineFile

@ViewModelScoped
@Provides
fun provideObserveOfflineFilesUseCase(cellsScope: CellsScope): ObserveOfflineFilesUseCase = cellsScope.observeOfflineFiles

@ViewModelScoped
@Provides
fun provideGetOfflineFileUseCase(cellsScope: CellsScope): GetOfflineFileUseCase = cellsScope.getOfflineFile

@ViewModelScoped
@Provides
fun provideGetConversationNamesUseCase(cellsScope: CellsScope): GetConversationNameUseCase = cellsScope.getConversationName

@ViewModelScoped
@Provides
fun provideGetUserNamesUseCase(cellsScope: CellsScope): GetUserNameUseCase = cellsScope.getUserName
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
import com.wire.android.ui.common.multipart.MultipartAttachmentUi
import com.wire.android.ui.common.multipart.toUiModel
import com.wire.android.util.FileManager
import com.wire.kalium.cells.domain.usecase.download.DownloadCellFileUseCase
import com.wire.kalium.cells.domain.usecase.GetEditorUrlUseCase
import com.wire.kalium.cells.domain.usecase.GetWireCellConfigurationUseCase
import com.wire.kalium.cells.domain.usecase.download.DownloadCellFileUseCase
import com.wire.kalium.common.functional.onSuccess
import com.wire.kalium.logic.data.asset.AssetTransferStatus
import com.wire.kalium.logic.data.asset.KaliumFileSystem
Expand Down Expand Up @@ -122,7 +122,11 @@
attachment.isImage() && !attachment.fileNotFound() -> openInImageViewer(attachment.uuid)
attachment.isEditSupported && isCollaboraEnabled && featureFlags.collaboraIntegration ->
openOnlineEditor(attachment.uuid)
attachment.fileNotFound() -> { refreshHelper.refresh(attachment.uuid) }

attachment.fileNotFound() -> {
refreshHelper.refresh(attachment.uuid)
}

attachment.localFileAvailable() -> openLocalFile(attachment)
attachment.canOpenWithUrl() -> openUrl(attachment)
else -> downloadAsset(attachment)
Expand Down Expand Up @@ -167,6 +171,7 @@

download(
assetId = attachment.uuid,
conversationId = null, // TODO to replace with real conversation id in next PR

Check warning on line 174 in app/src/main/kotlin/com/wire/android/ui/home/conversations/model/messagetypes/multipart/MultipartAttachmentsViewModel.kt

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Complete the task associated to this TODO comment.

See more on https://sonarcloud.io/project/issues?id=wireapp_wire-android&issues=AZ4hH8tyTf_rTumgMZ4d&open=AZ4hH8tyTf_rTumgMZ4d&pullRequest=4811

Check warning on line 174 in app/src/main/kotlin/com/wire/android/ui/home/conversations/model/messagetypes/multipart/MultipartAttachmentsViewModel.kt

View check run for this annotation

Codecov / codecov/patch

app/src/main/kotlin/com/wire/android/ui/home/conversations/model/messagetypes/multipart/MultipartAttachmentsViewModel.kt#L174

Added line #L174 was not covered by tests
outFilePath = path,
assetSize = attachment.assetSize ?: 0,
) { progress ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ class MultipartAttachmentsViewModelTest {
coEvery { refreshHelper.refresh(any()) } returns Unit
coEvery { fileManager.openWithExternalApp(any(), any(), any(), any()) } returns Unit
coEvery { fileManager.openUrlWithExternalApp(any(), any(), any()) } returns Unit
coEvery { download(any(), any(), any(), any(), any()) } returns Unit.right()
coEvery { download(any(), any(), any(), any(), any(), any(), any(), any()) } returns Unit.right()
coEvery { getWireCellsConfig() } returns null

return this to MultipartAttachmentsViewModelImpl(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,21 @@
*/
package com.wire.android.feature.cells.ui

import androidx.compose.animation.AnimatedContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.text.input.rememberTextFieldState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.paging.compose.collectAsLazyPagingItems
import com.ramcosta.composedestinations.generated.cells.destinations.AddRemoveTagsScreenDestination
import com.ramcosta.composedestinations.generated.cells.destinations.PublicLinkScreenDestination
import com.ramcosta.composedestinations.generated.cells.destinations.SearchScreenDestination
import com.wire.android.feature.cells.R
import com.wire.android.feature.cells.ui.common.OfflineBanner
import com.wire.android.feature.cells.ui.search.DriveSearchScreenType
import com.wire.android.navigation.NavigationCommand
import com.wire.android.navigation.WireNavigator
Expand All @@ -47,26 +50,33 @@ fun AllFilesScreen(
) {

val pagingListItems = viewModel.nodesFlow.collectAsLazyPagingItems()
val isOnline by viewModel.isOnline.collectAsState()

WireScaffold(
modifier = modifier,
topBar = {
Column {
SearchTopBar(
modifier = Modifier,
isSearchActive = false,
searchBarHint = stringResource(R.string.search_label),
searchQueryTextState = rememberTextFieldState(),
onTap = {
navigator.navigate(
NavigationCommand(
SearchScreenDestination(
screenType = DriveSearchScreenType.DRIVE,
AnimatedContent(isOnline) {
if (it) {
SearchTopBar(
modifier = Modifier,
isSearchActive = false,
searchBarHint = stringResource(R.string.search_label),
searchQueryTextState = rememberTextFieldState(),
onTap = {
navigator.navigate(
NavigationCommand(
SearchScreenDestination(
screenType = DriveSearchScreenType.DRIVE,
)
)
)
)
},
)
},
)
} else {
OfflineBanner()
}
}
}
},
) { innerPadding ->
Expand All @@ -78,6 +88,7 @@ fun AllFilesScreen(
openFolder = { _, _, _ -> },
menuState = viewModel.menu,
isAllFiles = true,
isOffline = !isOnline,
isRestoreInProgress = viewModel.isRestoreInProgress.collectAsState().value,
isDeleteInProgress = viewModel.isDeleteInProgress.collectAsState().value,
isRecycleBin = viewModel.isRecycleBin(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import com.wire.android.feature.cells.ui.model.CellNodeUi
import com.wire.android.feature.cells.ui.model.NodeBottomSheetAction
import com.wire.android.feature.cells.ui.model.OpenLoadState
import com.wire.android.feature.cells.ui.model.isEditSupported
import com.wire.android.feature.cells.ui.model.localFileAvailable
import com.wire.kalium.logic.featureFlags.KaliumConfigs
Expand All @@ -36,64 +35,131 @@
isAllFiles: Boolean,
isSearching: Boolean,
isCollaboraEnabled: Boolean,
): List<NodeBottomSheetAction> =
when {
isRecycleBin -> {
buildList {
add(NodeBottomSheetAction.RESTORE)
add(NodeBottomSheetAction.DELETE_PERMANENTLY)
isOnline: Boolean = true,
): List<NodeBottomSheetAction> {
if (!isOnline) {
return buildList {

Check warning on line 41 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L41

Added line #L41 was not covered by tests
val canOpenOffline = cellNode is CellNodeUi.Folder ||
(cellNode is CellNodeUi.File && cellNode.localFileAvailable())
if (canOpenOffline) {
add(NodeBottomSheetAction.OPEN)

Check warning on line 45 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L45

Added line #L45 was not covered by tests
}
if (cellNode is CellNodeUi.File && cellNode.isAvailableOffline) {
add(NodeBottomSheetAction.REMOVE_OFFLINE_ACCESS)

Check warning on line 48 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L48

Added line #L48 was not covered by tests
}
}
}
return when {
isRecycleBin -> recycleBinActions()

isAllFiles || isSearching -> {
buildList {
if (cellNode is CellNodeUi.File && cellNode.openLoadState is OpenLoadState.Loading) {
add(NodeBottomSheetAction.CANCEL_LOADING)
} else {
if (cellNode is CellNodeUi.File && cellNode.localFileAvailable()) {
add(NodeBottomSheetAction.SHARE)
}
add(NodeBottomSheetAction.PUBLIC_LINK)
}
}
commonActions(cellNode)
}

isConversationFiles -> {
buildList {
if (cellNode is CellNodeUi.File && cellNode.openLoadState is OpenLoadState.Loading) {
add(NodeBottomSheetAction.CANCEL_LOADING)
} else {
if (cellNode is CellNodeUi.File && cellNode.localFileAvailable()) {
add(NodeBottomSheetAction.SHARE)
}
add(NodeBottomSheetAction.PUBLIC_LINK)

if (isCollaboraEnabled && featureFlags.collaboraIntegration && cellNode.isEditSupported()) {
add(NodeBottomSheetAction.EDIT)
}

if (featureFlags.collaboraIntegration && cellNode.isEditSupported()) {
add(NodeBottomSheetAction.VERSION_HISTORY)
}

add(NodeBottomSheetAction.ADD_REMOVE_TAGS)
add(NodeBottomSheetAction.MOVE)
add(NodeBottomSheetAction.RENAME)
add(NodeBottomSheetAction.DELETE)
}
val common = commonActions(cellNode)
val isTerminal = cellNode is CellNodeUi.File &&
(cellNode.isOpenLoading || cellNode.downloadProgress != null)
if (isTerminal) {
common
} else {
common + conversationActions(
cellNode = cellNode,
isCollaboraEnabled = isCollaboraEnabled,
)
}
}

else -> {
emptyList()
else -> emptyList()

Check warning on line 73 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L73

Added line #L73 was not covered by tests
}
}

private fun recycleBinActions(): List<NodeBottomSheetAction> = listOf(
NodeBottomSheetAction.RESTORE,
NodeBottomSheetAction.DELETE_PERMANENTLY,
)

private fun commonActions(
cellNode: CellNodeUi,
): List<NodeBottomSheetAction> = buildList {

if (cellNode is CellNodeUi.File) {

when {
cellNode.isOpenLoading -> {
add(NodeBottomSheetAction.CANCEL_LOADING)

Check warning on line 90 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L90

Added line #L90 was not covered by tests
return@buildList
}

cellNode.downloadProgress != null -> {
add(NodeBottomSheetAction.CANCEL_DOWNLOAD)
return@buildList
}

else -> {

add(NodeBottomSheetAction.OPEN)

if (cellNode.localFileAvailable()) {
add(NodeBottomSheetAction.SHARE)
}

add(
if (cellNode.isAvailableOffline) {
NodeBottomSheetAction.REMOVE_OFFLINE_ACCESS
} else {
NodeBottomSheetAction.MAKE_AVAILABLE_OFFLINE
},
)
}
}
} else {
add(NodeBottomSheetAction.OPEN)
}
}

private fun conversationActions(
cellNode: CellNodeUi,
isCollaboraEnabled: Boolean,
): List<NodeBottomSheetAction> = buildList {

val canEdit = cellNode is CellNodeUi.File &&
isCollaboraEnabled &&
featureFlags.collaboraIntegration &&
cellNode.isEditSupported()

if (canEdit) {
add(NodeBottomSheetAction.EDIT)
}

if (

Check warning on line 135 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L135

Added line #L135 was not covered by tests
cellNode is CellNodeUi.File &&
featureFlags.collaboraIntegration &&
cellNode.isEditSupported()
) {
add(NodeBottomSheetAction.VERSION_HISTORY)
}

addAll(
listOf(
NodeBottomSheetAction.ADD_REMOVE_TAGS,
NodeBottomSheetAction.PUBLIC_LINK,
NodeBottomSheetAction.MOVE,
NodeBottomSheetAction.RENAME,
NodeBottomSheetAction.DELETE,
),
)
}

internal sealed interface MenuActionResult
internal data class Action(val action: CellViewAction) : MenuActionResult
internal data class Open(val node: CellNodeUi) : MenuActionResult

Check warning on line 156 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L156

Added line #L156 was not covered by tests
internal data class Share(val node: CellNodeUi.File) : MenuActionResult
internal data class Edit(val node: CellNodeUi) : MenuActionResult
internal data class CancelLoading(val node: CellNodeUi) : MenuActionResult
internal data class CancelDownload(val node: CellNodeUi) : MenuActionResult
internal data class MakeAvailableOffline(val node: CellNodeUi.File) : MenuActionResult

Check warning on line 161 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L161

Added line #L161 was not covered by tests
internal data class RemoveOfflineAccess(val node: CellNodeUi.File) : MenuActionResult

internal fun onMenuItemAction(
conversationId: String?,
Expand All @@ -103,6 +169,7 @@
onResult: (MenuActionResult) -> Unit,
) {
val result = when (action) {
NodeBottomSheetAction.OPEN -> Open(node)

Check warning on line 172 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L172

Added line #L172 was not covered by tests
NodeBottomSheetAction.SHARE -> {
if (node is CellNodeUi.File) {
Share(node)
Expand Down Expand Up @@ -137,6 +204,22 @@
NodeBottomSheetAction.EDIT -> Edit(node)
NodeBottomSheetAction.VERSION_HISTORY -> Action(ShowVersionHistoryScreen(node.uuid, node.name ?: ""))
NodeBottomSheetAction.CANCEL_LOADING -> CancelLoading(node)
NodeBottomSheetAction.CANCEL_DOWNLOAD -> CancelDownload(node)
NodeBottomSheetAction.MAKE_AVAILABLE_OFFLINE -> {
if (node is CellNodeUi.File) {
MakeAvailableOffline(node)

Check warning on line 210 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L210

Added line #L210 was not covered by tests
} else {
Action(ShowPublicLinkScreen(node))

Check warning on line 212 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L212

Added line #L212 was not covered by tests
}
}

NodeBottomSheetAction.REMOVE_OFFLINE_ACCESS -> {
if (node is CellNodeUi.File) {
RemoveOfflineAccess(node)
} else {
Action(ShowPublicLinkScreen(node))

Check warning on line 220 in features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt

View check run for this annotation

Codecov / codecov/patch

features/cells/src/main/java/com/wire/android/feature/cells/ui/CellFileActionsMenu.kt#L220

Added line #L220 was not covered by tests
}
}
}

onResult(result)
Expand Down
Loading
Loading