From b2ba532e0055cc84ea28e43a5209f4c424b1688a Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Tue, 24 Dec 2019 23:05:42 +0100 Subject: [PATCH] Cleanup rounding code --- .../com/nextcloud/talk/utils/DisplayUtils.kt | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt index ee7960d51..9f60a5507 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt @@ -62,6 +62,7 @@ import com.nextcloud.talk.events.UserMentionClickEvent import com.nextcloud.talk.newarch.local.models.UserNgEntity import com.nextcloud.talk.newarch.utils.Images import com.nextcloud.talk.utils.text.Spans +import kotlinx.coroutines.runBlocking import org.greenrobot.eventbus.EventBus import java.lang.reflect.InvocationTargetException import java.util.regex.Pattern @@ -97,24 +98,11 @@ object DisplayUtils { fun getRoundedDrawable(drawable: Drawable?): Drawable { val bitmap = getBitmap(drawable!!) - return BitmapDrawable(roundImage(BitmapPool(10000), bitmap)) - } - - private fun roundImage(pool: BitmapPool, input: Bitmap): Bitmap { - val circlePaint = Paint(Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG) - val bitmapPaint = Paint(Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG).apply { xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC_IN) } - - val minSize = min(input.width, input.height) - val radius = minSize / 2f - val output = pool.get(minSize, minSize, input.config) - output.applyCanvas { - drawCircle(radius, radius, radius, circlePaint) - drawBitmap(input, 0f, 0f, bitmapPaint) + val drawable = runBlocking { + return@runBlocking BitmapDrawable(CircleCropTransformation().transform(BitmapPool(10000), bitmap)) } - pool.put(input) - - return output + return drawable }