apkfuckery/com.discord/smali/com/discord/rlottie/RLottieImageView.smali
2020-04-27 23:50:40 +02:00

523 lines
13 KiB
Smali

.class public final Lcom/discord/rlottie/RLottieImageView;
.super Landroidx/appcompat/widget/AppCompatImageView;
.source "RLottieImageView.kt"
# instance fields
.field public d:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field public e:Lcom/discord/rlottie/RLottieDrawable;
.field public f:Z
.field public g:Z
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 0
invoke-direct {p0, p1}, Landroidx/appcompat/widget/AppCompatImageView;-><init>(Landroid/content/Context;)V
sget-object p1, Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;->FREEZE:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 0
invoke-direct {p0, p1, p2}, Landroidx/appcompat/widget/AppCompatImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
sget-object p1, Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;->FREEZE:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Landroidx/appcompat/widget/AppCompatImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
sget-object p1, Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;->FREEZE:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
return-void
.end method
.method public synthetic constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;IILkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
and-int/lit8 p4, p4, 0x4
if-eqz p4, :cond_0
const/4 p3, 0x0
:cond_0
invoke-direct {p0, p1, p2, p3}, Lcom/discord/rlottie/RLottieImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method public static synthetic a(Lcom/discord/rlottie/RLottieImageView;III[ILcom/discord/rlottie/RLottieDrawable$PlaybackMode;I)V
.locals 6
and-int/lit8 v0, p6, 0x8
if-eqz v0, :cond_0
const/4 p4, 0x0
:cond_0
move-object v4, p4
and-int/lit8 p4, p6, 0x10
if-eqz p4, :cond_1
sget-object p5, Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;->LOOP:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
:cond_1
move-object v5, p5
move-object v0, p0
move v1, p1
move v2, p2
move v3, p3
invoke-virtual/range {v0 .. v5}, Lcom/discord/rlottie/RLottieImageView;->a(III[ILcom/discord/rlottie/RLottieDrawable$PlaybackMode;)V
return-void
.end method
# virtual methods
.method public final a()V
.locals 2
iget-object v0, p0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-nez v0, :cond_0
return-void
:cond_0
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/discord/rlottie/RLottieImageView;->g:Z
iget-boolean v1, p0, Lcom/discord/rlottie/RLottieImageView;->f:Z
if-eqz v1, :cond_1
if-eqz v0, :cond_1
invoke-virtual {v0}, Lcom/discord/rlottie/RLottieDrawable;->start()V
:cond_1
return-void
.end method
.method public final a(III[ILcom/discord/rlottie/RLottieDrawable$PlaybackMode;)V
.locals 13
.param p1 # I
.annotation build Landroidx/annotation/RawRes;
.end annotation
.end param
move-object v0, p0
move-object/from16 v1, p5
const/4 v2, 0x0
if-eqz v1, :cond_d
new-instance v12, Lcom/discord/rlottie/RLottieDrawable;
invoke-virtual {p0}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v4
const-string v3, "context"
invoke-static {v4, v3}, Lx/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v6
invoke-static {p2}, Lcom/discord/utilities/dimen/DimenUtils;->pixelsToDp(I)I
move-result v7
invoke-static/range {p3 .. p3}, Lcom/discord/utilities/dimen/DimenUtils;->pixelsToDp(I)I
move-result v8
invoke-virtual {p0}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-static {v5, v3}, Lx/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v5}, Lcom/discord/utilities/display/DisplayUtils;->getScreenRefreshRate(Landroid/content/Context;)F
move-result v9
const/4 v10, 0x0
move-object v3, v12
move v5, p1
move-object/from16 v11, p4
invoke-direct/range {v3 .. v11}, Lcom/discord/rlottie/RLottieDrawable;-><init>(Landroid/content/Context;ILjava/lang/String;IIFZ[I)V
iput-object v12, v0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
iget-object v3, v0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v3, :cond_1
iget-object v4, v3, Lcom/discord/rlottie/RLottieDrawable;->n:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
sget-object v5, Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;->ONCE:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
if-ne v4, v5, :cond_0
sget-object v4, Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;->FREEZE:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
if-ne v1, v4, :cond_0
iget v4, v3, Lcom/discord/rlottie/RLottieDrawable;->B:I
if-eqz v4, :cond_0
goto :goto_0
:cond_0
iput-object v1, v3, Lcom/discord/rlottie/RLottieDrawable;->n:Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;
:cond_1
:goto_0
iget-object v1, v0, Lcom/discord/rlottie/RLottieImageView;->d:Ljava/util/HashMap;
const/4 v3, 0x1
if-eqz v1, :cond_b
iget-object v4, v0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v4, :cond_2
iput-boolean v3, v4, Lcom/discord/rlottie/RLottieDrawable;->A:Z
:cond_2
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_3
:goto_1
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v4
const/4 v5, 0x2
const/4 v6, 0x0
if-eqz v4, :cond_7
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/Map$Entry;
invoke-interface {v4}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/String;
invoke-interface {v4}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Number;
invoke-virtual {v4}, Ljava/lang/Number;->intValue()I
move-result v4
iget-object v8, v0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v8, :cond_3
if-eqz v7, :cond_6
iget-object v9, v8, Lcom/discord/rlottie/RLottieDrawable;->j:Ljava/util/HashMap;
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-interface {v9, v7, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-boolean v4, v8, Lcom/discord/rlottie/RLottieDrawable;->A:Z
if-nez v4, :cond_5
iget-boolean v4, v8, Lcom/discord/rlottie/RLottieDrawable;->I:Z
if-nez v4, :cond_5
iget-boolean v4, v8, Lcom/discord/rlottie/RLottieDrawable;->x:Z
if-eqz v4, :cond_5
iget v4, v8, Lcom/discord/rlottie/RLottieDrawable;->B:I
if-gt v4, v5, :cond_4
iput v6, v8, Lcom/discord/rlottie/RLottieDrawable;->B:I
:cond_4
iput-boolean v6, v8, Lcom/discord/rlottie/RLottieDrawable;->q:Z
iput-boolean v6, v8, Lcom/discord/rlottie/RLottieDrawable;->y:Z
invoke-virtual {v8}, Lcom/discord/rlottie/RLottieDrawable;->c()Z
move-result v4
if-nez v4, :cond_5
iput-boolean v3, v8, Lcom/discord/rlottie/RLottieDrawable;->z:Z
:cond_5
invoke-virtual {v8}, Lcom/discord/rlottie/RLottieDrawable;->b()V
goto :goto_1
:cond_6
const-string v1, "layerName"
invoke-static {v1}, Lx/u/b/j;->a(Ljava/lang/String;)V
throw v2
:cond_7
iget-object v1, v0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v1, :cond_b
iget-boolean v2, v1, Lcom/discord/rlottie/RLottieDrawable;->A:Z
if-nez v2, :cond_8
goto :goto_2
:cond_8
iput-boolean v6, v1, Lcom/discord/rlottie/RLottieDrawable;->A:Z
iget-boolean v2, v1, Lcom/discord/rlottie/RLottieDrawable;->I:Z
if-nez v2, :cond_a
iget-boolean v2, v1, Lcom/discord/rlottie/RLottieDrawable;->x:Z
if-eqz v2, :cond_a
iget v2, v1, Lcom/discord/rlottie/RLottieDrawable;->B:I
if-gt v2, v5, :cond_9
iput v6, v1, Lcom/discord/rlottie/RLottieDrawable;->B:I
:cond_9
iput-boolean v6, v1, Lcom/discord/rlottie/RLottieDrawable;->q:Z
iput-boolean v6, v1, Lcom/discord/rlottie/RLottieDrawable;->y:Z
invoke-virtual {v1}, Lcom/discord/rlottie/RLottieDrawable;->c()Z
move-result v2
if-nez v2, :cond_a
iput-boolean v3, v1, Lcom/discord/rlottie/RLottieDrawable;->z:Z
:cond_a
invoke-virtual {v1}, Lcom/discord/rlottie/RLottieDrawable;->b()V
:cond_b
:goto_2
iget-object v1, v0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v1, :cond_c
iput-boolean v3, v1, Lcom/discord/rlottie/RLottieDrawable;->x:Z
iget-boolean v2, v1, Lcom/discord/rlottie/RLottieDrawable;->x:Z
if-eqz v2, :cond_c
invoke-virtual {v1}, Lcom/discord/rlottie/RLottieDrawable;->c()Z
:cond_c
iget-object v1, v0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
invoke-virtual {p0, v1}, Landroidx/appcompat/widget/AppCompatImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
return-void
:cond_d
const-string v1, "playbackMode"
invoke-static {v1}, Lx/u/b/j;->a(Ljava/lang/String;)V
throw v2
.end method
.method public onAttachedToWindow()V
.locals 1
invoke-super {p0}, Landroid/widget/ImageView;->onAttachedToWindow()V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/discord/rlottie/RLottieImageView;->f:Z
iget-boolean v0, p0, Lcom/discord/rlottie/RLottieImageView;->g:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v0, :cond_0
invoke-virtual {v0}, Lcom/discord/rlottie/RLottieDrawable;->start()V
:cond_0
return-void
.end method
.method public onDetachedFromWindow()V
.locals 2
invoke-super {p0}, Landroid/widget/ImageView;->onDetachedFromWindow()V
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/discord/rlottie/RLottieImageView;->f:Z
iget-object v1, p0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v1, :cond_0
iput-boolean v0, v1, Lcom/discord/rlottie/RLottieDrawable;->I:Z
:cond_0
return-void
.end method
.method public final setPlaybackMode(Lcom/discord/rlottie/RLottieDrawable$PlaybackMode;)V
.locals 0
if-eqz p1, :cond_0
return-void
:cond_0
const-string p1, "playbackMode"
invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V
const/4 p1, 0x0
throw p1
.end method
.method public final setProgress(F)V
.locals 4
iget-object v0, p0, Lcom/discord/rlottie/RLottieImageView;->e:Lcom/discord/rlottie/RLottieDrawable;
if-eqz v0, :cond_3
const/4 v1, 0x0
const/high16 v2, 0x3f800000 # 1.0f
cmpg-float v3, p1, v1
if-gez v3, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
cmpl-float v1, p1, v2
if-lez v1, :cond_1
const/high16 p1, 0x3f800000 # 1.0f
:cond_1
:goto_0
iget-object v1, v0, Lcom/discord/rlottie/RLottieDrawable;->f:[I
const/4 v2, 0x0
aget v1, v1, v2
int-to-float v1, v1
mul-float v1, v1, p1
float-to-int p1, v1
iput p1, v0, Lcom/discord/rlottie/RLottieDrawable;->B:I
iput-boolean v2, v0, Lcom/discord/rlottie/RLottieDrawable;->q:Z
iput-boolean v2, v0, Lcom/discord/rlottie/RLottieDrawable;->y:Z
invoke-virtual {v0}, Lcom/discord/rlottie/RLottieDrawable;->c()Z
move-result p1
if-nez p1, :cond_2
const/4 p1, 0x1
iput-boolean p1, v0, Lcom/discord/rlottie/RLottieDrawable;->z:Z
:cond_2
invoke-virtual {v0}, Landroid/graphics/drawable/BitmapDrawable;->invalidateSelf()V
:cond_3
return-void
.end method