code cleanup
This commit is contained in:
parent
969044b113
commit
8bda54d48c
|
@ -76,6 +76,16 @@ public class Conversation extends AbstractEntity implements Blockable {
|
|||
|
||||
private Bookmark bookmark;
|
||||
|
||||
private boolean messagesLeftOnServer = true;
|
||||
|
||||
public boolean hasMessagesLeftOnServer() {
|
||||
return messagesLeftOnServer;
|
||||
}
|
||||
|
||||
public void setHasMessagesLeftOnServer(boolean value) {
|
||||
this.messagesLeftOnServer = value;
|
||||
}
|
||||
|
||||
public Message findUnsentMessageWithUuid(String uuid) {
|
||||
synchronized(this.messages) {
|
||||
for (final Message message : this.messages) {
|
||||
|
@ -227,13 +237,10 @@ public class Conversation extends AbstractEntity implements Blockable {
|
|||
}
|
||||
|
||||
public boolean isRead() {
|
||||
return (this.messages == null) || (this.messages.size() == 0) || this.messages.get(this.messages.size() - 1).isRead();
|
||||
return (this.messages.size() == 0) || this.messages.get(this.messages.size() - 1).isRead();
|
||||
}
|
||||
|
||||
public void markRead() {
|
||||
if (this.messages == null) {
|
||||
return;
|
||||
}
|
||||
for (int i = this.messages.size() - 1; i >= 0; --i) {
|
||||
if (messages.get(i).isRead()) {
|
||||
break;
|
||||
|
@ -243,9 +250,6 @@ public class Conversation extends AbstractEntity implements Blockable {
|
|||
}
|
||||
|
||||
public Message getLatestMarkableMessage() {
|
||||
if (this.messages == null) {
|
||||
return null;
|
||||
}
|
||||
for (int i = this.messages.size() - 1; i >= 0; --i) {
|
||||
if (this.messages.get(i).getStatus() <= Message.STATUS_RECEIVED
|
||||
&& this.messages.get(i).markable) {
|
||||
|
@ -260,7 +264,7 @@ public class Conversation extends AbstractEntity implements Blockable {
|
|||
}
|
||||
|
||||
public Message getLatestMessage() {
|
||||
if ((this.messages == null) || (this.messages.size() == 0)) {
|
||||
if (this.messages.size() == 0) {
|
||||
Message message = new Message(this, "", Message.ENCRYPTION_NONE);
|
||||
message.setTime(getCreated());
|
||||
return message;
|
||||
|
|
|
@ -24,7 +24,7 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded {
|
|||
private final XmppConnectionService mXmppConnectionService;
|
||||
|
||||
private final HashSet<Query> queries = new HashSet<Query>();
|
||||
private ArrayList<Query> pendingQueries = new ArrayList<Query>();
|
||||
private final ArrayList<Query> pendingQueries = new ArrayList<Query>();
|
||||
|
||||
public enum PagingOrder {
|
||||
NORMAL,
|
||||
|
@ -134,6 +134,7 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded {
|
|||
if (conversation.setLastMessageTransmitted(query.getEnd())) {
|
||||
this.mXmppConnectionService.databaseBackend.updateConversation(conversation);
|
||||
}
|
||||
conversation.setHasMessagesLeftOnServer(query.getMessageCount() > 0);
|
||||
if (query.hasCallback()) {
|
||||
query.callback();
|
||||
} else {
|
||||
|
@ -300,7 +301,7 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded {
|
|||
public void callback() {
|
||||
if (this.callback != null) {
|
||||
this.callback.onMoreMessagesLoaded(messageCount,conversation);
|
||||
if (messageCount==0) {
|
||||
if (messageCount == 0) {
|
||||
this.callback.informUser(R.string.no_more_history_on_server);
|
||||
}
|
||||
}
|
||||
|
@ -330,6 +331,10 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded {
|
|||
return this.totalCount;
|
||||
}
|
||||
|
||||
public int getMessageCount() {
|
||||
return this.messageCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
|
|
@ -971,7 +971,9 @@ public class XmppConnectionService extends Service implements OnPhoneContactsLoa
|
|||
if (messages.size() > 0) {
|
||||
conversation.addAll(0, messages);
|
||||
callback.onMoreMessagesLoaded(messages.size(), conversation);
|
||||
} else if (account.getStatus() == Account.State.ONLINE && account.getXmppConnection() != null && account.getXmppConnection().getFeatures().mam()) {
|
||||
} else if (conversation.hasMessagesLeftOnServer()
|
||||
&& account.isOnlineAndConnected()
|
||||
&& account.getXmppConnection().getFeatures().mam()) {
|
||||
MessageArchiveService.Query query = getMessageArchiveService().query(conversation,0,timestamp - 1);
|
||||
if (query != null) {
|
||||
query.setCallback(callback);
|
||||
|
|
Loading…
Reference in a new issue