fix upload image

This commit is contained in:
greenart7c3
2023-09-13 19:15:00 -03:00
parent 33f7c5c82e
commit 21560d098e
3 changed files with 70 additions and 53 deletions

View File

@@ -92,24 +92,32 @@ open class NewMediaModel : ViewModel() {
} else { } else {
uploadingPercentage.value = 0.2f uploadingPercentage.value = 0.2f
uploadingDescription.value = "Uploading" uploadingDescription.value = "Uploading"
ImageUploader.uploadImage( viewModelScope.launch(Dispatchers.IO) {
uri = fileUri, ImageUploader.uploadImage(
contentType = contentType, uri = fileUri,
size = size, contentType = contentType,
server = serverToUse, size = size,
contentResolver = contentResolver, server = serverToUse,
onSuccess = { imageUrl, mimeType -> contentResolver = contentResolver,
createNIP94Record(imageUrl, mimeType, description, sensitiveContent, relayList = relayList) onSuccess = { imageUrl, mimeType ->
}, createNIP94Record(
onError = { imageUrl,
isUploadingImage = false mimeType,
uploadingPercentage.value = 0.00f description,
uploadingDescription.value = null sensitiveContent,
viewModelScope.launch { relayList = relayList
imageUploadingError.emit("Failed to upload the image / video") )
},
onError = {
isUploadingImage = false
uploadingPercentage.value = 0.00f
uploadingDescription.value = null
viewModelScope.launch {
imageUploadingError.emit("Failed to upload the image / video")
}
} }
} )
) }
} }
}, },
onError = { onError = {

View File

@@ -307,28 +307,35 @@ open class NewPostViewModel() : ViewModel() {
createNIP95Record(it.readBytes(), contentType, description, sensitiveContent, relayList = relayList) createNIP95Record(it.readBytes(), contentType, description, sensitiveContent, relayList = relayList)
} }
} else { } else {
ImageUploader.uploadImage( viewModelScope.launch(Dispatchers.IO) {
uri = fileUri, ImageUploader.uploadImage(
contentType = contentType, uri = fileUri,
size = size, contentType = contentType,
server = server, size = size,
contentResolver = contentResolver, server = server,
onSuccess = { imageUrl, mimeType -> contentResolver = contentResolver,
if (isNIP94Server(server)) { onSuccess = { imageUrl, mimeType ->
createNIP94Record(imageUrl, mimeType, description, sensitiveContent) if (isNIP94Server(server)) {
} else { createNIP94Record(
imageUrl,
mimeType,
description,
sensitiveContent
)
} else {
isUploadingImage = false
message = TextFieldValue(message.text + "\n\n" + imageUrl)
urlPreview = findUrlInMessage()
}
},
onError = {
isUploadingImage = false isUploadingImage = false
message = TextFieldValue(message.text + "\n\n" + imageUrl) viewModelScope.launch {
urlPreview = findUrlInMessage() imageUploadingError.emit("Failed to upload the image / video")
}
} }
}, )
onError = { }
isUploadingImage = false
viewModelScope.launch {
imageUploadingError.emit("Failed to upload the image / video")
}
}
)
} }
}, },
onError = { onError = {

View File

@@ -182,23 +182,25 @@ class NewUserMetadataViewModel : ViewModel() {
contentResolver.getType(galleryUri), contentResolver.getType(galleryUri),
context.applicationContext, context.applicationContext,
onReady = { fileUri, contentType, size -> onReady = { fileUri, contentType, size ->
ImageUploader.uploadImage( viewModelScope.launch(Dispatchers.IO) {
uri = fileUri, ImageUploader.uploadImage(
contentType = contentType, uri = fileUri,
size = size, contentType = contentType,
server = account.defaultFileServer, size = size,
contentResolver = contentResolver, server = account.defaultFileServer,
onSuccess = { imageUrl, mimeType -> contentResolver = contentResolver,
onUploading(false) onSuccess = { imageUrl, mimeType ->
onUploaded(imageUrl) onUploading(false)
}, onUploaded(imageUrl)
onError = { },
onUploading(false) onError = {
viewModelScope.launch { onUploading(false)
imageUploadingError.emit("Failed to upload the image / video") viewModelScope.launch {
imageUploadingError.emit("Failed to upload the image / video")
}
} }
} )
) }
}, },
onError = { onError = {
onUploading(false) onUploading(false)