fix announcements loading infinitely

closes sk22#569
This commit is contained in:
sk 2023-06-12 01:01:45 +02:00
parent 23f4b63195
commit f3e1fa4b2b
1 changed files with 9 additions and 6 deletions

View File

@ -94,12 +94,15 @@ public class AnnouncementsFragment extends BaseStatusListFragment<Announcement>
@Override @Override
public void onSuccess(List<Announcement> result){ public void onSuccess(List<Announcement> result){
if (getActivity() == null) return; if (getActivity() == null) return;
List<Announcement> unread = result.stream().filter(a -> !a.read).collect(toList());
List<Announcement> read = result.stream().filter(a -> a.read).collect(toList()); // get unread items first
onDataLoaded(unread, true); List<Announcement> data = result.stream().filter(a -> !a.read).collect(toList());
onDataLoaded(read, false); if (data.isEmpty()) setResult(true, null);
if (unread.isEmpty()) setResult(true, null); else unreadIDs = data.stream().map(a -> a.id).collect(toList());
else unreadIDs = unread.stream().map(a -> a.id).collect(toList());
// append read items at the end
data.addAll(result.stream().filter(a -> a.read).collect(toList()));
onDataLoaded(data, false);
} }
}) })
.exec(accountID); .exec(accountID);