aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-02-08 21:35:47 +0100
committerChristian Schneppe <christian@pix-art.de>2017-02-08 21:35:47 +0100
commit88c839371be97c8ce6acd570c55ae3e748e2e0f7 (patch)
treeee6ec74187f777dc181a3e25c235eef1f9b8739d /src/main/java/de/pixart/messenger/ui
parenta13be0c48dd6a0ed94ff23295824f8635a0e5e2a (diff)
fixed scrolling and async loading of message of new conversation start
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
index 7bc1a3208..db9e3981d 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
@@ -141,8 +141,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
}
activity.xmppConnectionService.loadMoreMessages(conversation, timestamp, new XmppConnectionService.OnMoreMessagesLoaded() {
@Override
- public void onMoreMessagesLoaded(final int c, Conversation conversation) {
+ public void onMoreMessagesLoaded(final int c, final Conversation conversation) {
if (ConversationFragment.this.conversation != conversation) {
+ conversation.messagesLoaded.set(true);
return;
}
activity.runOnUiThread(new Runnable() {
@@ -170,6 +171,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
if (messageLoaderToast != null) {
messageLoaderToast.cancel();
}
+ conversation.messagesLoaded.set(true);
}
});
}
@@ -1283,7 +1285,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
private boolean showLoadMoreMessages(final Conversation c) {
final boolean mam = hasMamSupport(c);
final MessageArchiveService service = activity.xmppConnectionService.getMessageArchiveService();
- return mam && (c.getLastClearHistory() != 0 || (c.countMessages() == 0 && c.hasMessagesLeftOnServer() && !service.queryInProgress(c)));
+ return mam && (c.getLastClearHistory() != 0 || (c.countMessages() == 0 && c.messagesLoaded.get() && c.hasMessagesLeftOnServer() && !service.queryInProgress(c)));
}
private boolean hasMamSupport(final Conversation c) {