mirror of
https://github.com/szkolny-eu/szkolny-android.git
synced 2025-01-31 05:48:19 +01:00
[API/Librus] Fix attachment downloading.
This commit is contained in:
parent
55ff9173be
commit
bc0918a115
@ -252,10 +252,10 @@ open class LibrusMessages(open val data: DataLibrus, open val lastSync: Long?) {
|
|||||||
.enqueue()
|
.enqueue()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun sandboxGetFile(tag: String, action: String, targetFile: File, onSuccess: (file: File) -> Unit,
|
fun sandboxGetFile(tag: String, url: String, targetFile: File, onSuccess: (file: File) -> Unit,
|
||||||
onProgress: (written: Long, total: Long) -> Unit) {
|
onProgress: (written: Long, total: Long) -> Unit) {
|
||||||
|
|
||||||
d(tag, "Request: Librus/Messages - $LIBRUS_SANDBOX_URL$action")
|
d(tag, "Request: Librus/Messages - $url")
|
||||||
|
|
||||||
val callback = object : FileCallbackHandler(targetFile) {
|
val callback = object : FileCallbackHandler(targetFile) {
|
||||||
override fun onSuccess(file: File?, response: Response?) {
|
override fun onSuccess(file: File?, response: Response?) {
|
||||||
@ -291,7 +291,7 @@ open class LibrusMessages(open val data: DataLibrus, open val lastSync: Long?) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Request.builder()
|
Request.builder()
|
||||||
.url("$LIBRUS_SANDBOX_URL$action")
|
.url("$url")
|
||||||
.userAgent(SYNERGIA_USER_AGENT)
|
.userAgent(SYNERGIA_USER_AGENT)
|
||||||
.post()
|
.post()
|
||||||
.callback(callback)
|
.callback(callback)
|
||||||
|
@ -8,6 +8,7 @@ import kotlinx.coroutines.*
|
|||||||
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.EventBus
|
||||||
import pl.szczodrzynski.edziennik.data.api.ERROR_FILE_DOWNLOAD
|
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.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.Regexes
|
||||||
import pl.szczodrzynski.edziennik.data.api.edziennik.librus.DataLibrus
|
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.edziennik.librus.data.LibrusMessages
|
||||||
@ -53,11 +54,10 @@ class LibrusMessagesGetAttachment(override val data: DataLibrus,
|
|||||||
|
|
||||||
val attachmentKey = keyMatcher[1]
|
val attachmentKey = keyMatcher[1]
|
||||||
getAttachmentCheckKey(attachmentKey) {
|
getAttachmentCheckKey(attachmentKey) {
|
||||||
downloadAttachment(attachmentKey)
|
downloadAttachment("${LIBRUS_SANDBOX_URL}CSDownload&singleUseKey=$attachmentKey")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
data.error(ApiError(TAG, ERROR_FILE_DOWNLOAD)
|
downloadAttachment(downloadLink)
|
||||||
.withApiResponse(doc.toString()))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -91,10 +91,10 @@ class LibrusMessagesGetAttachment(override val data: DataLibrus,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun downloadAttachment(attachmentKey: String) {
|
private fun downloadAttachment(url: String) {
|
||||||
val targetFile = File(Utils.getStorageDir(), attachmentName)
|
val targetFile = File(Utils.getStorageDir(), attachmentName)
|
||||||
|
|
||||||
sandboxGetFile(TAG, "CSDownload&singleUseKey=$attachmentKey", targetFile, { file ->
|
sandboxGetFile(TAG, url, targetFile, { file ->
|
||||||
|
|
||||||
val event = AttachmentGetEvent(
|
val event = AttachmentGetEvent(
|
||||||
profileId,
|
profileId,
|
||||||
|
@ -109,6 +109,11 @@ class LibrusMessagesGetList(override val data: DataLibrus,
|
|||||||
id
|
id
|
||||||
)
|
)
|
||||||
|
|
||||||
|
element.select("isAnyFileAttached")?.text()?.let {
|
||||||
|
if (it == "1")
|
||||||
|
messageObject.overrideHasAttachments = true
|
||||||
|
}
|
||||||
|
|
||||||
data.messageIgnoreList.add(messageObject)
|
data.messageIgnoreList.add(messageObject)
|
||||||
data.messageRecipientList.add(messageRecipientObject)
|
data.messageRecipientList.add(messageRecipientObject)
|
||||||
data.setSeenMetadataList.add(Metadata(
|
data.setSeenMetadataList.add(Metadata(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user