bullet proofing some code

This commit is contained in:
iNPUTmice 2014-10-08 14:10:37 +02:00
parent 3d88ffc5cd
commit 10411944b1
2 changed files with 23 additions and 8 deletions

View File

@ -210,6 +210,7 @@ public class DatabaseBackend extends SQLiteOpenHelper {
while (cursor.moveToNext()) {
list.add(Account.fromCursor(cursor));
}
cursor.close();
return list;
}
@ -232,6 +233,7 @@ public class DatabaseBackend extends SQLiteOpenHelper {
+ Account.TABLENAME + " where not options & (1 <<1)", null);
cursor.moveToFirst();
int count = cursor.getInt(0);
cursor.close();
return (count > 0);
}
@ -258,6 +260,7 @@ public class DatabaseBackend extends SQLiteOpenHelper {
while (cursor.moveToNext()) {
roster.initContact(Contact.fromCursor(cursor));
}
cursor.close();
}
public void writeRoster(Roster roster) {

View File

@ -908,11 +908,13 @@ public class XmppConnectionService extends Service {
public void archiveConversation(Conversation conversation) {
if (conversation.getMode() == Conversation.MODE_MULTI) {
if (conversation.getAccount().getStatus() == Account.STATUS_ONLINE) {
Bookmark bookmark = conversation.getBookmark();
if (bookmark != null && bookmark.autojoin()) {
bookmark.setAutojoin(false);
pushBookmarks(bookmark.getAccount());
}
}
leaveMuc(conversation);
} else {
conversation.endOtrIfNeeded();
@ -1639,7 +1641,8 @@ public class XmppConnectionService extends Service {
String id = conversation.getLatestMarkableMessageId();
conversation.markRead();
if (confirmMessages() && id != null && calledByUi) {
Log.d(Config.LOGTAG,conversation.getAccount().getJid()+": sending read marker for "+conversation.getName());
Log.d(Config.LOGTAG, conversation.getAccount().getJid()
+ ": sending read marker for " + conversation.getName());
Account account = conversation.getAccount();
String to = conversation.getContactJid();
this.sendMessagePacket(conversation.getAccount(),
@ -1722,16 +1725,25 @@ public class XmppConnectionService extends Service {
}
public void sendMessagePacket(Account account, MessagePacket packet) {
account.getXmppConnection().sendMessagePacket(packet);
XmppConnection connection = account.getXmppConnection();
if (connection != null) {
connection.sendMessagePacket(packet);
}
}
public void sendPresencePacket(Account account, PresencePacket packet) {
account.getXmppConnection().sendPresencePacket(packet);
XmppConnection connection = account.getXmppConnection();
if (connection != null) {
connection.sendPresencePacket(packet);
}
}
public void sendIqPacket(Account account, IqPacket packet,
OnIqPacketReceived callback) {
account.getXmppConnection().sendIqPacket(packet, callback);
XmppConnection connection = account.getXmppConnection();
if (connection != null) {
connection.sendIqPacket(packet, callback);
}
}
public MessageGenerator getMessageGenerator() {