mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2024-12-23 01:00:04 +02:00
Fix issue #367 - Fix notification aggregation with pagination
This commit is contained in:
parent
15921978d3
commit
9f68db32ec
1 changed files with 7 additions and 1 deletions
|
@ -485,6 +485,10 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
binding.loadingNextElements.setVisibility(View.GONE);
|
binding.loadingNextElements.setVisibility(View.GONE);
|
||||||
flagLoading = false;
|
flagLoading = false;
|
||||||
if (notificationList != null && fetched_notifications != null && fetched_notifications.notifications != null && fetched_notifications.notifications.size() > 0) {
|
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 {
|
try {
|
||||||
if (notificationToUpdate != null) {
|
if (notificationToUpdate != null) {
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
|
@ -503,7 +507,6 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
}
|
}
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
}
|
}
|
||||||
|
|
||||||
flagLoading = fetched_notifications.pagination.max_id == null;
|
flagLoading = fetched_notifications.pagination.max_id == null;
|
||||||
binding.noAction.setVisibility(View.GONE);
|
binding.noAction.setVisibility(View.GONE);
|
||||||
//Update the timeline with new statuses
|
//Update the timeline with new statuses
|
||||||
|
@ -514,6 +517,9 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
|
||||||
if (direction == FragmentMastodonTimeline.DIRECTION.TOP && fetchingMissing) {
|
if (direction == FragmentMastodonTimeline.DIRECTION.TOP && fetchingMissing) {
|
||||||
binding.recyclerView.scrollToPosition(getPosition(fetched_notifications.notifications.get(fetched_notifications.notifications.size() - 1)) + 1);
|
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 (!fetchingMissing) {
|
||||||
if (fetched_notifications.pagination.max_id == null) {
|
if (fetched_notifications.pagination.max_id == null) {
|
||||||
flagLoading = true;
|
flagLoading = true;
|
||||||
|
|
Loading…
Reference in a new issue