Skip to content
Snippets Groups Projects
Verified Commit 6b14621e authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Automatically reload messages on reconnect

parent 557b054b
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -40,9 +40,12 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.ListPreloader
import com.bumptech.glide.integration.recyclerview.RecyclerViewPreloader
import com.bumptech.glide.util.FixedPreloadSizeProvider
import de.kuschku.libquassel.connection.ConnectionState
import de.kuschku.libquassel.protocol.BufferId
import de.kuschku.libquassel.protocol.MsgId
import de.kuschku.libquassel.quassel.syncables.BufferSyncer
import de.kuschku.libquassel.session.SessionManager
import de.kuschku.libquassel.util.helpers.mapSwitchMap
import de.kuschku.libquassel.util.helpers.value
import de.kuschku.libquassel.util.irc.HostmaskHelper
import de.kuschku.quasseldroid.GlideApp
......@@ -246,8 +249,7 @@ class MessageListFragment : ServiceBoundFragment() {
}
var isScrolling = false
messageList.addOnScrollListener(
object : RecyclerView.OnScrollListener() {
messageList.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
val canScrollDown = recyclerView.canScrollVertically(1)
val isScrollingDown = dy > 0
......@@ -314,6 +316,15 @@ class MessageListFragment : ServiceBoundFragment() {
swipeRefreshLayout.isEnabled = (bufferId != null || bufferId != -1)
})
viewModel.sessionManager.mapSwitchMap(SessionManager::state).distinctUntilChanged().toLiveData().observe(
this, Observer {
if (it?.orNull() == ConnectionState.CONNECTED) {
runInBackgroundDelayed(16) {
loadMore()
}
}
})
var previousVisible = -1L
viewModel.buffer.toFlowable(BackpressureStrategy.LATEST).switchMap { buffer ->
database.filtered().listenRx(accountId, buffer).switchMap { filtered ->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment