diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java index 3a07d55ed..0bef27f8d 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java @@ -387,7 +387,7 @@ public class FragmentMastodonNotification extends Fragment implements Notificati } timelineParams.excludeType = getExcludeType(); timelineParams.fetchingMissing = fetchingMissing; - if (useCache) { + if (useCache && direction != FragmentMastodonTimeline.DIRECTION.SCROLL_TOP && direction != FragmentMastodonTimeline.DIRECTION.FETCH_NEW) { getCachedNotifications(direction, fetchingMissing, timelineParams); } else { getLiveNotifications(direction, fetchingMissing, timelineParams, notificationToUpdate); @@ -430,10 +430,14 @@ public class FragmentMastodonNotification extends Fragment implements Notificati } else if (direction == FragmentMastodonTimeline.DIRECTION.REFRESH) { notificationsVM.getNotifications(notificationList, timelineParams) .observe(getViewLifecycleOwner(), notificationsRefresh -> { - if (notificationAdapter != null) { - dealWithPagination(notificationsRefresh, FragmentMastodonTimeline.DIRECTION.REFRESH, true, null); + if (notificationsRefresh == null || notificationsRefresh.notifications == null || notificationsRefresh.notifications.size() == 0) { + getLiveNotifications(direction, fetchingMissing, timelineParams, null); } else { - initializeNotificationView(notificationsRefresh); + if (notificationAdapter != null) { + dealWithPagination(notificationsRefresh, FragmentMastodonTimeline.DIRECTION.REFRESH, true, null); + } else { + initializeNotificationView(notificationsRefresh); + } } }); } |