log reason for SM resume failure

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/utils/XmlHelper.java     | 13 ++++
src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java |  7 ++
2 files changed, 17 insertions(+), 3 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/utils/XmlHelper.java 🔗

@@ -1,13 +1,15 @@
 package eu.siacs.conversations.utils;
 
 import com.google.common.base.Joiner;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 
+import eu.siacs.conversations.xml.Element;
+
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
-import eu.siacs.conversations.xml.Element;
-
 public class XmlHelper {
     public static String encodeEntities(String content) {
         content = content.replace("&", "&");
@@ -28,4 +30,11 @@ public class XmlHelper {
                                 child -> child != null ? child.getName() : null);
         return Joiner.on(", ").join(features);
     }
+
+    public static String print(final Collection<Element> children) {
+        if (children == null) {
+            return null;
+        }
+        return Joiner.on("").join(Iterables.transform(children, Element::toString));
+    }
 }

src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java 🔗

@@ -1142,7 +1142,12 @@ public class XmppConnection implements Runnable {
                 mXmppConnectionService.updateConversationUi();
             }
         } else {
-            Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": resumption failed");
+            Log.d(
+                    Config.LOGTAG,
+                    account.getJid().asBareJid()
+                            + ": resumption failed ("
+                            + XmlHelper.print(failed.getChildren())
+                            + ")");
         }
         resetStreamId();
         if (sendBindRequest) {