diff options
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/services')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/services/AvatarService.java | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/services/AvatarService.java b/src/main/java/de/thedevstack/conversationsplus/services/AvatarService.java index ed9c259f..1ab1dfd6 100644 --- a/src/main/java/de/thedevstack/conversationsplus/services/AvatarService.java +++ b/src/main/java/de/thedevstack/conversationsplus/services/AvatarService.java @@ -156,8 +156,32 @@ public class AvatarService implements OnAdvancedStreamFeaturesLoaded { } } + public Bitmap getCircled(Conversation conversation, int size) { + return getCircled(conversation, size, false); + } + + private Bitmap getCircled(Conversation conversation, int size, boolean cachedOnly) { + Bitmap squareAvatar = get(conversation, size, cachedOnly); + String key = ""; + if (conversation.getMode() == Conversation.MODE_SINGLE) { + key = key(conversation.getContact(), size); + } else { + key = key(conversation.getMucOptions(), size); + } + key += "_circle"; + + Bitmap circleAvatar = ImageUtil.getBitmapFromCache(key); + if (null != circleAvatar || cachedOnly) { + return circleAvatar; + } + circleAvatar = ImageUtil.getCircleBitmap(squareAvatar); + ImageUtil.addBitmapToCache(key, circleAvatar); + + return circleAvatar; + } + public Bitmap get(Conversation conversation, int size) { - return get(conversation,size,false); + return get(conversation, size, false); } public Bitmap get(Conversation conversation, int size, boolean cachedOnly) { |