diff --git a/app/src/main/java/im/vector/riotredesign/features/home/room/detail/ScrollOnNewMessageCallback.kt b/app/src/main/java/im/vector/riotredesign/features/home/room/detail/ScrollOnNewMessageCallback.kt index 3328d8b408..38b4570f22 100644 --- a/app/src/main/java/im/vector/riotredesign/features/home/room/detail/ScrollOnNewMessageCallback.kt +++ b/app/src/main/java/im/vector/riotredesign/features/home/room/detail/ScrollOnNewMessageCallback.kt @@ -6,7 +6,7 @@ import im.vector.riotredesign.core.platform.DefaultListUpdateCallback class ScrollOnNewMessageCallback(private val layoutManager: LinearLayoutManager) : DefaultListUpdateCallback { override fun onInserted(position: Int, count: Int) { - if (layoutManager.findFirstVisibleItemPosition() == 0) { + if (position == 0 && layoutManager.findFirstVisibleItemPosition() == 0) { layoutManager.scrollToPosition(0) } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineHolder.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineHolder.kt index ca7299db4c..e14869e423 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineHolder.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineHolder.kt @@ -16,7 +16,7 @@ import im.vector.matrix.android.internal.session.events.interceptor.MessageEvent import io.realm.Realm import io.realm.RealmQuery -private const val PAGE_SIZE = 30 +private const val PAGE_SIZE = 60 internal class DefaultTimelineHolder(private val roomId: String, private val monarchy: Monarchy, @@ -26,7 +26,7 @@ internal class DefaultTimelineHolder(private val roomId: String, private val eventInterceptors = ArrayList() init { - boundaryCallback.limit = PAGE_SIZE + boundaryCallback.limit = PAGE_SIZE / 2 eventInterceptors.add(MessageEventInterceptor(monarchy, roomId)) } @@ -55,7 +55,7 @@ internal class DefaultTimelineHolder(private val roomId: String, .setEnablePlaceholders(false) .setPageSize(PAGE_SIZE) .setInitialLoadSizeHint(PAGE_SIZE) - .setPrefetchDistance(20) + .setPrefetchDistance(PAGE_SIZE / 2) .build() val livePagedListBuilder = LivePagedListBuilder(domainSourceFactory, pagedListConfig).setBoundaryCallback(boundaryCallback)