diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6a13ae9275202ed93aaff35530ed4d2e6de6a43f..a5445c7a826c22d87a93d7ef65322d46028c6dfa 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="2" + android:versionName="0.1-rc2" > conversations = getConversations(); - for (int i = 0; i < conversations.size(); i++) { - Conversation conversation = conversations.get(i); - if (conversation.getAccount() == account) { - if (conversation.getMode() == Conversation.MODE_MULTI) { - leaveMuc(conversation); - } else { - conversation.endOtrIfNeeded(); + if (!force) { + List conversations = getConversations(); + for (int i = 0; i < conversations.size(); i++) { + Conversation conversation = conversations.get(i); + if (conversation.getAccount() == account) { + if (conversation.getMode() == Conversation.MODE_MULTI) { + leaveMuc(conversation); + } else { + conversation.endOtrIfNeeded(); + } } } } diff --git a/src/eu/siacs/conversations/xml/Element.java b/src/eu/siacs/conversations/xml/Element.java index ad95ef9cef10c2abf7b3457d6387b7cf6c25a23d..6cf6d3a53ab80429448c5c05bddc750d1a39d042 100644 --- a/src/eu/siacs/conversations/xml/Element.java +++ b/src/eu/siacs/conversations/xml/Element.java @@ -4,8 +4,6 @@ import java.util.ArrayList; import java.util.Hashtable; import java.util.List; -import android.util.Log; - public class Element { protected String name; protected Hashtable attributes = new Hashtable(); @@ -83,7 +81,7 @@ public class Element { startTag.setAtttributes(this.attributes); elementOutput.append(startTag); if (content!=null) { - elementOutput.append(content); + elementOutput.append(encodeEntities(content)); } else { for(Element child : children) { elementOutput.append(child.toString()); @@ -98,4 +96,13 @@ public class Element { public String getName() { return name; } + + private String encodeEntities(String content) { + content = content.replace("&","&"); + content = content.replace("<","<"); + content = content.replace(">",">"); + content = content.replace("\"","""); + content = content.replace("'","'"); + return content; + } } diff --git a/src/eu/siacs/conversations/xmpp/XmppConnection.java b/src/eu/siacs/conversations/xmpp/XmppConnection.java index 0fbd6f7746df70ce712438f5953371cc7f79d66d..fd8242c069fca5c35f7f098c6a62cb0728baa520 100644 --- a/src/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/eu/siacs/conversations/xmpp/XmppConnection.java @@ -676,10 +676,8 @@ public class XmppConnection implements Runnable { public void sendPing() { if (streamFeatures.hasChild("sm")) { - Log.d(LOGTAG,account.getJid()+": sending r as ping"); tagWriter.writeStanzaAsync(new RequestPacket()); } else { - Log.d(LOGTAG,account.getJid()+": sending iq as ping"); IqPacket iq = new IqPacket(IqPacket.TYPE_GET); Element ping = new Element("ping"); iq.setAttribute("from",account.getFullJid());