CrossFadingDrawable.smali

.class public final Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;
.super Landroid/graphics/drawable/Drawable;

# interfaces
.implements Landroid/graphics/drawable/Drawable$Callback;


# instance fields
.field private mAlpha:I

.field private mFrom:I

.field private zzpl:Z

.field private zzpw:I

.field private zzpx:J

.field private zzpy:I

.field private zzpz:I

.field private zzqa:I

.field private zzqb:Z

.field private zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

.field private zzqd:Landroid/graphics/drawable/Drawable;

.field private zzqe:Landroid/graphics/drawable/Drawable;

.field private zzqf:Z

.field private zzqg:Z

.field private zzqh:Z

.field private zzqi:I


# direct methods
.method public constructor <init>(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
    .registers 6

    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;-><init>(Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;)V

    if-nez p1, :cond_a

    invoke-static {}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zza;->zzcp()Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zza;

    move-result-object p1

    :cond_a
    iput-object p1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {p1, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    iget v1, v0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;->zzql:I

    invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getChangingConfigurations()I

    move-result v2

    or-int/2addr v1, v2

    iput v1, v0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;->zzql:I

    if-nez p2, :cond_20

    invoke-static {}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zza;->zzcp()Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zza;

    move-result-object p2

    :cond_20
    iput-object p2, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {p2, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    iget v1, v0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;->zzql:I

    invoke-virtual {p2}, Landroid/graphics/drawable/Drawable;->getChangingConfigurations()I

    move-result v2

    or-int/2addr v1, v2

    iput v1, v0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;->zzql:I

    return-void
.end method

.method constructor <init>(Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;)V
    .registers 4

    const/4 v1, 0x0

    invoke-direct {p0}, Landroid/graphics/drawable/Drawable;-><init>()V

    iput v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpw:I

    const/16 v0, 0xff

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    iput v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mAlpha:I

    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpl:Z

    new-instance v0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    invoke-direct {v0, p1}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;-><init>(Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;)V

    iput-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    return-void
.end method


# virtual methods
.method public final canConstantState()Z
    .registers 3

    const/4 v1, 0x1

    iget-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqf:Z

    if-nez v0, :cond_1a

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;

    move-result-object v0

    if-eqz v0, :cond_1d

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;

    move-result-object v0

    if-eqz v0, :cond_1d

    move v0, v1

    :goto_16
    iput-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqg:Z

    iput-boolean v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqf:Z

    :cond_1a
    iget-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqg:Z

    return v0

    :cond_1d
    const/4 v0, 0x0

    goto :goto_16
.end method

.method public final draw(Landroid/graphics/Canvas;)V
    .registers 9

    const/4 v1, 0x1

    const/high16 v6, 0x3f800000    # 1.0f

    const/4 v0, 0x0

    iget v2, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpw:I

    packed-switch v2, :pswitch_data_82

    :cond_9
    :goto_9
    move v0, v1

    :goto_a
    iget v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mAlpha:I

    iget-boolean v2, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpl:Z

    iget-object v3, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    iget-object v4, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    if-eqz v0, :cond_5e

    if-eqz v2, :cond_18

    if-nez v1, :cond_1b

    :cond_18
    invoke-virtual {v3, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V

    :cond_1b
    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    if-ne v1, v0, :cond_27

    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    invoke-virtual {v4, v0}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

    invoke-virtual {v4, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V

    :cond_27
    :goto_27
    return-void

    :pswitch_28
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v2

    iput-wide v2, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpx:J

    const/4 v1, 0x2

    iput v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpw:I

    goto :goto_a

    :pswitch_32
    iget-wide v2, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpx:J

    const-wide/16 v4, 0x0

    cmp-long v2, v2, v4

    if-ltz v2, :cond_9

    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v2

    iget-wide v4, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpx:J

    sub-long/2addr v2, v4

    long-to-float v2, v2

    iget v3, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqa:I

    int-to-float v3, v3

    div-float/2addr v2, v3

    cmpl-float v3, v2, v6

    if-ltz v3, :cond_5c

    :goto_4a
    if-eqz v1, :cond_4e

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpw:I

    :cond_4e
    invoke-static {v2, v6}, Ljava/lang/Math;->min(FF)F

    move-result v0

    const/4 v2, 0x0

    iget v3, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpy:I

    int-to-float v3, v3

    mul-float/2addr v0, v3

    add-float/2addr v0, v2

    float-to-int v0, v0

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mAlpha:I

    goto :goto_9

    :cond_5c
    move v1, v0

    goto :goto_4a

    :cond_5e
    if-eqz v2, :cond_66

    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    sub-int/2addr v0, v1

    invoke-virtual {v3, v0}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

    :cond_66
    invoke-virtual {v3, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V

    if-eqz v2, :cond_70

    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    invoke-virtual {v3, v0}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

    :cond_70
    if-lez v1, :cond_7d

    invoke-virtual {v4, v1}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

    invoke-virtual {v4, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V

    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    invoke-virtual {v4, v0}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V

    :cond_7d
    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->invalidateSelf()V

    goto :goto_27

    nop

    :pswitch_data_82
    .packed-switch 0x1
        :pswitch_28
        :pswitch_32
    .end packed-switch
.end method

.method public final getChangingConfigurations()I
    .registers 3

    invoke-super {p0}, Landroid/graphics/drawable/Drawable;->getChangingConfigurations()I

    move-result v0

    iget-object v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    iget v1, v1, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;->mChangingConfigurations:I

    or-int/2addr v0, v1

    iget-object v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    iget v1, v1, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;->zzql:I

    or-int/2addr v0, v1

    return v0
.end method

.method public final getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
    .registers 3

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->canConstantState()Z

    move-result v0

    if-eqz v0, :cond_11

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->getChangingConfigurations()I

    move-result v1

    iput v1, v0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;->mChangingConfigurations:I

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqc:Lcom/google/android/gms/common/images/internal/CrossFadingDrawable$zzb;

    :goto_10
    return-object v0

    :cond_11
    const/4 v0, 0x0

    goto :goto_10
.end method

.method public final getEndDrawable()Landroid/graphics/drawable/Drawable;
    .registers 2

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    return-object v0
.end method

.method public final getIntrinsicHeight()I
    .registers 3

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I

    move-result v0

    iget-object v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I

    move-result v1

    invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I

    move-result v0

    return v0
.end method

.method public final getIntrinsicWidth()I
    .registers 3

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I

    move-result v0

    iget-object v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I

    move-result v1

    invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I

    move-result v0

    return v0
.end method

.method public final getOpacity()I
    .registers 3

    iget-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqh:Z

    if-nez v0, :cond_19

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getOpacity()I

    move-result v0

    iget-object v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getOpacity()I

    move-result v1

    invoke-static {v0, v1}, Landroid/graphics/drawable/Drawable;->resolveOpacity(II)I

    move-result v0

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqi:I

    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqh:Z

    :cond_19
    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqi:I

    return v0
.end method

.method public final getStartDrawable()Landroid/graphics/drawable/Drawable;
    .registers 2

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    return-object v0
.end method

.method public final invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
    .registers 3

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->getCallback()Landroid/graphics/drawable/Drawable$Callback;

    move-result-object v0

    if-eqz v0, :cond_9

    invoke-interface {v0, p0}, Landroid/graphics/drawable/Drawable$Callback;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V

    :cond_9
    return-void
.end method

.method public final mutate()Landroid/graphics/drawable/Drawable;
    .registers 3

    iget-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqb:Z

    if-nez v0, :cond_25

    invoke-super {p0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;

    move-result-object v0

    if-ne v0, p0, :cond_25

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->canConstantState()Z

    move-result v0

    if-nez v0, :cond_18

    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "One or more children of this LayerDrawable does not have constant state; this drawable cannot be mutated."

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_18
    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;

    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqb:Z

    :cond_25
    return-object p0
.end method

.method protected final onBoundsChange(Landroid/graphics/Rect;)V
    .registers 3

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->setBounds(Landroid/graphics/Rect;)V

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->setBounds(Landroid/graphics/Rect;)V

    return-void
.end method

.method public final resetTransition()V
    .registers 2

    const/4 v0, 0x0

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mAlpha:I

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpw:I

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->invalidateSelf()V

    return-void
.end method

.method public final scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V
    .registers 6

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->getCallback()Landroid/graphics/drawable/Drawable$Callback;

    move-result-object v0

    if-eqz v0, :cond_9

    invoke-interface {v0, p0, p2, p3, p4}, Landroid/graphics/drawable/Drawable$Callback;->scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V

    :cond_9
    return-void
.end method

.method public final setAlpha(I)V
    .registers 4

    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mAlpha:I

    iget v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    if-ne v0, v1, :cond_8

    iput p1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mAlpha:I

    :cond_8
    iput p1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->invalidateSelf()V

    return-void
.end method

.method public final setColorFilter(Landroid/graphics/ColorFilter;)V
    .registers 3

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqd:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->setColorFilter(Landroid/graphics/ColorFilter;)V

    iget-object v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqe:Landroid/graphics/drawable/Drawable;

    invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->setColorFilter(Landroid/graphics/ColorFilter;)V

    return-void
.end method

.method public final setCrossFadeEnabled(Z)V
    .registers 2

    iput-boolean p1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpl:Z

    return-void
.end method

.method public final startTransition(I)V
    .registers 4

    const/4 v1, 0x0

    iput v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mFrom:I

    iget v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpz:I

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpy:I

    iput v1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->mAlpha:I

    iput p1, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzqa:I

    const/4 v0, 0x1

    iput v0, p0, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->zzpw:I

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->invalidateSelf()V

    return-void
.end method

.method public final unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
    .registers 4

    invoke-virtual {p0}, Lcom/google/android/gms/common/images/internal/CrossFadingDrawable;->getCallback()Landroid/graphics/drawable/Drawable$Callback;

    move-result-object v0

    if-eqz v0, :cond_9

    invoke-interface {v0, p0, p2}, Landroid/graphics/drawable/Drawable$Callback;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V

    :cond_9
    return-void
.end method