From 283d5058e5f91e11fc651a83ce2968580bd94d4a Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Mon, 17 Nov 2014 20:01:56 +0100 Subject: [PATCH] synchronized around cache clear in avatar service --- .../conversations/services/AvatarService.java | 24 ++++++++++++------- src/main/res/menu/muc_details_context.xml | 4 ++++ 2 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 src/main/res/menu/muc_details_context.xml diff --git a/src/main/java/eu/siacs/conversations/services/AvatarService.java b/src/main/java/eu/siacs/conversations/services/AvatarService.java index fc1ed28ea..b8154d655 100644 --- a/src/main/java/eu/siacs/conversations/services/AvatarService.java +++ b/src/main/java/eu/siacs/conversations/services/AvatarService.java @@ -58,9 +58,11 @@ public class AvatarService { } public void clear(Contact contact) { - for (Integer size : sizes) { - this.mXmppConnectionService.getBitmapCache().remove( - key(contact, size)); + synchronized (this.sizes) { + for (Integer size : sizes) { + this.mXmppConnectionService.getBitmapCache().remove( + key(contact, size)); + } } } @@ -150,9 +152,11 @@ public class AvatarService { } public void clear(MucOptions options) { - for (Integer size : sizes) { - this.mXmppConnectionService.getBitmapCache().remove( - key(options, size)); + synchronized (this.sizes) { + for (Integer size : sizes) { + this.mXmppConnectionService.getBitmapCache().remove( + key(options, size)); + } } } @@ -182,9 +186,11 @@ public class AvatarService { } public void clear(Account account) { - for (Integer size : sizes) { - this.mXmppConnectionService.getBitmapCache().remove( - key(account, size)); + synchronized (this.sizes) { + for (Integer size : sizes) { + this.mXmppConnectionService.getBitmapCache().remove( + key(account, size)); + } } } diff --git a/src/main/res/menu/muc_details_context.xml b/src/main/res/menu/muc_details_context.xml new file mode 100644 index 000000000..fe187c0cf --- /dev/null +++ b/src/main/res/menu/muc_details_context.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file