aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-30 23:51:01 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-30 23:51:01 +0200
commitbae77ff8fe587e981caa44ba27f5371b7a6664f6 (patch)
treee96fda7b564e18bc28bf04a5b4debf4c17e01113 /src/main/java/de/pixart/messenger/ui/ConversationFragment.java
parentce2ba629bd91897f74e2d1dee38f90671b0f28f8 (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.java16
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);
}