diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessageBoxes.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessageBoxes.kt index e1c03aff..df6613ba 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessageBoxes.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessageBoxes.kt @@ -26,16 +26,24 @@ class VulcanHebeMessageBoxes( VULCAN_HEBE_ENDPOINT_MESSAGEBOX, lastSync = lastSync ) { list, _ -> + var found = false for (messageBox in list) { val name = messageBox.getString("Name") ?: continue val studentName = profile?.studentNameLong ?: continue - if (!name.startsWith(studentName)) + if (!name.contains(studentName)) continue data.messageBoxKey = messageBox.getString("GlobalKey") data.messageBoxName = name + found = true break } + if (!found && list.isNotEmpty()) { + list.firstOrNull()?.let { messageBox -> + data.messageBoxKey = messageBox.getString("GlobalKey") + data.messageBoxName = messageBox.getString("Name") + } + } data.setSyncNext(ENDPOINT_VULCAN_HEBE_MESSAGE_BOXES, 7 * DAY) onSuccess(ENDPOINT_VULCAN_HEBE_MESSAGE_BOXES) } diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessages.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessages.kt index 29f37e62..affca1e1 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessages.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessages.kt @@ -98,9 +98,6 @@ class VulcanHebeMessages( val receivers = message.getJsonArray("Receiver") ?.asJsonObjectList() ?: return@forEach - val receiverReadDate = - if (receivers.size == 1) readDate - else -1 for (receiver in receivers) { val recipientId = if (messageType == TYPE_SENT) @@ -108,6 +105,8 @@ class VulcanHebeMessages( else -1 + val receiverReadDate = receiver.getLong("HasRead", -1) + val messageRecipientObject = MessageRecipient( profileId, recipientId, diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessagesChangeStatus.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessagesChangeStatus.kt index f0090a9c..2144a768 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessagesChangeStatus.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/hebe/VulcanHebeMessagesChangeStatus.kt @@ -24,7 +24,7 @@ class VulcanHebeMessagesChangeStatus( } init { let { - val messageKey = messageObject.body?.let { data.parseMessageMeta(it) }?.get("globalKey") ?: run { + val messageKey = messageObject.body?.let { data.parseMessageMeta(it) }?.get("uuid") ?: run { EventBus.getDefault().postSticky(MessageGetEvent(messageObject)) onSuccess() return@let