diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-04-30 23:51:01 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-04-30 23:51:01 +0200 |
commit | bae77ff8fe587e981caa44ba27f5371b7a6664f6 (patch) | |
tree | e96fda7b564e18bc28bf04a5b4debf4c17e01113 /src/main/java/de/pixart/messenger/ui/ConversationFragment.java | |
parent | ce2ba629bd91897f74e2d1dee38f90671b0f28f8 (diff) |
properly cancel pending searchs and scroll to bottom after refresh
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationFragment.java | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index 4207a1b5e..6d45cf306 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -97,6 +97,7 @@ import de.pixart.messenger.ui.adapter.MessageAdapter; import de.pixart.messenger.ui.util.ActivityResult; import de.pixart.messenger.ui.util.AttachmentTool; import de.pixart.messenger.ui.util.ConversationMenuConfigurator; +import de.pixart.messenger.ui.util.ListViewUtils; import de.pixart.messenger.ui.util.PendingItem; import de.pixart.messenger.ui.util.PresenceSelector; import de.pixart.messenger.ui.util.ScrollState; @@ -2253,22 +2254,11 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } private void setSelection(int pos, boolean jumpToBottom) { - setSelection(this.binding.messagesView, pos, jumpToBottom); - this.binding.messagesView.post(() -> setSelection(this.binding.messagesView, pos, jumpToBottom)); + ListViewUtils.setSelection(this.binding.messagesView, pos, jumpToBottom); + this.binding.messagesView.post(() -> ListViewUtils.setSelection(this.binding.messagesView, pos, jumpToBottom)); this.binding.messagesView.post(this::fireReadEvent); } - private static void setSelection(final ListView listView, int pos, boolean jumpToBottom) { - if (jumpToBottom) { - final View lastChild = listView.getChildAt(listView.getChildCount() - 1); - if (lastChild != null) { - listView.setSelectionFromTop(pos, -lastChild.getHeight()); - return; - } - } - listView.setSelection(pos); - } - private boolean scrolledToBottom() { return this.binding != null && scrolledToBottom(this.binding.messagesView); } |