diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2015-12-04 21:36:48 +0100 |
---|---|---|
committer | Christian S <christian@pix-art.de> | 2015-12-06 10:57:23 +0100 |
commit | ef97ce119a92355236a49aeccec81872a7452141 (patch) | |
tree | b4ba4506e0e5aa76185c6b5fca35f110a1731562 /src/main/java/eu/siacs/conversations/services/AvatarService.java | |
parent | 7eac947c2bfa387fedc781fed24e8b612236b28a (diff) |
properly clear muc user avatar caches
Diffstat (limited to '')
-rw-r--r-- | src/main/java/eu/siacs/conversations/services/AvatarService.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/main/java/eu/siacs/conversations/services/AvatarService.java b/src/main/java/eu/siacs/conversations/services/AvatarService.java index 55d941e00..899cbf9ea 100644 --- a/src/main/java/eu/siacs/conversations/services/AvatarService.java +++ b/src/main/java/eu/siacs/conversations/services/AvatarService.java @@ -197,8 +197,7 @@ public class AvatarService { public void clear(MucOptions options) { synchronized (this.sizes) { for (Integer size : sizes) { - this.mXmppConnectionService.getBitmapCache().remove( - key(options, size)); + this.mXmppConnectionService.getBitmapCache().remove(key(options, size)); } } } @@ -253,8 +252,15 @@ public class AvatarService { public void clear(Account account) { synchronized (this.sizes) { for (Integer size : sizes) { - this.mXmppConnectionService.getBitmapCache().remove( - key(account, size)); + this.mXmppConnectionService.getBitmapCache().remove(key(account, size)); + } + } + } + + public void clear(MucOptions.User user) { + synchronized (this.sizes) { + for (Integer size : sizes) { + this.mXmppConnectionService.getBitmapCache().remove(key(user, size)); } } } @@ -351,12 +357,12 @@ public class AvatarService { if (avatar != null) { Uri uri = mXmppConnectionService.getFileBackend().getAvatarUri(avatar); if (uri != null) { - drawTile(canvas, uri, left, top, right, bottom); + if (drawTile(canvas, uri, left, top, right, bottom)) { + return true; + } } - } else { - drawTile(canvas, account.getJid().toBareJid().toString(), left, top, right, bottom); } - return true; + return drawTile(canvas, account.getJid().toBareJid().toString(), left, top, right, bottom); } private boolean drawTile(Canvas canvas, String name, int left, int top, int right, int bottom) { |