From a36dd7baa14c5b7f81658ae313f6f8ba7251f712 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 8 Dec 2023 13:55:38 +0200 Subject: [PATCH] Fix empty timeline --- .../circles/feature/timeline/list/TimelineAdapter.kt | 9 ++------- .../timeline/data_source/BaseTimelineDataSource.kt | 3 ++- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineAdapter.kt b/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineAdapter.kt index 10e4bc942..5d6f5407f 100644 --- a/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineAdapter.kt +++ b/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineAdapter.kt @@ -1,10 +1,9 @@ package org.futo.circles.feature.timeline.list import android.annotation.SuppressLint -import android.content.Context import android.view.ViewGroup import org.futo.circles.core.base.list.BaseRvAdapter -import org.futo.circles.core.feature.markdown.MarkdownParser +import org.futo.circles.core.feature.timeline.data_source.BaseTimelineDataSource import org.futo.circles.core.model.Post import org.futo.circles.core.model.PostContentType import org.futo.circles.model.PostItemPayload @@ -47,7 +46,7 @@ class TimelineAdapter( override fun onBindViewHolder(holder: PostViewHolder, position: Int) { holder.bind(getItem(position), userPowerLevel) - if (position >= itemCount - LOAD_MORE_THRESHOLD) onLoadMore() + if (position >= itemCount - BaseTimelineDataSource.LOAD_MORE_THRESHOLD) onLoadMore() } override fun onBindViewHolder( @@ -71,8 +70,4 @@ class TimelineAdapter( (holder as? UploadMediaViewHolder)?.uploadMediaTracker?.unTrack() } - companion object { - private const val LOAD_MORE_THRESHOLD = 15 - } - } \ No newline at end of file diff --git a/core/src/main/java/org/futo/circles/core/feature/timeline/data_source/BaseTimelineDataSource.kt b/core/src/main/java/org/futo/circles/core/feature/timeline/data_source/BaseTimelineDataSource.kt index 490612ebb..0cceea128 100644 --- a/core/src/main/java/org/futo/circles/core/feature/timeline/data_source/BaseTimelineDataSource.kt +++ b/core/src/main/java/org/futo/circles/core/feature/timeline/data_source/BaseTimelineDataSource.kt @@ -59,7 +59,7 @@ abstract class BaseTimelineDataSource( }.flowOn(Dispatchers.IO) .mapLatest { val items = timelineBuilder.build(it, isThread) - if (it.isNotEmpty() && items.isEmpty()) loadMore() + if (it.isNotEmpty() && items.size <= LOAD_MORE_THRESHOLD) loadMore() items } .distinctUntilChanged() @@ -94,5 +94,6 @@ abstract class BaseTimelineDataSource( companion object { private const val MESSAGES_PER_PAGE = 50 + const val LOAD_MORE_THRESHOLD = 15 } } \ No newline at end of file -- GitLab