Fix handling multiple shared attachments

pull/3594/head
Alex Baker 7 months ago
parent 169140cc0b
commit e580ced066

@ -14,7 +14,9 @@ import androidx.compose.ui.platform.LocalContext
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.tasks.R import org.tasks.R
import org.tasks.Strings import org.tasks.Strings
import org.tasks.compose.edit.AttachmentRow import org.tasks.compose.edit.AttachmentRow
@ -108,16 +110,16 @@ class FilesControlSet : TaskEditControlFragment() {
) )
} }
private fun newAttachment(output: Uri) { private suspend fun newAttachment(output: Uri) {
val attachment = TaskAttachment( val attachment = TaskAttachment(
uri = output.toString(), uri = output.toString(),
name = FileHelper.getFilename(requireContext(), output)!!, name = FileHelper.getFilename(requireContext(), output)!!,
) )
lifecycleScope.launch { withContext(Dispatchers.IO) {
taskAttachmentDao.insert(attachment) taskAttachmentDao.insert(attachment)
viewModel.setAttachments( viewModel.setAttachments(
viewModel.viewState.value.attachments + viewModel.viewState.value.attachments +
(taskAttachmentDao.getAttachment(attachment.remoteId) ?: return@launch)) (taskAttachmentDao.getAttachment(attachment.remoteId) ?: return@withContext))
} }
} }

Loading…
Cancel
Save