save own posts from timeline before removing them
This commit is contained in:
parent
f52886af74
commit
b95d944003
|
@ -147,16 +147,17 @@ public class HomeTimelineFragment extends StatusListFragment {
|
||||||
last.hasGapAfter=last.id;
|
last.hasGapAfter=last.id;
|
||||||
toAdd=result;
|
toAdd=result;
|
||||||
}
|
}
|
||||||
|
if(!toAdd.isEmpty())
|
||||||
|
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(new ArrayList<>(toAdd), false);
|
||||||
|
// removing statuses that come up as duplicates (hopefully only posts and boosts that were locally created
|
||||||
|
// and thus were already prepended to the timeline earlier)
|
||||||
List<String> existingIds=data.stream().map(Status::getID).collect(Collectors.toList());
|
List<String> existingIds=data.stream().map(Status::getID).collect(Collectors.toList());
|
||||||
toAdd.stream().filter(s->existingIds.contains(s.getID())).forEach(s->removeStatus(s));
|
toAdd.removeIf(s->existingIds.contains(s.getID()));
|
||||||
List<Status> toAddUnfiltered=new ArrayList<>(toAdd);
|
|
||||||
AccountSessionManager.get(accountID).filterStatuses(toAdd, getFilterContext());
|
AccountSessionManager.get(accountID).filterStatuses(toAdd, getFilterContext());
|
||||||
if(!toAdd.isEmpty()){
|
if(!toAdd.isEmpty()){
|
||||||
prependItems(toAdd, true);
|
prependItems(toAdd, true);
|
||||||
if(parent != null && GlobalUserPreferences.showNewPostsButton) parent.showNewPostsButton();
|
if(parent != null && GlobalUserPreferences.showNewPostsButton) parent.showNewPostsButton();
|
||||||
}
|
}
|
||||||
if(!toAddUnfiltered.isEmpty())
|
|
||||||
AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putHomeTimeline(toAddUnfiltered, false);
|
|
||||||
refreshDone();
|
refreshDone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue