From 48b80f26a6521211f4d93fd03ffdc629410638cf Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 27 Mar 2023 20:19:36 -0500 Subject: [PATCH] When starting command, wait for account to connect --- .../conversations/entities/Conversation.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index 00056abf20cf5cdcaa373d2fd7a801943dbff6ce..ca818572ae41188e9c8845457439a6e81bd603ab 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -1397,6 +1397,20 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl c.setAttribute("node", command.getAttribute("node")); c.setAttribute("action", "execute"); + final TimerTask task = new TimerTask() { + @Override + public void run() { + if (getAccount().getStatus() != Account.State.ONLINE) { + new Timer().schedule(this, 1000); + } else { + xmppConnectionService.sendIqPacket(getAccount(), packet, (a, iq) -> { + session.updateWithResponse(iq); + }); + } + } + }; + task.run(); + if (command.getAttribute("node").equals("jabber:iq:register") && packet.getTo().asBareJid().equals(Jid.of("cheogram.com"))) { new com.cheogram.android.CheogramLicenseChecker(mPager.getContext(), (signedData, signature) -> { if (signedData != null && signature != null) { @@ -1404,14 +1418,10 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl c.addChild("licenseSignature", "https://ns.cheogram.com/google-play").setContent(signature); } - xmppConnectionService.sendIqPacket(getAccount(), packet, (a, iq) -> { - session.updateWithResponse(iq); - }); + task.run(); }).checkLicense(); } else { - xmppConnectionService.sendIqPacket(getAccount(), packet, (a, iq) -> { - session.updateWithResponse(iq); - }); + task.run(); } sessions.add(session);