allow displaying older messages

This commit is contained in:
Pavel Poley 2022-06-02 15:12:48 +03:00
parent d2f824ed66
commit ec157ba19e
2 changed files with 5 additions and 4 deletions

View File

@ -367,20 +367,21 @@ class ThreadActivity : SimpleActivity() {
private fun fetchNextMessages() { private fun fetchNextMessages() {
if (messages.isEmpty() || allMessagesFetched || loadingOlderMessages) return if (messages.isEmpty() || allMessagesFetched || loadingOlderMessages) return
//toast("fetchNextMessages")
val date = messages.first().date val date = messages.first().date
if (oldestMessageDate == date) { if (oldestMessageDate == date) {
allMessagesFetched = true allMessagesFetched = true
return return
} }
toast("fetchNextMessages")
oldestMessageDate = date oldestMessageDate = date
loadingOlderMessages = true loadingOlderMessages = true
ensureBackgroundThread { ensureBackgroundThread {
val olderMessages = getMessages(threadId, true, oldestMessageDate) val olderMessages = getMessages(threadId, true, oldestMessageDate)
messages.addAll(0, olderMessages) messages.addAll(0, olderMessages)
threadItems = getThreadItems()
allMessagesFetched = olderMessages.size < MESSAGES_LIMIT || olderMessages.size == 0 allMessagesFetched = olderMessages.size < MESSAGES_LIMIT || olderMessages.size == 0
@ -391,7 +392,7 @@ class ThreadActivity : SimpleActivity() {
runOnUiThread { runOnUiThread {
loadingOlderMessages = false loadingOlderMessages = false
val itemAtRefreshIndex = messages.indexOfFirst { it == topItemAtRefresh } val itemAtRefreshIndex = messages.indexOfFirst { it == topItemAtRefresh }
adapter.updateMessages(getThreadItems(), itemAtRefreshIndex) adapter.updateMessages(threadItems, itemAtRefreshIndex)
} }
} }
} }

View File

@ -54,7 +54,7 @@ const val FILE_SIZE_600_KB = 614_400L
const val FILE_SIZE_1_MB = 1_048_576L const val FILE_SIZE_1_MB = 1_048_576L
const val FILE_SIZE_2_MB = 2_097_152L const val FILE_SIZE_2_MB = 2_097_152L
const val MESSAGES_LIMIT = 15 const val MESSAGES_LIMIT = 100
fun refreshMessages() { fun refreshMessages() {
EventBus.getDefault().post(Events.RefreshMessages()) EventBus.getDefault().post(Events.RefreshMessages())