From 75bd97d0ae5b04625c454226497241490a9f6a9f Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 23 Oct 2023 16:01:43 -0300 Subject: [PATCH] fix crash when uploading images/videos using external signer --- .../amethyst/ui/actions/NewPostViewModel.kt | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt index 59dc50180..2c96c5376 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt @@ -322,28 +322,30 @@ open class NewPostViewModel() : ViewModel() { createNIP95Record(it.readBytes(), contentType, alt, sensitiveContent, relayList = relayList) } } else { - ImageUploader.uploadImage( - uri = fileUri, - contentType = contentType, - size = size, - server = server, - contentResolver = contentResolver, - onSuccess = { imageUrl, mimeType -> - if (isNIP94Server(server)) { - createNIP94Record(imageUrl, mimeType, alt, sensitiveContent) - } else { + viewModelScope.launch(Dispatchers.IO) { + ImageUploader.uploadImage( + uri = fileUri, + contentType = contentType, + size = size, + server = server, + contentResolver = contentResolver, + onSuccess = { imageUrl, mimeType -> + if (isNIP94Server(server)) { + createNIP94Record(imageUrl, mimeType, alt, sensitiveContent) + } else { + isUploadingImage = false + message = TextFieldValue(message.text + "\n\n" + imageUrl) + urlPreview = findUrlInMessage() + } + }, + onError = { isUploadingImage = false - message = TextFieldValue(message.text + "\n\n" + imageUrl) - urlPreview = findUrlInMessage() + viewModelScope.launch { + imageUploadingError.emit("Failed to upload the image / video") + } } - }, - onError = { - isUploadingImage = false - viewModelScope.launch { - imageUploadingError.emit("Failed to upload the image / video") - } - } - ) + ) + } } }, onError = {