From ef6aeffc040e79ee0d59bde043fe639b4d8cf729 Mon Sep 17 00:00:00 2001 From: M M Arif Date: Thu, 10 Mar 2022 00:49:16 +0500 Subject: [PATCH] Fix notifications pagination --- .../mian/gitnex/adapters/NotificationsAdapter.java | 8 +------- .../gitnex/fragments/NotificationsFragment.java | 13 ++++++------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/org/mian/gitnex/adapters/NotificationsAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/NotificationsAdapter.java index 13973ece..e867be62 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/NotificationsAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/NotificationsAdapter.java @@ -36,7 +36,6 @@ public class NotificationsAdapter extends RecyclerView.Adapter notificationThreads; private final OnMoreClickedListener onMoreClickedListener; private final OnNotificationClickedListener onNotificationClickedListener; - private Runnable loadMoreListener; private boolean isLoading = false, isMoreDataAvailable = true; private final TinyDB tinyDb; @@ -62,9 +61,8 @@ public class NotificationsAdapter extends RecyclerView.Adapter= getItemCount() - 1 && isMoreDataAvailable && !isLoading && loadMoreListener != null) { + if(position >= getItemCount() - 1 && isMoreDataAvailable && !isLoading) { isLoading = true; - loadMoreListener.run(); } if(getItemViewType(position) == TYPE_LOAD) { @@ -212,10 +210,6 @@ public class NotificationsAdapter extends RecyclerView.Adapter list) { notificationThreads = list; notifyDataChanged(); diff --git a/app/src/main/java/org/mian/gitnex/fragments/NotificationsFragment.java b/app/src/main/java/org/mian/gitnex/fragments/NotificationsFragment.java index 4dc7a0ff..1d5fae99 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/NotificationsFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/NotificationsFragment.java @@ -4,8 +4,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -91,15 +89,16 @@ public class NotificationsFragment extends Fragment implements NotificationsAdap viewBinding.notifications.setAdapter(notificationsAdapter); viewBinding.notifications.addItemDecoration(dividerItemDecoration); - notificationsAdapter.setLoadMoreListener(() -> { - pageCurrentIndex++; - loadNotifications(true); - }); - viewBinding.notifications.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { + + if(!recyclerView.canScrollVertically(1) && dy != 0) { + pageCurrentIndex++; + loadNotifications(true); + } + if(currentFilterMode.equalsIgnoreCase("unread")) { if(dy > 0 && viewBinding.markAllAsRead.isShown()) { viewBinding.markAllAsRead.setVisibility(View.GONE);