ValueAnimator$AnimationHandler.smali
.class Lio/dcloud/nineoldandroids/animation/ValueAnimator$AnimationHandler;
.super Landroid/os/Handler;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/dcloud/nineoldandroids/animation/ValueAnimator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "AnimationHandler"
.end annotation
# direct methods
.method private constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Landroid/os/Handler;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lio/dcloud/nineoldandroids/animation/ValueAnimator$AnimationHandler;)V
.registers 2
.line 2
invoke-direct {p0}, Lio/dcloud/nineoldandroids/animation/ValueAnimator$AnimationHandler;-><init>()V
return-void
.end method
# virtual methods
.method public handleMessage(Landroid/os/Message;)V
.registers 16
.line 1
# getter for: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal;
invoke-static {}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$2()Ljava/lang/ThreadLocal;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/ArrayList;
.line 2
# getter for: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->sDelayedAnims:Ljava/lang/ThreadLocal;
invoke-static {}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$3()Ljava/lang/ThreadLocal;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/ArrayList;
.line 3
iget p1, p1, Landroid/os/Message;->what:I
const-wide/16 v2, 0x0
const/4 v4, 0x0
const/4 v5, 0x1
if-eqz p1, :cond_22
if-eq p1, v5, :cond_20
goto/16 :goto_c5
:cond_20
move v7, v5
goto :goto_43
.line 7
:cond_22
# getter for: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal;
invoke-static {}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$4()Ljava/lang/ThreadLocal;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/ArrayList;
.line 8
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v6
if-gtz v6, :cond_3b
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v6
if-lez v6, :cond_39
goto :goto_3b
:cond_39
move v6, v5
goto :goto_3c
:cond_3b
:goto_3b
move v6, v4
.line 16
:goto_3c
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result v7
if-gtz v7, :cond_f7
move v7, v6
.line 35
:goto_43
invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J
move-result-wide v8
.line 36
# getter for: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->sReadyAnims:Ljava/lang/ThreadLocal;
invoke-static {}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$7()Ljava/lang/ThreadLocal;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p1
move-object v10, p1
check-cast v10, Ljava/util/ArrayList;
.line 37
# getter for: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->sEndingAnims:Ljava/lang/ThreadLocal;
invoke-static {}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$8()Ljava/lang/ThreadLocal;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p1
move-object v11, p1
check-cast v11, Ljava/util/ArrayList;
.line 41
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v12
move p1, v4
:goto_62
if-lt p1, v12, :cond_e4
.line 48
invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
move-result p1
if-lez p1, :cond_83
move v6, v4
:goto_6b
if-lt v6, p1, :cond_71
.line 56
invoke-virtual {v10}, Ljava/util/ArrayList;->clear()V
goto :goto_83
.line 57
:cond_71
invoke-virtual {v10, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v12
check-cast v12, Lio/dcloud/nineoldandroids/animation/ValueAnimator;
.line 58
# invokes: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->startAnimation()V
invoke-static {v12}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$6(Lio/dcloud/nineoldandroids/animation/ValueAnimator;)V
.line 59
invoke-static {v12, v5}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$10(Lio/dcloud/nineoldandroids/animation/ValueAnimator;Z)V
.line 60
invoke-virtual {v1, v12}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
add-int/lit8 v6, v6, 0x1
goto :goto_6b
.line 67
:cond_83
:goto_83
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result p1
move v6, v4
:goto_88
if-lt v6, p1, :cond_c6
.line 88
invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
move-result p1
if-lez p1, :cond_a6
.line 89
:goto_90
invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
move-result p1
if-lt v4, p1, :cond_9a
.line 92
invoke-virtual {v11}, Ljava/util/ArrayList;->clear()V
goto :goto_a6
.line 93
:cond_9a
invoke-virtual {v11, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lio/dcloud/nineoldandroids/animation/ValueAnimator;
# invokes: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->endAnimation()V
invoke-static {p1}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$11(Lio/dcloud/nineoldandroids/animation/ValueAnimator;)V
add-int/lit8 v4, v4, 0x1
goto :goto_90
:cond_a6
:goto_a6
if-eqz v7, :cond_c5
.line 100
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result p1
if-eqz p1, :cond_b4
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result p1
if-nez p1, :cond_c5
.line 101
:cond_b4
# getter for: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->sFrameDelay:J
invoke-static {}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$12()J
move-result-wide v0
.line 102
invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J
move-result-wide v6
sub-long/2addr v6, v8
sub-long/2addr v0, v6
.line 103
invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->max(JJ)J
move-result-wide v0
invoke-virtual {p0, v5, v0, v1}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
:cond_c5
:goto_c5
return-void
.line 104
:cond_c6
invoke-virtual {v0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Lio/dcloud/nineoldandroids/animation/ValueAnimator;
.line 105
invoke-virtual {v10, v8, v9}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->animationFrame(J)Z
move-result v12
if-eqz v12, :cond_d5
.line 106
invoke-virtual {v11, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 108
:cond_d5
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v12
if-ne v12, p1, :cond_de
add-int/lit8 v6, v6, 0x1
goto :goto_88
:cond_de
add-int/lit8 p1, p1, -0x1
.line 119
invoke-virtual {v11, v10}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
goto :goto_88
.line 120
:cond_e4
invoke-virtual {v1, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lio/dcloud/nineoldandroids/animation/ValueAnimator;
.line 121
# invokes: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->delayedAnimationFrame(J)Z
invoke-static {v6, v8, v9}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$9(Lio/dcloud/nineoldandroids/animation/ValueAnimator;J)Z
move-result v13
if-eqz v13, :cond_f3
.line 122
invoke-virtual {v10, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_f3
add-int/lit8 p1, p1, 0x1
goto/16 :goto_62
.line 123
:cond_f7
invoke-virtual {p1}, Ljava/util/ArrayList;->clone()Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/util/ArrayList;
.line 124
invoke-virtual {p1}, Ljava/util/ArrayList;->clear()V
.line 125
invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
move-result v8
move v9, v4
:goto_105
if-lt v9, v8, :cond_109
goto/16 :goto_3c
.line 127
:cond_109
invoke-virtual {v7, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Lio/dcloud/nineoldandroids/animation/ValueAnimator;
.line 129
# getter for: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->mStartDelay:J
invoke-static {v10}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$5(Lio/dcloud/nineoldandroids/animation/ValueAnimator;)J
move-result-wide v11
cmp-long v11, v11, v2
if-nez v11, :cond_11b
.line 130
# invokes: Lio/dcloud/nineoldandroids/animation/ValueAnimator;->startAnimation()V
invoke-static {v10}, Lio/dcloud/nineoldandroids/animation/ValueAnimator;->access$6(Lio/dcloud/nineoldandroids/animation/ValueAnimator;)V
goto :goto_11e
.line 132
:cond_11b
invoke-virtual {v1, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:goto_11e
add-int/lit8 v9, v9, 0x1
goto :goto_105
.end method