Simplified/fixed scroll to top

This commit is contained in:
M66B
2019-11-17 14:47:13 +01:00
parent fa7ee6953f
commit c1bd4968ac
2 changed files with 24 additions and 23 deletions

View File

@@ -3658,29 +3658,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
this.differ.addPagedListListener(new AsyncPagedListDiffer.PagedListListener<TupleMessageEx>() {
@Override
public void onCurrentListChanged(@Nullable PagedList<TupleMessageEx> previousList, @Nullable PagedList<TupleMessageEx> currentList) {
boolean autoscroll =
(viewType == AdapterMessage.ViewType.THREAD ||
(viewType != ViewType.SEARCH &&
prefs.getBoolean("autoscroll", true)));
int prev = 0;
if (autoscroll && previousList != null)
for (int i = 0; i < previousList.size(); i++) {
TupleMessageEx message = previousList.get(i);
if (message != null && !message.ui_seen && !message.ui_ignored && !message.duplicate)
prev++;
}
int cur = 0;
if (autoscroll && currentList != null)
for (int i = 0; i < currentList.size(); i++) {
TupleMessageEx message = currentList.get(i);
if (message != null && !message.ui_seen && !message.ui_ignored && !message.duplicate)
cur++;
}
if (gotoTop ||
(previousList != null && currentList != null && cur > prev)) {
if (gotoTop) {
gotoTop = false;
properties.scrollTo(0);
}