diff options
author | Christian Schneppe <christian@pix-art.de> | 2016-05-31 21:38:06 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-05-31 21:38:06 +0200 |
commit | c23642b8cd2c06c5f3e9cf7f88d31ed5c6f78614 (patch) | |
tree | a7c53e5dd6dd6e85213cff834d35316a29617753 /src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | |
parent | 2cdc31a6887f242dfe4faca91af63ffd4e74ef67 (diff) | |
parent | ea6a008b39b0f669f66f3c8aec08b4deb3ece154 (diff) |
Merge remote-tracking branch 'refs/remotes/siacs/master'
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/ConversationFragment.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 3ec484087..2fb4e44f8 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -13,6 +13,7 @@ import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.text.InputType; +import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Gravity; @@ -157,7 +158,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa ConversationFragment.this.conversation.populateWithMessages(ConversationFragment.this.messageList); updateStatusMessages(); messageListAdapter.notifyDataSetChanged(); - int pos = getIndexOf(uuid,messageList); + int pos = Math.max(getIndexOf(uuid,messageList),0); messagesView.setSelectionFromTop(pos, pxOffset); messagesLoaded = true; if (messageLoaderToast != null) { @@ -210,7 +211,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa } } - return 0; + return -1; } private final int KEYCHAIN_UNLOCK_NOT_REQUIRED = 0; @@ -813,11 +814,13 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa this.messagesLoaded = true; synchronized (this.messageList) { final Message first = conversation.getFirstUnreadMessage(); + final int bottom = Math.max(0, this.messageList.size() - 1); final int pos; if (first == null) { - pos = Math.max(0,this.messageList.size() - 1); + pos = bottom; } else { - pos = getIndexOf(first.getUuid(), this.messageList); + int i = getIndexOf(first.getUuid(), this.messageList); + pos = i < 0 ? bottom : i; } messagesView.setSelection(pos); } |