.class Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler; .super Landroid/os/Handler; .source "ValueAnimator.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/nineoldandroids/animation/ValueAnimator; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0xa name = "AnimationHandler" .end annotation # direct methods .method private constructor ()V .registers 1 .line 570 invoke-direct {p0}, Landroid/os/Handler;->()V return-void .end method .method synthetic constructor (Lcom/nineoldandroids/animation/ValueAnimator$1;)V .registers 2 .line 570 invoke-direct {p0}, Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler;->()V return-void .end method # virtual methods .method public handleMessage(Landroid/os/Message;)V .registers 16 .line 586 # getter for: Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; invoke-static {}, Lcom/nineoldandroids/animation/ValueAnimator;->access$000()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 587 # getter for: Lcom/nineoldandroids/animation/ValueAnimator;->sDelayedAnims:Ljava/lang/ThreadLocal; invoke-static {}, Lcom/nineoldandroids/animation/ValueAnimator;->access$100()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 588 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_118 :cond_20 move v6, v5 goto :goto_6a .line 592 :cond_22 # getter for: Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; invoke-static {}, Lcom/nineoldandroids/animation/ValueAnimator;->access$200()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 593 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 601 :cond_3c :goto_3c invoke-virtual {p1}, Ljava/util/ArrayList;->size()I move-result v7 if-lez v7, :cond_6a .line 602 invoke-virtual {p1}, Ljava/util/ArrayList;->clone()Ljava/lang/Object; move-result-object v7 check-cast v7, Ljava/util/ArrayList; .line 604 invoke-virtual {p1}, Ljava/util/ArrayList;->clear()V .line 605 invoke-virtual {v7}, Ljava/util/ArrayList;->size()I move-result v8 move v9, v4 :goto_50 if-ge v9, v8, :cond_3c .line 607 invoke-virtual {v7, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v10 check-cast v10, Lcom/nineoldandroids/animation/ValueAnimator; .line 609 # getter for: Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J invoke-static {v10}, Lcom/nineoldandroids/animation/ValueAnimator;->access$300(Lcom/nineoldandroids/animation/ValueAnimator;)J move-result-wide v11 cmp-long v11, v11, v2 if-nez v11, :cond_64 .line 610 # invokes: Lcom/nineoldandroids/animation/ValueAnimator;->startAnimation()V invoke-static {v10}, Lcom/nineoldandroids/animation/ValueAnimator;->access$400(Lcom/nineoldandroids/animation/ValueAnimator;)V goto :goto_67 .line 612 :cond_64 invoke-virtual {v1, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :goto_67 add-int/lit8 v9, v9, 0x1 goto :goto_50 .line 620 :cond_6a :goto_6a invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J move-result-wide v7 .line 621 # getter for: Lcom/nineoldandroids/animation/ValueAnimator;->sReadyAnims:Ljava/lang/ThreadLocal; invoke-static {}, Lcom/nineoldandroids/animation/ValueAnimator;->access$500()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 622 # getter for: Lcom/nineoldandroids/animation/ValueAnimator;->sEndingAnims:Ljava/lang/ThreadLocal; invoke-static {}, Lcom/nineoldandroids/animation/ValueAnimator;->access$600()Ljava/lang/ThreadLocal; move-result-object v9 invoke-virtual {v9}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v9 check-cast v9, Ljava/util/ArrayList; .line 626 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v10 move v11, v4 :goto_87 if-ge v11, v10, :cond_9b .line 628 invoke-virtual {v1, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v12 check-cast v12, Lcom/nineoldandroids/animation/ValueAnimator; .line 629 # invokes: Lcom/nineoldandroids/animation/ValueAnimator;->delayedAnimationFrame(J)Z invoke-static {v12, v7, v8}, Lcom/nineoldandroids/animation/ValueAnimator;->access$700(Lcom/nineoldandroids/animation/ValueAnimator;J)Z move-result v13 if-eqz v13, :cond_98 .line 630 invoke-virtual {p1, v12}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_98 add-int/lit8 v11, v11, 0x1 goto :goto_87 .line 633 :cond_9b invoke-virtual {p1}, Ljava/util/ArrayList;->size()I move-result v10 if-lez v10, :cond_b9 move v11, v4 :goto_a2 if-ge v11, v10, :cond_b6 .line 636 invoke-virtual {p1, v11}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v12 check-cast v12, Lcom/nineoldandroids/animation/ValueAnimator; .line 637 # invokes: Lcom/nineoldandroids/animation/ValueAnimator;->startAnimation()V invoke-static {v12}, Lcom/nineoldandroids/animation/ValueAnimator;->access$400(Lcom/nineoldandroids/animation/ValueAnimator;)V .line 638 # setter for: Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z invoke-static {v12, v5}, Lcom/nineoldandroids/animation/ValueAnimator;->access$802(Lcom/nineoldandroids/animation/ValueAnimator;Z)Z .line 639 invoke-virtual {v1, v12}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z add-int/lit8 v11, v11, 0x1 goto :goto_a2 .line 641 :cond_b6 invoke-virtual {p1}, Ljava/util/ArrayList;->clear()V .line 646 :cond_b9 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result p1 move v10, v4 :goto_be if-ge v10, p1, :cond_de .line 649 invoke-virtual {v0, v10}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v11 check-cast v11, Lcom/nineoldandroids/animation/ValueAnimator; .line 650 invoke-virtual {v11, v7, v8}, Lcom/nineoldandroids/animation/ValueAnimator;->animationFrame(J)Z move-result v12 if-eqz v12, :cond_cf .line 651 invoke-virtual {v9, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 653 :cond_cf invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v12 if-ne v12, p1, :cond_d8 add-int/lit8 v10, v10, 0x1 goto :goto_be :cond_d8 add-int/lit8 p1, p1, -0x1 .line 664 invoke-virtual {v9, v11}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z goto :goto_be .line 667 :cond_de invoke-virtual {v9}, Ljava/util/ArrayList;->size()I move-result p1 if-lez p1, :cond_f9 .line 668 :goto_e4 invoke-virtual {v9}, Ljava/util/ArrayList;->size()I move-result p1 if-ge v4, p1, :cond_f6 .line 669 invoke-virtual {v9, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/nineoldandroids/animation/ValueAnimator; # invokes: Lcom/nineoldandroids/animation/ValueAnimator;->endAnimation()V invoke-static {p1}, Lcom/nineoldandroids/animation/ValueAnimator;->access$900(Lcom/nineoldandroids/animation/ValueAnimator;)V add-int/lit8 v4, v4, 0x1 goto :goto_e4 .line 671 :cond_f6 invoke-virtual {v9}, Ljava/util/ArrayList;->clear()V :cond_f9 if-eqz v6, :cond_118 .line 676 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result p1 if-eqz p1, :cond_107 invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z move-result p1 if-nez p1, :cond_118 .line 677 :cond_107 # getter for: Lcom/nineoldandroids/animation/ValueAnimator;->sFrameDelay:J invoke-static {}, Lcom/nineoldandroids/animation/ValueAnimator;->access$1000()J move-result-wide v0 invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J move-result-wide v9 sub-long/2addr v9, v7 sub-long/2addr v0, v9 invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->max(JJ)J move-result-wide v0 invoke-virtual {p0, v5, v0, v1}, Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler;->sendEmptyMessageDelayed(IJ)Z :cond_118 :goto_118 return-void .end method