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) {
int lastSeenPosition = getListAdapter().findLastSeenPosition(lastSeen);
final int lastSeenPosition = getListAdapter().findLastSeenPosition(lastSeen);
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 {
setLastSeen(0);
}