improved logging for avatar fetches

This commit is contained in:
iNPUTmice 2014-09-05 13:29:20 +02:00
parent b8d289a932
commit 34228d0e78
1 changed files with 38 additions and 21 deletions

View File

@ -786,15 +786,16 @@ public class XmppConnectionService extends Service {
}
public void populateWithOrderedConversations(List<Conversation> list) {
populateWithOrderedConversations(list,true);
populateWithOrderedConversations(list, true);
}
public void populateWithOrderedConversations(List<Conversation> list, boolean includeConferences) {
public void populateWithOrderedConversations(List<Conversation> list,
boolean includeConferences) {
list.clear();
if (includeConferences) {
list.addAll(getConversations());
} else {
for(Conversation conversation : getConversations()) {
for (Conversation conversation : getConversations()) {
if (conversation.getMode() == Conversation.MODE_SINGLE) {
list.add(conversation);
}
@ -1362,13 +1363,14 @@ public class XmppConnectionService extends Service {
public void fetchAvatar(Account account, final Avatar avatar,
final UiCallback<Avatar> callback) {
Log.d(Config.LOGTAG, account.getJid() + ": retrieving avatar for "
+ avatar.owner);
IqPacket packet = this.mIqGenerator.retrieveAvatar(avatar);
sendIqPacket(account, packet, new OnIqPacketReceived() {
@Override
public void onIqPacketReceived(Account account, IqPacket result) {
final String ERROR = account.getJid()
+ ": fetching avatar for " + avatar.owner + " failed ";
if (result.getType() == IqPacket.TYPE_RESULT) {
avatar.image = mIqParser.avatarData(result);
if (avatar.image != null) {
if (getFileBackend().save(avatar)) {
@ -1377,19 +1379,34 @@ public class XmppConnectionService extends Service {
databaseBackend.updateAccount(account);
}
} else {
Contact contact = account.getRoster().getContact(
avatar.owner);
Contact contact = account.getRoster()
.getContact(avatar.owner);
contact.setAvatar(avatar.getFilename());
}
if (callback != null) {
callback.success(avatar);
}
Log.d(Config.LOGTAG, account.getJid()
+ ": succesfully fetched avatar for "
+ avatar.owner);
return;
}
} else {
Log.d(Config.LOGTAG, ERROR + "(parsing error)");
}
} else {
Element error = result.findChild("error");
if (error==null) {
Log.d(Config.LOGTAG, ERROR + "(server error)");
} else {
Log.d(Config.LOGTAG, ERROR + error.toString());
}
}
if (callback != null) {
callback.error(0, null);
}
}
});
}