Commit 9f68db32 authored by Thomas's avatar Thomas
Browse files

Fix issue #367 - Fix notification aggregation with pagination

parent 15921978
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -485,6 +485,10 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
        binding.loadingNextElements.setVisibility(View.GONE);
        flagLoading = false;
        if (notificationList != null && fetched_notifications != null && fetched_notifications.notifications != null && fetched_notifications.notifications.size() > 0) {

            if (aggregateNotification) {
                fetched_notifications.notifications = aggregateNotifications(fetched_notifications.notifications);
            }
            try {
                if (notificationToUpdate != null) {
                    new Thread(() -> {
@@ -503,7 +507,6 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
                }
            } catch (Exception ignored) {
            }

            flagLoading = fetched_notifications.pagination.max_id == null;
            binding.noAction.setVisibility(View.GONE);
            //Update the timeline with new statuses
@@ -514,6 +517,9 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
            if (direction == FragmentMastodonTimeline.DIRECTION.TOP && fetchingMissing) {
                binding.recyclerView.scrollToPosition(getPosition(fetched_notifications.notifications.get(fetched_notifications.notifications.size() - 1)) + 1);
            }
            if (aggregateNotification && notificationList != null && notificationList.size() > 0) {
                notificationAdapter.notifyItemRangeChanged(0, notificationList.size());
            }
            if (!fetchingMissing) {
                if (fetched_notifications.pagination.max_id == null) {
                    flagLoading = true;