diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt index 2784a57f4b6ba8cebd7dad4d5c99cbc9301adee1..866f108e1419f01837318a2fb91d7eb3e324fe29 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt @@ -63,11 +63,9 @@ import de.kuschku.quasseldroid.util.service.ServiceBoundFragment import de.kuschku.quasseldroid.util.ui.LinkLongClickMenuHelper import de.kuschku.quasseldroid.util.ui.SpanFormatter import de.kuschku.quasseldroid.viewmodel.data.Avatar -import io.reactivex.BackpressureStrategy import org.threeten.bp.ZoneId import org.threeten.bp.ZonedDateTime import org.threeten.bp.temporal.ChronoUnit -import java.util.concurrent.TimeUnit import javax.inject.Inject import kotlin.math.roundToInt @@ -331,34 +329,6 @@ class MessageListFragment : ServiceBoundFragment() { } }) - var previousVisible = -1L - viewModel.buffer.toFlowable(BackpressureStrategy.LATEST).switchMap { buffer -> - database.filtered().listenRx(accountId, buffer).switchMap { filtered -> - database.message().firstMsgId(buffer).map { - Pair(it, database.message().firstVisibleMsgId(buffer, filtered)) - } - } - }.distinctUntilChanged() - .throttleLast(1, TimeUnit.SECONDS) - .toLiveData().observe(this, Observer { - runInBackground { - val first = it?.first - val visible = it?.second ?: -1 - - if (first != null) { - if (previousVisible == visible) { - loadMore() - } else { - requireActivity().runOnUiThread { - swipeRefreshLayout.isRefreshing = false - } - } - - previousVisible = visible - } - } - }) - viewModel.session.toLiveData().zip(lastMessageId).observe( this, Observer { runInBackground { @@ -495,8 +465,7 @@ class MessageListFragment : ServiceBoundFragment() { ?: database.message().findFirstByBufferId(bufferId)?.messageId ?: -1, untilVisible = initial ) { - Throwable().printStackTrace() - requireActivity().runOnUiThread { + activity?.runOnUiThread { swipeRefreshLayout.isRefreshing = false } }