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