Fix issue when refreshing notifications + fix an issue with cache and DM
This commit is contained in:
parent
468f825dc0
commit
65156e0a84
|
@ -140,7 +140,7 @@ public class FragmentMastodonConversation extends Fragment implements Conversati
|
|||
|
||||
timelineParams.fetchingMissing = fetchingMissing;
|
||||
|
||||
if (useCache) {
|
||||
if (useCache && direction != FragmentMastodonTimeline.DIRECTION.SCROLL_TOP && direction != FragmentMastodonTimeline.DIRECTION.FETCH_NEW) {
|
||||
getCachedConversations(direction, fetchingMissing, timelineParams);
|
||||
} else {
|
||||
getLiveConversations(direction, fetchingMissing, timelineParams, conversationToUpdate);
|
||||
|
@ -150,7 +150,7 @@ public class FragmentMastodonConversation extends Fragment implements Conversati
|
|||
private void getCachedConversations(FragmentMastodonTimeline.DIRECTION direction, boolean fetchingMissing, TimelinesVM.TimelineParams timelineParams) {
|
||||
|
||||
if (direction == null) {
|
||||
timelinesVM.getConversations(conversationList, timelineParams)
|
||||
timelinesVM.getConversationsCache(conversationList, timelineParams)
|
||||
.observe(getViewLifecycleOwner(), conversationsCached -> {
|
||||
if (conversationsCached == null || conversationsCached.conversations == null || conversationsCached.conversations.size() == 0) {
|
||||
getLiveConversations(null, fetchingMissing, timelineParams, null);
|
||||
|
@ -179,13 +179,18 @@ public class FragmentMastodonConversation extends Fragment implements Conversati
|
|||
}
|
||||
});
|
||||
} else if (direction == FragmentMastodonTimeline.DIRECTION.REFRESH) {
|
||||
timelinesVM.getConversations(conversationList, timelineParams)
|
||||
timelinesVM.getConversationsCache(conversationList, timelineParams)
|
||||
.observe(getViewLifecycleOwner(), notificationsRefresh -> {
|
||||
if (conversationAdapter != null) {
|
||||
dealWithPagination(notificationsRefresh, FragmentMastodonTimeline.DIRECTION.REFRESH, true, null);
|
||||
if (notificationsRefresh == null || notificationsRefresh.conversations == null || notificationsRefresh.conversations.size() == 0) {
|
||||
getLiveConversations(direction, fetchingMissing, timelineParams, null);
|
||||
} else {
|
||||
initializeConversationCommonView(notificationsRefresh);
|
||||
if (conversationAdapter != null) {
|
||||
dealWithPagination(notificationsRefresh, FragmentMastodonTimeline.DIRECTION.REFRESH, true, null);
|
||||
} else {
|
||||
initializeConversationCommonView(notificationsRefresh);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue