AvatarLayout.smali
.class public Lcom/sandboxol/center/view/widget/AvatarLayout;
.super Landroidx/constraintlayout/widget/ConstraintLayout;
.source "AvatarLayout.java"
# instance fields
.field public binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
.field private mainHandler:Landroid/os/Handler;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 4
.line 1
invoke-direct {p0, p1}, Landroidx/constraintlayout/widget/ConstraintLayout;-><init>(Landroid/content/Context;)V
.line 2
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->mainHandler:Landroid/os/Handler;
const/4 v0, 0x0
.line 3
invoke-direct {p0, p1, v0}, Lcom/sandboxol/center/view/widget/AvatarLayout;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 5
.line 4
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/widget/ConstraintLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 5
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->mainHandler:Landroid/os/Handler;
.line 6
invoke-direct {p0, p1, p2}, Lcom/sandboxol/center/view/widget/AvatarLayout;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 5
.line 7
invoke-direct {p0, p1, p2, p3}, Landroidx/constraintlayout/widget/ConstraintLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 8
new-instance p3, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
invoke-direct {p3, v0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object p3, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->mainHandler:Landroid/os/Handler;
.line 9
invoke-direct {p0, p1, p2}, Lcom/sandboxol/center/view/widget/AvatarLayout;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method static synthetic a(Landroid/widget/ImageView;Landroid/graphics/Bitmap;)V
.registers 2
.line 6
invoke-virtual {p0, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
return-void
.end method
.method static synthetic a(ZLcom/sandboxol/common/widget/RoundImageView;)V
.registers 3
if-eqz p0, :cond_1b
.line 7
invoke-virtual {p1}, Landroid/widget/ImageView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object p0
check-cast p0, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;
const v0, 0x3f4a3d71 # 0.79f
iput v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;->O:F
const/high16 p0, 0x3e800000 # 0.25f
.line 8
invoke-virtual {p1}, Landroid/widget/ImageView;->getWidth()I
move-result v0
int-to-float v0, v0
mul-float v0, v0, p0
float-to-int p0, v0
.line 9
invoke-virtual {p1, p0}, Lcom/sandboxol/common/widget/RoundImageView;->setBorderRadiusPx(I)V
goto :goto_2a
.line 10
:cond_1b
invoke-virtual {p1}, Landroid/widget/ImageView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object p0
check-cast p0, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;
const v0, 0x3f2e147b # 0.68f
iput v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;->O:F
const/4 p0, 0x0
.line 11
invoke-virtual {p1, p0}, Lcom/sandboxol/common/widget/RoundImageView;->setBorderRadius(I)V
.line 12
:goto_2a
invoke-virtual {p1}, Landroid/widget/ImageView;->requestLayout()V
return-void
.end method
.method private animateSvga()V
.registers 4
.line 1
iget-object v0, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
invoke-virtual {v0}, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->getViewModel()Lcom/sandboxol/center/entity/AvatarModel;
move-result-object v0
invoke-virtual {v0}, Lcom/sandboxol/center/entity/AvatarModel;->isInRecyclerView()Z
move-result v0
if-eqz v0, :cond_d
return-void
.line 2
:cond_d
iget-object v0, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
invoke-virtual {v0}, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->getViewModel()Lcom/sandboxol/center/entity/AvatarModel;
move-result-object v0
invoke-virtual {v0}, Lcom/sandboxol/center/entity/AvatarModel;->getAvatarFrame()Ljava/lang/String;
move-result-object v0
.line 3
invoke-static {v0}, Lcom/sandboxol/center/utils/AvatarUtils;->getFrame(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 4
invoke-static {v0}, Lcom/sandboxol/center/utils/AvatarUtils;->getExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 5
iget-object v2, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
iget-object v2, v2, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->ivFrameSvga:Lcom/opensource/svgaplayer/SVGAImageView;
invoke-static {v2, v1}, Lcom/sandboxol/center/utils/AvatarUtils;->playAnimation(Lcom/opensource/svgaplayer/SVGAImageView;Ljava/lang/String;)V
.line 6
iget-object v1, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
iget-object v1, v1, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->ivExtraSvga:Lcom/opensource/svgaplayer/SVGAImageView;
invoke-static {v1, v0}, Lcom/sandboxol/center/utils/AvatarUtils;->playAnimation(Lcom/opensource/svgaplayer/SVGAImageView;Ljava/lang/String;)V
return-void
.end method
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.line 1
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p1
const/4 p2, 0x1
invoke-static {p1, p0, p2}, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->inflate(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Z)Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
move-result-object p1
iput-object p1, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
const/4 p1, 0x0
.line 2
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setClipChildren(Z)V
.line 3
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
return-void
.end method
.method private updatePortraitPic(Ljava/lang/String;)V
.registers 4
.line 1
invoke-static {p1}, Landroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z
move-result p1
.line 2
iget-object v0, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
iget-object v0, v0, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->ivHead:Lcom/sandboxol/common/widget/RoundImageView;
.line 3
new-instance v1, Lcom/sandboxol/center/view/widget/a;
invoke-direct {v1, p1, v0}, Lcom/sandboxol/center/view/widget/a;-><init>(ZLcom/sandboxol/common/widget/RoundImageView;)V
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method private updateStaticViews()V
.registers 7
.line 1
iget-object v0, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
invoke-virtual {v0}, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->getViewModel()Lcom/sandboxol/center/entity/AvatarModel;
move-result-object v0
.line 2
iget-object v1, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
iget-object v2, v1, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->ivFramePic:Landroid/widget/ImageView;
.line 3
iget-object v1, v1, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->ivFrameSvga:Lcom/opensource/svgaplayer/SVGAImageView;
.line 4
invoke-virtual {v0}, Lcom/sandboxol/center/entity/AvatarModel;->getAvatarFrame()Ljava/lang/String;
move-result-object v0
.line 5
invoke-static {v0}, Lcom/sandboxol/center/utils/AvatarUtils;->getFrame(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 6
invoke-static {v0}, Lcom/sandboxol/center/utils/AvatarUtils;->isPic(Ljava/lang/String;)Z
move-result v3
const/4 v4, 0x0
const/4 v5, 0x4
if-eqz v3, :cond_4d
.line 7
invoke-virtual {v2, v4}, Landroid/widget/ImageView;->setVisibility(I)V
.line 8
invoke-virtual {v1, v5}, Landroid/widget/ImageView;->setVisibility(I)V
.line 9
sget-object v1, Lcom/sandboxol/center/utils/AvatarUtils;->defaultAvatarResponse:Lcom/sandboxol/center/entity/AvatarFrameResponse;
invoke-virtual {v1}, Lcom/sandboxol/center/entity/AvatarFrameResponse;->getResourceId()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_34
.line 10
sget v1, Lcom/sandboxol/center/R$mipmap;->first_avatar_frame:I
invoke-virtual {v2, v1}, Landroid/widget/ImageView;->setImageResource(I)V
goto :goto_60
.line 11
:cond_34
invoke-static {}, Lcom/sandboxol/center/utils/AvatarCache;->getInstance()Lcom/sandboxol/center/utils/AvatarCache;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/sandboxol/center/utils/AvatarCache;->getAvatarBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;
move-result-object v1
if-eqz v1, :cond_42
.line 12
invoke-virtual {v2, v1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
goto :goto_60
.line 13
:cond_42
sget-object v1, Lcom/sandboxol/center/utils/AvatarUtils;->poolExecutor:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v3, Lcom/sandboxol/center/view/widget/c;
invoke-direct {v3, p0, v0, v2}, Lcom/sandboxol/center/view/widget/c;-><init>(Lcom/sandboxol/center/view/widget/AvatarLayout;Ljava/lang/String;Landroid/widget/ImageView;)V
invoke-virtual {v1, v3}, Ljava/util/concurrent/ThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
goto :goto_60
.line 14
:cond_4d
invoke-static {v0}, Lcom/sandboxol/center/utils/AvatarUtils;->isSvga(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_5a
.line 15
invoke-virtual {v2, v5}, Landroid/widget/ImageView;->setVisibility(I)V
.line 16
invoke-virtual {v1, v4}, Landroid/widget/ImageView;->setVisibility(I)V
goto :goto_60
.line 17
:cond_5a
invoke-virtual {v2, v5}, Landroid/widget/ImageView;->setVisibility(I)V
.line 18
invoke-virtual {v1, v5}, Landroid/widget/ImageView;->setVisibility(I)V
.line 19
:goto_60
invoke-direct {p0, v0}, Lcom/sandboxol/center/view/widget/AvatarLayout;->updatePortraitPic(Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public synthetic a(Ljava/lang/String;Landroid/widget/ImageView;)V
.registers 7
.line 1
new-instance v0, Ljava/io/File;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v1
const-string v2, "resources_avatar"
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/content/Context;->getDir(Ljava/lang/String;I)Ljava/io/File;
move-result-object v1
invoke-direct {v0, v1, p1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 2
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_35
.line 3
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;
move-result-object v0
if-eqz v0, :cond_35
.line 4
invoke-static {}, Lcom/sandboxol/center/utils/AvatarCache;->getInstance()Lcom/sandboxol/center/utils/AvatarCache;
move-result-object v1
invoke-virtual {v1, p1, v0}, Lcom/sandboxol/center/utils/AvatarCache;->putAvatarBitmap(Ljava/lang/String;Landroid/graphics/Bitmap;)V
.line 5
iget-object p1, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->mainHandler:Landroid/os/Handler;
new-instance v1, Lcom/sandboxol/center/view/widget/b;
invoke-direct {v1, p2, v0}, Lcom/sandboxol/center/view/widget/b;-><init>(Landroid/widget/ImageView;Landroid/graphics/Bitmap;)V
invoke-virtual {p1, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:cond_35
return-void
.end method
.method public refreshView()V
.registers 1
.line 1
invoke-direct {p0}, Lcom/sandboxol/center/view/widget/AvatarLayout;->updateStaticViews()V
.line 2
invoke-direct {p0}, Lcom/sandboxol/center/view/widget/AvatarLayout;->animateSvga()V
.line 3
invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V
return-void
.end method
.method public setAvatarModel(Lcom/sandboxol/center/entity/AvatarModel;)V
.registers 4
if-nez p1, :cond_f
.line 1
iget-object p1, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
new-instance v0, Lcom/sandboxol/center/entity/AvatarModel;
const-string v1, ""
invoke-direct {v0, v1}, Lcom/sandboxol/center/entity/AvatarModel;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v0}, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->setViewModel(Lcom/sandboxol/center/entity/AvatarModel;)V
goto :goto_14
.line 2
:cond_f
iget-object v0, p0, Lcom/sandboxol/center/view/widget/AvatarLayout;->binding:Lcom/sandboxol/center/databinding/LayoutAvatarBinding;
invoke-virtual {v0, p1}, Lcom/sandboxol/center/databinding/LayoutAvatarBinding;->setViewModel(Lcom/sandboxol/center/entity/AvatarModel;)V
:goto_14
return-void
.end method