aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/ui/ConversationFragment.java
diff options
context:
space:
mode:
authoriNPUTmice <daniel@gultsch.de>2014-09-19 21:09:54 +0200
committeriNPUTmice <daniel@gultsch.de>2014-09-19 21:09:54 +0200
commitc282ef464565afd66b7a4a0d6c59162d71d9a6fe (patch)
treee746e974fa6bb01a32f8c1173c70d5714200951c /src/eu/siacs/conversations/ui/ConversationFragment.java
parent1d23c7e7fbe146a956d55077a99f357d41b6a502 (diff)
scroll fixes
Diffstat (limited to 'src/eu/siacs/conversations/ui/ConversationFragment.java')
-rw-r--r--src/eu/siacs/conversations/ui/ConversationFragment.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/eu/siacs/conversations/ui/ConversationFragment.java b/src/eu/siacs/conversations/ui/ConversationFragment.java
index e09958cb..ea0a6f14 100644
--- a/src/eu/siacs/conversations/ui/ConversationFragment.java
+++ b/src/eu/siacs/conversations/ui/ConversationFragment.java
@@ -165,14 +165,15 @@ public class ConversationFragment extends Fragment {
if (firstVisibleItem == 0 && messagesLoaded) {
long timestamp = messageList.get(0).getTimeSent();
messagesLoaded = false;
- List<Message> messages = activity.xmppConnectionService
- .getMoreMessages(conversation, timestamp);
- messageList.addAll(0, messages);
+ int size = activity.xmppConnectionService.loadMoreMessages(
+ conversation, timestamp);
+ messageList.clear();
+ messageList.addAll(conversation.getMessages());
messageListAdapter.notifyDataSetChanged();
- if (messages.size() != 0) {
+ if (size != 0) {
messagesLoaded = true;
}
- messagesView.setSelectionFromTop(messages.size() + 1, 0);
+ messagesView.setSelectionFromTop(size + 1, 0);
}
}
};
@@ -492,7 +493,7 @@ public class ConversationFragment extends Fragment {
private void messageSent() {
int size = this.messageList.size();
- if (size >= 1) {
+ if (size >= 1 && this.messagesView.getLastVisiblePosition() != size - 1) {
messagesView.setSelection(size - 1);
}
mEditMessage.setText("");