reset unsend messages to waiting
This commit is contained in:
parent
9075d3854d
commit
4435b0055e
|
@ -169,11 +169,11 @@ public class XmppConnectionService extends Service {
|
|||
syncDirtyContacts(account);
|
||||
scheduleWakeupCall(PING_MAX_INTERVAL, true);
|
||||
} else if (account.getStatus() == Account.STATUS_OFFLINE) {
|
||||
resetSendingToWaiting(account);
|
||||
if (!account.isOptionSet(Account.OPTION_DISABLED)) {
|
||||
int timeToReconnect = mRandom.nextInt(50) + 10;
|
||||
scheduleWakeupCall(timeToReconnect, false);
|
||||
}
|
||||
|
||||
} else if (account.getStatus() == Account.STATUS_REGISTRATION_SUCCESSFULL) {
|
||||
databaseBackend.updateAccount(account);
|
||||
reconnectAccount(account, true);
|
||||
|
@ -232,7 +232,8 @@ public class XmppConnectionService extends Service {
|
|||
for (Conversation conversation : getConversations()) {
|
||||
if (conversation.getAccount() == account) {
|
||||
for (Message message : conversation.getMessages()) {
|
||||
if (message.getStatus() == Message.STATUS_UNSEND
|
||||
if ((message.getStatus() == Message.STATUS_UNSEND || message
|
||||
.getStatus() == Message.STATUS_WAITING)
|
||||
&& message.getUuid().equals(uuid)) {
|
||||
markMessage(message, Message.STATUS_SEND);
|
||||
return;
|
||||
|
@ -1391,6 +1392,18 @@ public class XmppConnectionService extends Service {
|
|||
MessagePacket packet = mMessageGenerator.invite(conversation, contact);
|
||||
sendMessagePacket(conversation.getAccount(), packet);
|
||||
}
|
||||
|
||||
public void resetSendingToWaiting(Account account) {
|
||||
for(Conversation conversation : getConversations()) {
|
||||
if (conversation.getAccount() == account) {
|
||||
for(Message message : conversation.getMessages()) {
|
||||
if (message.getStatus() == Message.STATUS_UNSEND) {
|
||||
markMessage(message, Message.STATUS_WAITING);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean markMessage(Account account, String recipient, String uuid,
|
||||
int status) {
|
||||
|
|
|
@ -635,11 +635,13 @@ public class XmppConnection implements Runnable {
|
|||
EnablePacket enable = new EnablePacket(smVersion);
|
||||
tagWriter.writeStanzaAsync(enable);
|
||||
stanzasSent = 0;
|
||||
messageReceipts.clear();
|
||||
} else if (streamFeatures.hasChild("sm", "urn:xmpp:sm:2")) {
|
||||
smVersion = 2;
|
||||
EnablePacket enable = new EnablePacket(smVersion);
|
||||
tagWriter.writeStanzaAsync(enable);
|
||||
stanzasSent = 0;
|
||||
messageReceipts.clear();
|
||||
}
|
||||
sendServiceDiscoveryInfo(account.getServer());
|
||||
sendServiceDiscoveryItems(account.getServer());
|
||||
|
|
Loading…
Reference in a new issue