From 8e15e4020c8d1f3b2756b701da049cdd1ea595ef Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 8 Oct 2016 10:27:34 +0200 Subject: try to fix messages stuck at sending --- src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 3 ++- src/main/java/de/pixart/messenger/xmpp/XmppConnection.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index c217cbb47..3eccd9565 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -334,7 +334,7 @@ public class XmppConnectionService extends Service { } account.pendingConferenceJoins.clear(); scheduleWakeUpCall(Config.PUSH_MODE ? Config.PING_MIN_INTERVAL : Config.PING_MAX_INTERVAL, account.getUuid().hashCode()); - } else if (account.getStatus() == Account.State.OFFLINE) { + } else if (account.getStatus() == Account.State.OFFLINE || account.getStatus() == Account.State.DISABLED) { resetSendingToWaiting(account); final boolean disabled = account.isOptionSet(Account.OPTION_DISABLED); final boolean listeners = checkListeners(); @@ -3012,6 +3012,7 @@ public class XmppConnectionService extends Service { } public void resetSendingToWaiting(Account account) { + Log.d(Config.LOGTAG,account.getJid().toBareJid()+": reset 'sending' messages to 'waiting'"); for (Conversation conversation : getConversations()) { if (conversation.getAccount() == account) { conversation.findUnsentTextMessages(new Conversation.OnMessageFound() { diff --git a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java index 87afcdcee..318e91d34 100644 --- a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java +++ b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java @@ -1088,7 +1088,8 @@ public class XmppConnection implements Runnable { mStanzaQueue.clear(); } } - features.carbonsEnabled = false; + mXmppConnectionService.resetSendingToWaiting(account); + features.carbonsEnabled = false; features.blockListRequested = false; synchronized (this.disco) { this.disco.clear(); -- cgit v1.2.3