Don't scroll to last seen until the recyclerview has been measured

// FREEBIE
fork-5.53.8
Moxie Marlinspike 2017-02-18 14:32:22 -08:00
rodzic acca4a72d3
commit a075bf7505
1 zmienionych plików z 7 dodań i 2 usunięć

Wyświetl plik

@ -442,10 +442,15 @@ public class ConversationFragment extends Fragment
} }
private void scrollToLastSeenPosition(long lastSeen) { private void scrollToLastSeenPosition(long lastSeen) {
int lastSeenPosition = getListAdapter().findLastSeenPosition(lastSeen); final int lastSeenPosition = getListAdapter().findLastSeenPosition(lastSeen);
if (lastSeenPosition > 0) { if (lastSeenPosition > 0) {
((LinearLayoutManager)list.getLayoutManager()).scrollToPositionWithOffset(lastSeenPosition, list.getHeight()); list.post(new Runnable() {
@Override
public void run() {
((LinearLayoutManager)list.getLayoutManager()).scrollToPositionWithOffset(lastSeenPosition, list.getHeight());
}
});
} else { } else {
setLastSeen(0); setLastSeen(0);
} }