Add fileChoose callback to handler to ensure it is remembered (#759)

This commit is contained in:
David Perez 2024-01-24 16:14:01 -06:00 committed by Álison Fernandes
parent d66c3be2a6
commit 54e3ddf839
2 changed files with 6 additions and 2 deletions

View file

@ -59,13 +59,14 @@ fun AddSendScreen(
onNavigateBack: () -> Unit,
) {
val state by viewModel.stateFlow.collectAsStateWithLifecycle()
val addSendHandlers = remember(viewModel) { AddSendHandlers.create(viewModel) }
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
val context = LocalContext.current
val resources = context.resources
val fileChooserLauncher = intentManager.launchActivityForResult { activityResult ->
intentManager.getFileDataFromActivityResult(activityResult)?.let {
viewModel.trySendAction(AddSendAction.FileChoose(it))
addSendHandlers.onFileChoose(it)
}
}
@ -190,7 +191,7 @@ fun AddSendScreen(
state = viewState,
isAddMode = state.isAddMode,
isShared = state.isShared,
addSendHandlers = remember(viewModel) { AddSendHandlers.create(viewModel) },
addSendHandlers = addSendHandlers,
permissionsManager = permissionsManager,
modifier = modifier,
)

View file

@ -1,5 +1,6 @@
package com.x8bit.bitwarden.ui.tools.feature.send.addsend.handlers
import com.x8bit.bitwarden.ui.platform.manager.intent.IntentManager
import com.x8bit.bitwarden.ui.tools.feature.send.addsend.AddSendAction
import com.x8bit.bitwarden.ui.tools.feature.send.addsend.AddSendViewModel
import java.time.ZonedDateTime
@ -13,6 +14,7 @@ data class AddSendHandlers(
val onFileTypeSelect: () -> Unit,
val onTextTypeSelect: () -> Unit,
val onChooseFileClick: (hasPermission: Boolean) -> Unit,
val onFileChoose: (IntentManager.FileData) -> Unit,
val onTextChange: (String) -> Unit,
val onIsHideByDefaultToggle: (Boolean) -> Unit,
val onMaxAccessCountChange: (Int) -> Unit,
@ -37,6 +39,7 @@ data class AddSendHandlers(
onFileTypeSelect = { viewModel.trySendAction(AddSendAction.FileTypeClick) },
onTextTypeSelect = { viewModel.trySendAction(AddSendAction.TextTypeClick) },
onChooseFileClick = { viewModel.trySendAction(AddSendAction.ChooseFileClick(it)) },
onFileChoose = { viewModel.trySendAction(AddSendAction.FileChoose(it)) },
onTextChange = { viewModel.trySendAction(AddSendAction.TextChange(it)) },
onIsHideByDefaultToggle = {
viewModel.trySendAction(AddSendAction.HideByDefaultToggle(it))