From 6deb408d80d8fb8d4e757ed944d2d24a36013054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Sun, 29 Mar 2020 15:30:30 +0200 Subject: [PATCH] [API/Librus] Fix attachment downloading, once again. --- .../data/api/edziennik/librus/data/LibrusMessages.kt | 10 ++++++++-- .../data/messages/LibrusMessagesGetAttachment.kt | 11 ++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusMessages.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusMessages.kt index 845cf83f..dc8d8c47 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusMessages.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusMessages.kt @@ -253,6 +253,7 @@ open class LibrusMessages(open val data: DataLibrus, open val lastSync: Long?) { } fun sandboxGetFile(tag: String, url: String, targetFile: File, onSuccess: (file: File) -> Unit, + method: Int = GET, onProgress: (written: Long, total: Long) -> Unit) { d(tag, "Request: Librus/Messages - $url") @@ -291,9 +292,14 @@ open class LibrusMessages(open val data: DataLibrus, open val lastSync: Long?) { } Request.builder() - .url("$url") + .url(url) .userAgent(SYNERGIA_USER_AGENT) - .post() + .also { + when (method) { + POST -> it.post() + else -> it.get() + } + } .callback(callback) .build() .enqueue() diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/messages/LibrusMessagesGetAttachment.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/messages/LibrusMessagesGetAttachment.kt index 38475c1f..8446cab7 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/messages/LibrusMessagesGetAttachment.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/messages/LibrusMessagesGetAttachment.kt @@ -6,10 +6,7 @@ package pl.szczodrzynski.edziennik.data.api.edziennik.librus.data.messages import kotlinx.coroutines.* import org.greenrobot.eventbus.EventBus -import pl.szczodrzynski.edziennik.data.api.ERROR_FILE_DOWNLOAD -import pl.szczodrzynski.edziennik.data.api.EXCEPTION_LIBRUS_MESSAGES_REQUEST -import pl.szczodrzynski.edziennik.data.api.LIBRUS_SANDBOX_URL -import pl.szczodrzynski.edziennik.data.api.Regexes +import pl.szczodrzynski.edziennik.data.api.* import pl.szczodrzynski.edziennik.data.api.edziennik.librus.DataLibrus import pl.szczodrzynski.edziennik.data.api.edziennik.librus.data.LibrusMessages import pl.szczodrzynski.edziennik.data.api.events.AttachmentGetEvent @@ -54,10 +51,10 @@ class LibrusMessagesGetAttachment(override val data: DataLibrus, val attachmentKey = keyMatcher[1] getAttachmentCheckKey(attachmentKey) { - downloadAttachment("${LIBRUS_SANDBOX_URL}CSDownload&singleUseKey=$attachmentKey") + downloadAttachment("${LIBRUS_SANDBOX_URL}CSDownload&singleUseKey=$attachmentKey", method = POST) } } else { - downloadAttachment(downloadLink) + downloadAttachment(downloadLink, method = GET) } } } @@ -91,7 +88,7 @@ class LibrusMessagesGetAttachment(override val data: DataLibrus, } } - private fun downloadAttachment(url: String) { + private fun downloadAttachment(url: String, method: Int = GET) { val targetFile = File(Utils.getStorageDir(), attachmentName) sandboxGetFile(TAG, url, targetFile, { file ->