summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Young <consult.awy@gmail.com>2015-07-06 08:14:13 (GMT)
committerKevin Smith <git@kismith.co.uk>2015-08-13 08:05:42 (GMT)
commit9bf162922691c1f45813da6a21f2e274bfad3114 (patch)
tree2d7c49abc72ede17701c3300140718b1c3e81bcc /src/com/isode/stroke/avatars/VCardUpdateAvatarManager.java
parentaf3bb03053b9d83f4d38b31d66b292792206a327 (diff)
downloadstroke-9bf162922691c1f45813da6a21f2e274bfad3114.zip
stroke-9bf162922691c1f45813da6a21f2e274bfad3114.tar.bz2
VCard.getPhoto() to return null for absent photo.
Most of the time when VCard.getPhoto() is called it is only used to determine presence or absence of a photo. Thus, it makes no sense to allocate an empty ByteArray() just for this purpose. Return null instead, if absent. Change-Id: I3bae02ffbece5589c74c950bbb4c0db6c0376c76
Diffstat (limited to 'src/com/isode/stroke/avatars/VCardUpdateAvatarManager.java')
-rwxr-xr-xsrc/com/isode/stroke/avatars/VCardUpdateAvatarManager.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/com/isode/stroke/avatars/VCardUpdateAvatarManager.java b/src/com/isode/stroke/avatars/VCardUpdateAvatarManager.java
index 5328fb4..681e94b 100755
--- a/src/com/isode/stroke/avatars/VCardUpdateAvatarManager.java
+++ b/src/com/isode/stroke/avatars/VCardUpdateAvatarManager.java
@@ -24,12 +24,14 @@ import com.isode.stroke.client.StanzaChannel;
import com.isode.stroke.crypto.CryptoProvider;
import com.isode.stroke.stringcodecs.Hexify;
import com.isode.stroke.avatars.AvatarStorage;
+import com.isode.stroke.base.ByteArray;
import com.isode.stroke.muc.MUCRegistry;
import com.isode.stroke.vcards.VCardManager;
import com.isode.stroke.signals.Slot2;
import com.isode.stroke.signals.Slot1;
import java.util.logging.Logger;
+
import com.isode.stroke.signals.SignalConnection;
public class VCardUpdateAvatarManager extends AvatarProvider {
@@ -124,13 +126,14 @@ public class VCardUpdateAvatarManager extends AvatarProvider {
return;
}
- if (vCard.getPhoto().isEmpty()) {
+ final ByteArray photo = vCard.getPhoto();
+ if (photo == null) {
setAvatarHash(from, "");
}
else {
- String hash = Hexify.hexify(crypto_.getSHA1Hash(vCard.getPhoto()));
+ String hash = Hexify.hexify(crypto_.getSHA1Hash(photo));
if (!avatarStorage_.hasAvatar(hash)) {
- avatarStorage_.addAvatar(hash, vCard.getPhoto());
+ avatarStorage_.addAvatar(hash, photo);
}
setAvatarHash(from, hash);
}