From a5a39fa9af27c56a5ebe58db0780ba46b5a8c910 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sat, 22 Feb 2014 18:18:51 +0100 Subject: [PATCH] bug fixes for faulty roster fetch and otr bug between two sc instances --- src/de/gultsch/chat/crypto/OtrEngine.java | 1 + .../chat/services/XmppConnectionService.java | 6 ++---- .../gultsch/chat/ui/ConversationFragment.java | 18 ++++++++++-------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/de/gultsch/chat/crypto/OtrEngine.java b/src/de/gultsch/chat/crypto/OtrEngine.java index f63b2904b..7be9bed31 100644 --- a/src/de/gultsch/chat/crypto/OtrEngine.java +++ b/src/de/gultsch/chat/crypto/OtrEngine.java @@ -164,6 +164,7 @@ public class OtrEngine implements OtrEngineHost { Element privateTag = new Element("private"); privateTag.setAttribute("xmlns","urn:xmpp:carbons:2"); packet.addChild(privateTag); + packet.setType(MessagePacket.TYPE_CHAT); account.getXmppConnection().sendMessagePacket(packet); } diff --git a/src/de/gultsch/chat/services/XmppConnectionService.java b/src/de/gultsch/chat/services/XmppConnectionService.java index a3e5d7cd7..bb460959d 100644 --- a/src/de/gultsch/chat/services/XmppConnectionService.java +++ b/src/de/gultsch/chat/services/XmppConnectionService.java @@ -464,17 +464,15 @@ public class XmppConnectionService extends Service { mWhere.append("jid NOT IN("); List items = roster.getChildren(); for(int i = 0; i < items.size(); ++i) { - mWhere.append("\""); mWhere.append(DatabaseUtils.sqlEscapeString(items.get(i).getAttribute("jid"))); if (i != items.size() - 1) { - mWhere.append("\","); - } else { - mWhere.append("\""); + mWhere.append(","); } } mWhere.append(") and accountUuid = \""); mWhere.append(account.getUuid()); mWhere.append("\""); + Log.d(LOGTAG,mWhere.toString()); List contactsToDelete = databaseBackend.getContats(mWhere.toString()); for(Contact contact : contactsToDelete) { databaseBackend.deleteContact(contact); diff --git a/src/de/gultsch/chat/ui/ConversationFragment.java b/src/de/gultsch/chat/ui/ConversationFragment.java index 1770e7bd7..b3a6ad774 100644 --- a/src/de/gultsch/chat/ui/ConversationFragment.java +++ b/src/de/gultsch/chat/ui/ConversationFragment.java @@ -232,18 +232,20 @@ public class ConversationFragment extends Fragment { boolean showPhoneSelfContactPicture = sharedPref.getBoolean( "show_phone_selfcontact_picture", true); - Bitmap self; + Bitmap self = null; if (showPhoneSelfContactPicture) { Uri selfiUri = PhoneHelper.getSefliUri(getActivity()); - try { - self = BitmapFactory.decodeStream(getActivity() - .getContentResolver().openInputStream(selfiUri)); - } catch (FileNotFoundException e) { - self = UIHelper.getUnknownContactPicture(conversation - .getAccount().getJid(), 200); + if (selfiUri!=null) { + try { + self = BitmapFactory.decodeStream(getActivity() + .getContentResolver().openInputStream(selfiUri)); + } catch (FileNotFoundException e) { + self = null; + } } - } else { + } + if (self==null){ self = UIHelper.getUnknownContactPicture(conversation.getAccount() .getJid(), 200); }