diff --git a/app/src/main/java/com/github/libretube/adapters/SubscriptionAdapter.kt b/app/src/main/java/com/github/libretube/adapters/SubscriptionAdapter.kt index fe8939b59..1f36f925a 100644 --- a/app/src/main/java/com/github/libretube/adapters/SubscriptionAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/SubscriptionAdapter.kt @@ -19,8 +19,17 @@ class SubscriptionAdapter( ) : RecyclerView.Adapter() { private val TAG = "SubscriptionAdapter" + var i = 0 override fun getItemCount(): Int { - return videoFeed.size + return i + } + + fun updateItems() { + i += 10 + if (i > videoFeed.size) { + i = videoFeed.size + } + notifyDataSetChanged() } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SubscriptionViewHolder { diff --git a/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt b/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt index 1507e6263..f853b7d3b 100644 --- a/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt @@ -85,6 +85,20 @@ class SubscriptionsFragment : Fragment() { binding.subFeed.visibility = View.VISIBLE } } + + binding.scrollviewSub.viewTreeObserver + .addOnScrollChangedListener { + if (binding.scrollviewSub.getChildAt(0).bottom + == (binding.scrollviewSub.height + binding.scrollviewSub.scrollY) + ) { + // scroll view is at bottom + if (isLoaded) { + binding.subRefresh.isRefreshing = true + subscriptionAdapter?.updateItems() + binding.subRefresh.isRefreshing = false + } + } + } } else { binding.subRefresh.isEnabled = false } @@ -108,6 +122,7 @@ class SubscriptionsFragment : Fragment() { if (response.isNotEmpty()) { subscriptionAdapter = SubscriptionAdapter(response, childFragmentManager) feedRecView.adapter = subscriptionAdapter + subscriptionAdapter?.updateItems() } else { runOnUiThread { with(binding.boogh) { diff --git a/app/src/main/res/layout/fragment_subscriptions.xml b/app/src/main/res/layout/fragment_subscriptions.xml index b580cdf04..fb0db0cd7 100644 --- a/app/src/main/res/layout/fragment_subscriptions.xml +++ b/app/src/main/res/layout/fragment_subscriptions.xml @@ -94,18 +94,33 @@ - + android:descendantFocusability="blocksDescendants"> + + + + + + + android:descendantFocusability="blocksDescendants"> + + + +