From c525427594bf23e8f61790c20b985aff23cac762 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 12 Aug 2022 17:32:22 +0300 Subject: [PATCH] fixed abbr avatar rounding --- .../vtosters/lite/hooks/PicRoundingHook.java | 8 ++++++++ .../avatars/AbbreviationAvatarDrawable.smali | 19 +------------------ 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/PicRoundingHook.java b/app/src/main/java/ru/vtosters/lite/hooks/PicRoundingHook.java index 3c3be084e..2813a61d7 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/PicRoundingHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/PicRoundingHook.java @@ -47,6 +47,14 @@ public class PicRoundingHook{ } } + public static void inject(Canvas canvas, Paint paint, float orig){ + if (pref > 0) { + canvas.drawRoundRect(new RectF(0, 0, canvas.getWidth(), canvas.getHeight()), AndroidUtils.dp2px(pref), AndroidUtils.dp2px(pref), paint); + } else { + canvas.drawCircle(canvas.getClipBounds().exactCenterX(), canvas.getClipBounds().exactCenterY(), orig, paint); + } + } + public static void inject(Bitmap bitmap, Bitmap bitmap2, Paint b2) { Shader.TileMode tileMode = Shader.TileMode.CLAMP; b2.setShader(new BitmapShader(bitmap2, tileMode, tileMode)); diff --git a/smali/smali_classes3/com/vk/im/ui/views/avatars/AbbreviationAvatarDrawable.smali b/smali/smali_classes3/com/vk/im/ui/views/avatars/AbbreviationAvatarDrawable.smali index c6073aaba..7f2cf573f 100644 --- a/smali/smali_classes3/com/vk/im/ui/views/avatars/AbbreviationAvatarDrawable.smali +++ b/smali/smali_classes3/com/vk/im/ui/views/avatars/AbbreviationAvatarDrawable.smali @@ -494,28 +494,11 @@ .method public draw(Landroid/graphics/Canvas;)V .locals 9 - .line 1 - invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; - - move-result-object v0 - - invoke-virtual {v0}, Landroid/graphics/Rect;->exactCenterX()F - - move-result v0 - - invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; - - move-result-object v1 - - invoke-virtual {v1}, Landroid/graphics/Rect;->exactCenterY()F - - move-result v1 - iget v2, p0, Lcom/vk/im/ui/views/avatars/AbbreviationAvatarDrawable;->h:F iget-object v3, p0, Lcom/vk/im/ui/views/avatars/AbbreviationAvatarDrawable;->a:Landroid/graphics/Paint; - invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V + invoke-static {p1, v3, v2}, Lru/vtosters/lite/hooks/PicRoundingHook;->inject(Landroid/graphics/Canvas;Landroid/graphics/Paint;F)V .line 2 iget-object v0, p0, Lcom/vk/im/ui/views/avatars/AbbreviationAvatarDrawable;->b:Landroid/graphics/Paint;