.class public Lcom/nineoldandroids/animation/ValueAnimator; .super Lcom/nineoldandroids/animation/Animator; .source "ValueAnimator.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/nineoldandroids/animation/ValueAnimator$AnimatorUpdateListener;, Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler; } .end annotation # static fields .field static final ANIMATION_FRAME:I = 0x1 .field static final ANIMATION_START:I = 0x0 .field private static final DEFAULT_FRAME_DELAY:J = 0xaL .field public static final INFINITE:I = -0x1 .field public static final RESTART:I = 0x1 .field public static final REVERSE:I = 0x2 .field static final RUNNING:I = 0x1 .field static final SEEKED:I = 0x2 .field static final STOPPED:I .field private static sAnimationHandler:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler;", ">;" } .end annotation .end field .field private static final sAnimations:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Ljava/util/ArrayList<", "Lcom/nineoldandroids/animation/ValueAnimator;", ">;>;" } .end annotation .end field .field private static final sDefaultInterpolator:Landroid/view/animation/Interpolator; .field private static final sDelayedAnims:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Ljava/util/ArrayList<", "Lcom/nineoldandroids/animation/ValueAnimator;", ">;>;" } .end annotation .end field .field private static final sEndingAnims:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Ljava/util/ArrayList<", "Lcom/nineoldandroids/animation/ValueAnimator;", ">;>;" } .end annotation .end field .field private static final sFloatEvaluator:Lcom/nineoldandroids/animation/TypeEvaluator; .field private static sFrameDelay:J .field private static final sIntEvaluator:Lcom/nineoldandroids/animation/TypeEvaluator; .field private static final sPendingAnimations:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Ljava/util/ArrayList<", "Lcom/nineoldandroids/animation/ValueAnimator;", ">;>;" } .end annotation .end field .field private static final sReadyAnims:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Ljava/util/ArrayList<", "Lcom/nineoldandroids/animation/ValueAnimator;", ">;>;" } .end annotation .end field # instance fields .field private mCurrentFraction:F .field private mCurrentIteration:I .field private mDelayStartTime:J .field private mDuration:J .field mInitialized:Z .field private mInterpolator:Landroid/view/animation/Interpolator; .field private mPlayingBackwards:Z .field mPlayingState:I .field private mRepeatCount:I .field private mRepeatMode:I .field private mRunning:Z .field mSeekTime:J .field private mStartDelay:J .field mStartTime:J .field private mStarted:Z .field private mStartedDelay:Z .field private mUpdateListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/nineoldandroids/animation/ValueAnimator$AnimatorUpdateListener;", ">;" } .end annotation .end field .field mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; .field mValuesMap:Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashMap<", "Ljava/lang/String;", "Lcom/nineoldandroids/animation/PropertyValuesHolder;", ">;" } .end annotation .end field # direct methods .method static constructor ()V .registers 2 .line 94 new-instance v0, Ljava/lang/ThreadLocal; invoke-direct {v0}, Ljava/lang/ThreadLocal;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimationHandler:Ljava/lang/ThreadLocal; .line 98 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator$1; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator$1;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; .line 107 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator$2; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator$2;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; .line 119 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator$3; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator$3;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sDelayedAnims:Ljava/lang/ThreadLocal; .line 127 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator$4; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator$4;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sEndingAnims:Ljava/lang/ThreadLocal; .line 135 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator$5; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator$5;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sReadyAnims:Ljava/lang/ThreadLocal; .line 144 new-instance v0, Landroid/view/animation/AccelerateDecelerateInterpolator; invoke-direct {v0}, Landroid/view/animation/AccelerateDecelerateInterpolator;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sDefaultInterpolator:Landroid/view/animation/Interpolator; .line 148 new-instance v0, Lcom/nineoldandroids/animation/IntEvaluator; invoke-direct {v0}, Lcom/nineoldandroids/animation/IntEvaluator;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sIntEvaluator:Lcom/nineoldandroids/animation/TypeEvaluator; .line 149 new-instance v0, Lcom/nineoldandroids/animation/FloatEvaluator; invoke-direct {v0}, Lcom/nineoldandroids/animation/FloatEvaluator;->()V sput-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sFloatEvaluator:Lcom/nineoldandroids/animation/TypeEvaluator; const-wide/16 v0, 0xa .line 222 sput-wide v0, Lcom/nineoldandroids/animation/ValueAnimator;->sFrameDelay:J return-void .end method .method public constructor ()V .registers 4 .line 283 invoke-direct {p0}, Lcom/nineoldandroids/animation/Animator;->()V const-wide/16 v0, -0x1 .line 85 iput-wide v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mSeekTime:J const/4 v0, 0x0 .line 155 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z .line 161 iput v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentIteration:I const/4 v1, 0x0 .line 166 iput v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentFraction:F .line 171 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartedDelay:Z .line 187 iput v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I .line 197 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z .line 203 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStarted:Z .line 209 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z const-wide/16 v1, 0x12c .line 216 iput-wide v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDuration:J const-wide/16 v1, 0x0 .line 219 iput-wide v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J .line 226 iput v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatCount:I const/4 v0, 0x1 .line 233 iput v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatMode:I .line 240 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sDefaultInterpolator:Landroid/view/animation/Interpolator; iput-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInterpolator:Landroid/view/animation/Interpolator; const/4 v0, 0x0 .line 245 iput-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; return-void .end method .method static synthetic access$000()Ljava/lang/ThreadLocal; .registers 1 .line 43 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; return-object v0 .end method .method static synthetic access$100()Ljava/lang/ThreadLocal; .registers 1 .line 43 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sDelayedAnims:Ljava/lang/ThreadLocal; return-object v0 .end method .method static synthetic access$1000()J .registers 2 .line 43 sget-wide v0, Lcom/nineoldandroids/animation/ValueAnimator;->sFrameDelay:J return-wide v0 .end method .method static synthetic access$200()Ljava/lang/ThreadLocal; .registers 1 .line 43 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; return-object v0 .end method .method static synthetic access$300(Lcom/nineoldandroids/animation/ValueAnimator;)J .registers 3 .line 43 iget-wide v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J return-wide v0 .end method .method static synthetic access$400(Lcom/nineoldandroids/animation/ValueAnimator;)V .registers 1 .line 43 invoke-direct {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->startAnimation()V return-void .end method .method static synthetic access$500()Ljava/lang/ThreadLocal; .registers 1 .line 43 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sReadyAnims:Ljava/lang/ThreadLocal; return-object v0 .end method .method static synthetic access$600()Ljava/lang/ThreadLocal; .registers 1 .line 43 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sEndingAnims:Ljava/lang/ThreadLocal; return-object v0 .end method .method static synthetic access$700(Lcom/nineoldandroids/animation/ValueAnimator;J)Z .registers 3 .line 43 invoke-direct {p0, p1, p2}, Lcom/nineoldandroids/animation/ValueAnimator;->delayedAnimationFrame(J)Z move-result p0 return p0 .end method .method static synthetic access$802(Lcom/nineoldandroids/animation/ValueAnimator;Z)Z .registers 2 .line 43 iput-boolean p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z return p1 .end method .method static synthetic access$900(Lcom/nineoldandroids/animation/ValueAnimator;)V .registers 1 .line 43 invoke-direct {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->endAnimation()V return-void .end method .method public static clearAllAnimations()V .registers 1 .line 1249 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V .line 1250 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V .line 1251 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sDelayedAnims:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V return-void .end method .method private delayedAnimationFrame(J)Z .registers 9 .line 1071 iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartedDelay:Z const/4 v1, 0x1 if-nez v0, :cond_a .line 1072 iput-boolean v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartedDelay:Z .line 1073 iput-wide p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDelayStartTime:J goto :goto_1b .line 1075 :cond_a iget-wide v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDelayStartTime:J sub-long v2, p1, v2 .line 1076 iget-wide v4, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J cmp-long v0, v2, v4 if-lez v0, :cond_1b sub-long/2addr v2, v4 sub-long/2addr p1, v2 .line 1079 iput-wide p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J .line 1080 iput v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I return v1 :cond_1b :goto_1b const/4 p1, 0x0 return p1 .end method .method private endAnimation()V .registers 6 .line 1025 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 1026 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 1027 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sDelayedAnims:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z const/4 v0, 0x0 .line 1028 iput v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I .line 1029 iget-boolean v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z if-eqz v1, :cond_47 iget-object v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; if-eqz v1, :cond_47 .line 1030 iget-object v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->clone()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/ArrayList; .line 1032 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v2 move v3, v0 :goto_39 if-ge v3, v2, :cond_47 .line 1034 invoke-virtual {v1, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Lcom/nineoldandroids/animation/Animator$AnimatorListener; invoke-interface {v4, p0}, Lcom/nineoldandroids/animation/Animator$AnimatorListener;->onAnimationEnd(Lcom/nineoldandroids/animation/Animator;)V add-int/lit8 v3, v3, 0x1 goto :goto_39 .line 1037 :cond_47 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z .line 1038 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStarted:Z return-void .end method .method public static getCurrentAnimationsCount()I .registers 1 .line 1239 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 return v0 .end method .method public static getFrameDelay()J .registers 2 .line 715 sget-wide v0, Lcom/nineoldandroids/animation/ValueAnimator;->sFrameDelay:J return-wide v0 .end method .method public static varargs ofFloat([F)Lcom/nineoldandroids/animation/ValueAnimator; .registers 2 .line 315 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator;->()V .line 316 invoke-virtual {v0, p0}, Lcom/nineoldandroids/animation/ValueAnimator;->setFloatValues([F)V return-object v0 .end method .method public static varargs ofInt([I)Lcom/nineoldandroids/animation/ValueAnimator; .registers 2 .line 298 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator;->()V .line 299 invoke-virtual {v0, p0}, Lcom/nineoldandroids/animation/ValueAnimator;->setIntValues([I)V return-object v0 .end method .method public static varargs ofObject(Lcom/nineoldandroids/animation/TypeEvaluator;[Ljava/lang/Object;)Lcom/nineoldandroids/animation/ValueAnimator; .registers 3 .line 352 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator;->()V .line 353 invoke-virtual {v0, p1}, Lcom/nineoldandroids/animation/ValueAnimator;->setObjectValues([Ljava/lang/Object;)V .line 354 invoke-virtual {v0, p0}, Lcom/nineoldandroids/animation/ValueAnimator;->setEvaluator(Lcom/nineoldandroids/animation/TypeEvaluator;)V return-object v0 .end method .method public static varargs ofPropertyValuesHolder([Lcom/nineoldandroids/animation/PropertyValuesHolder;)Lcom/nineoldandroids/animation/ValueAnimator; .registers 2 .line 329 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator; invoke-direct {v0}, Lcom/nineoldandroids/animation/ValueAnimator;->()V .line 330 invoke-virtual {v0, p0}, Lcom/nineoldandroids/animation/ValueAnimator;->setValues([Lcom/nineoldandroids/animation/PropertyValuesHolder;)V return-object v0 .end method .method public static setFrameDelay(J)V .registers 2 .line 728 sput-wide p0, Lcom/nineoldandroids/animation/ValueAnimator;->sFrameDelay:J return-void .end method .method private start(Z)V .registers 7 .line 917 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; move-result-object v0 if-eqz v0, :cond_68 .line 920 iput-boolean p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z const/4 p1, 0x0 .line 921 iput p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentIteration:I .line 922 iput p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I const/4 v0, 0x1 .line 923 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStarted:Z .line 924 iput-boolean p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartedDelay:Z .line 925 sget-object v1, Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/ArrayList; invoke-virtual {v1, p0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 926 iget-wide v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J const-wide/16 v3, 0x0 cmp-long v1, v1, v3 if-nez v1, :cond_4f .line 928 invoke-virtual {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->getCurrentPlayTime()J move-result-wide v1 invoke-virtual {p0, v1, v2}, Lcom/nineoldandroids/animation/ValueAnimator;->setCurrentPlayTime(J)V .line 929 iput p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I .line 930 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z .line 932 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; if-eqz v0, :cond_4f .line 933 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clone()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; .line 935 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v1 move v2, p1 :goto_41 if-ge v2, v1, :cond_4f .line 937 invoke-virtual {v0, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/nineoldandroids/animation/Animator$AnimatorListener; invoke-interface {v3, p0}, Lcom/nineoldandroids/animation/Animator$AnimatorListener;->onAnimationStart(Lcom/nineoldandroids/animation/Animator;)V add-int/lit8 v2, v2, 0x1 goto :goto_41 .line 941 :cond_4f sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimationHandler:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler; if-nez v0, :cond_64 .line 943 new-instance v0, Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler; const/4 v1, 0x0 invoke-direct {v0, v1}, Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler;->(Lcom/nineoldandroids/animation/ValueAnimator$1;)V .line 944 sget-object v1, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimationHandler:Ljava/lang/ThreadLocal; invoke-virtual {v1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V .line 946 :cond_64 invoke-virtual {v0, p1}, Lcom/nineoldandroids/animation/ValueAnimator$AnimationHandler;->sendEmptyMessage(I)Z return-void .line 918 :cond_68 new-instance p1, Landroid/util/AndroidRuntimeException; const-string v0, "Animators may only be run on Looper threads" invoke-direct {p1, v0}, Landroid/util/AndroidRuntimeException;->(Ljava/lang/String;)V throw p1 .end method .method private startAnimation()V .registers 5 .line 1046 invoke-virtual {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->initAnimation()V .line 1047 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 1048 iget-wide v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J const-wide/16 v2, 0x0 cmp-long v0, v0, v2 if-lez v0, :cond_35 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; if-eqz v0, :cond_35 .line 1051 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clone()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; .line 1053 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v1 const/4 v2, 0x0 :goto_27 if-ge v2, v1, :cond_35 .line 1055 invoke-virtual {v0, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/nineoldandroids/animation/Animator$AnimatorListener; invoke-interface {v3, p0}, Lcom/nineoldandroids/animation/Animator$AnimatorListener;->onAnimationStart(Lcom/nineoldandroids/animation/Animator;)V add-int/lit8 v2, v2, 0x1 goto :goto_27 :cond_35 return-void .end method # virtual methods .method public addUpdateListener(Lcom/nineoldandroids/animation/ValueAnimator$AnimatorUpdateListener;)V .registers 3 .line 820 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; if-nez v0, :cond_b .line 821 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; .line 823 :cond_b iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method animateValue(F)V .registers 6 .line 1169 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInterpolator:Landroid/view/animation/Interpolator; invoke-interface {v0, p1}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result p1 .line 1170 iput p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentFraction:F .line 1171 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; array-length v0, v0 const/4 v1, 0x0 move v2, v1 :goto_d if-ge v2, v0, :cond_19 .line 1173 iget-object v3, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; aget-object v3, v3, v2 invoke-virtual {v3, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->calculateValue(F)V add-int/lit8 v2, v2, 0x1 goto :goto_d .line 1175 :cond_19 iget-object p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; if-eqz p1, :cond_31 .line 1176 invoke-virtual {p1}, Ljava/util/ArrayList;->size()I move-result p1 :goto_21 if-ge v1, p1, :cond_31 .line 1178 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/nineoldandroids/animation/ValueAnimator$AnimatorUpdateListener; invoke-interface {v0, p0}, Lcom/nineoldandroids/animation/ValueAnimator$AnimatorUpdateListener;->onAnimationUpdate(Lcom/nineoldandroids/animation/ValueAnimator;)V add-int/lit8 v1, v1, 0x1 goto :goto_21 :cond_31 return-void .end method .method animationFrame(J)Z .registers 13 .line 1102 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I const-wide/16 v1, 0x0 const/4 v3, 0x1 if-nez v0, :cond_1a .line 1103 iput v3, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I .line 1104 iget-wide v4, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mSeekTime:J cmp-long v0, v4, v1 if-gez v0, :cond_12 .line 1105 iput-wide p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J goto :goto_1a :cond_12 sub-long v4, p1, v4 .line 1107 iput-wide v4, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J const-wide/16 v4, -0x1 .line 1109 iput-wide v4, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mSeekTime:J .line 1112 :cond_1a :goto_1a iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I const/4 v4, 0x2 const/4 v5, 0x0 if-eq v0, v3, :cond_23 if-eq v0, v4, :cond_23 goto :goto_83 .line 1115 :cond_23 iget-wide v6, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDuration:J cmp-long v0, v6, v1 const/high16 v1, 0x3f800000 # 1.0f if-lez v0, :cond_32 iget-wide v8, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J sub-long/2addr p1, v8 long-to-float p1, p1 long-to-float p2, v6 div-float/2addr p1, p2 goto :goto_33 :cond_32 move p1, v1 :goto_33 cmpl-float p2, p1, v1 if-ltz p2, :cond_78 .line 1117 iget p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentIteration:I iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatCount:I if-lt p2, v0, :cond_46 const/4 p2, -0x1 if-ne v0, p2, :cond_41 goto :goto_46 .line 1133 :cond_41 invoke-static {p1, v1}, Ljava/lang/Math;->min(FF)F move-result p1 goto :goto_79 .line 1119 :cond_46 :goto_46 iget-object p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; if-eqz p2, :cond_61 .line 1120 iget-object p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; invoke-virtual {p2}, Ljava/util/ArrayList;->size()I move-result p2 move v0, v5 :goto_51 if-ge v0, p2, :cond_61 .line 1122 iget-object v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/nineoldandroids/animation/Animator$AnimatorListener; invoke-interface {v2, p0}, Lcom/nineoldandroids/animation/Animator$AnimatorListener;->onAnimationRepeat(Lcom/nineoldandroids/animation/Animator;)V add-int/lit8 v0, v0, 0x1 goto :goto_51 .line 1125 :cond_61 iget p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatMode:I if-ne p2, v4, :cond_6a .line 1126 iget-boolean p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z xor-int/2addr p2, v3 iput-boolean p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z .line 1128 :cond_6a iget p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentIteration:I float-to-int v0, p1 add-int/2addr p2, v0 iput p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentIteration:I rem-float/2addr p1, v1 .line 1130 iget-wide v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J iget-wide v6, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDuration:J add-long/2addr v2, v6 iput-wide v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J :cond_78 move v3, v5 .line 1136 :goto_79 iget-boolean p2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z if-eqz p2, :cond_7f sub-float p1, v1, p1 .line 1139 :cond_7f invoke-virtual {p0, p1}, Lcom/nineoldandroids/animation/ValueAnimator;->animateValue(F)V move v5, v3 :goto_83 return v5 .end method .method public cancel()V .registers 3 .line 958 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I if-nez v0, :cond_20 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_20 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sDelayedAnims:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_47 .line 961 :cond_20 iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z if-eqz v0, :cond_44 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; if-eqz v0, :cond_44 .line 962 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mListeners:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clone()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; .line 964 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_34 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_44 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/nineoldandroids/animation/Animator$AnimatorListener; .line 965 invoke-interface {v1, p0}, Lcom/nineoldandroids/animation/Animator$AnimatorListener;->onAnimationCancel(Lcom/nineoldandroids/animation/Animator;)V goto :goto_34 .line 968 :cond_44 invoke-direct {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->endAnimation()V :cond_47 return-void .end method .method public bridge synthetic clone()Lcom/nineoldandroids/animation/Animator; .registers 2 .line 43 invoke-virtual {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->clone()Lcom/nineoldandroids/animation/ValueAnimator; move-result-object v0 return-object v0 .end method .method public clone()Lcom/nineoldandroids/animation/ValueAnimator; .registers 8 .line 1185 invoke-super {p0}, Lcom/nineoldandroids/animation/Animator;->clone()Lcom/nineoldandroids/animation/Animator; move-result-object v0 check-cast v0, Lcom/nineoldandroids/animation/ValueAnimator; .line 1186 iget-object v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; const/4 v2, 0x0 if-eqz v1, :cond_25 .line 1188 new-instance v3, Ljava/util/ArrayList; invoke-direct {v3}, Ljava/util/ArrayList;->()V iput-object v3, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; .line 1189 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v3 move v4, v2 :goto_17 if-ge v4, v3, :cond_25 .line 1191 iget-object v5, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v1, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v6 invoke-virtual {v5, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z add-int/lit8 v4, v4, 0x1 goto :goto_17 :cond_25 const-wide/16 v3, -0x1 .line 1194 iput-wide v3, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mSeekTime:J .line 1195 iput-boolean v2, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z .line 1196 iput v2, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentIteration:I .line 1197 iput-boolean v2, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z .line 1198 iput v2, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I .line 1199 iput-boolean v2, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartedDelay:Z .line 1200 iget-object v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; if-eqz v1, :cond_5b .line 1202 array-length v3, v1 .line 1203 new-array v4, v3, [Lcom/nineoldandroids/animation/PropertyValuesHolder; iput-object v4, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; .line 1204 new-instance v4, Ljava/util/HashMap; invoke-direct {v4, v3}, Ljava/util/HashMap;->(I)V iput-object v4, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mValuesMap:Ljava/util/HashMap; :goto_43 if-ge v2, v3, :cond_5b .line 1206 aget-object v4, v1, v2 invoke-virtual {v4}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->clone()Lcom/nineoldandroids/animation/PropertyValuesHolder; move-result-object v4 .line 1207 iget-object v5, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; aput-object v4, v5, v2 .line 1208 iget-object v5, v0, Lcom/nineoldandroids/animation/ValueAnimator;->mValuesMap:Ljava/util/HashMap; invoke-virtual {v4}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->getPropertyName()Ljava/lang/String; move-result-object v6 invoke-virtual {v5, v6, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v2, v2, 0x1 goto :goto_43 :cond_5b return-object v0 .end method .method public bridge synthetic clone()Ljava/lang/Object; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/CloneNotSupportedException; } .end annotation .line 43 invoke-virtual {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->clone()Lcom/nineoldandroids/animation/ValueAnimator; move-result-object v0 return-object v0 .end method .method public end()V .registers 3 .line 974 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_23 sget-object v0, Lcom/nineoldandroids/animation/ValueAnimator;->sPendingAnimations:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/ArrayList; invoke-virtual {v0, p0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_23 const/4 v0, 0x0 .line 976 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartedDelay:Z .line 977 invoke-direct {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->startAnimation()V goto :goto_2a .line 978 :cond_23 iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z if-nez v0, :cond_2a .line 979 invoke-virtual {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->initAnimation()V .line 983 :cond_2a :goto_2a iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatCount:I if-lez v0, :cond_37 const/4 v1, 0x1 and-int/2addr v0, v1 if-ne v0, v1, :cond_37 const/4 v0, 0x0 .line 984 invoke-virtual {p0, v0}, Lcom/nineoldandroids/animation/ValueAnimator;->animateValue(F)V goto :goto_3c :cond_37 const/high16 v0, 0x3f800000 # 1.0f .line 986 invoke-virtual {p0, v0}, Lcom/nineoldandroids/animation/ValueAnimator;->animateValue(F)V .line 988 :goto_3c invoke-direct {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->endAnimation()V return-void .end method .method public getAnimatedFraction()F .registers 2 .line 1153 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mCurrentFraction:F return v0 .end method .method public getAnimatedValue()Ljava/lang/Object; .registers 3 .line 744 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; if-eqz v0, :cond_f array-length v1, v0 if-lez v1, :cond_f const/4 v1, 0x0 .line 745 aget-object v0, v0, v1 invoke-virtual {v0}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; move-result-object v0 return-object v0 :cond_f const/4 v0, 0x0 return-object v0 .end method .method public getAnimatedValue(Ljava/lang/String;)Ljava/lang/Object; .registers 3 .line 762 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValuesMap:Ljava/util/HashMap; invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/nineoldandroids/animation/PropertyValuesHolder; if-eqz p1, :cond_f .line 764 invoke-virtual {p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; move-result-object p1 return-object p1 :cond_f const/4 p1, 0x0 return-object p1 .end method .method public getCurrentPlayTime()J .registers 5 .line 556 iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z if-eqz v0, :cond_11 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I if-nez v0, :cond_9 goto :goto_11 .line 559 :cond_9 invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J move-result-wide v0 iget-wide v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J sub-long/2addr v0, v2 return-wide v0 :cond_11 :goto_11 const-wide/16 v0, 0x0 return-wide v0 .end method .method public getDuration()J .registers 3 .line 524 iget-wide v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDuration:J return-wide v0 .end method .method public getInterpolator()Landroid/view/animation/Interpolator; .registers 2 .line 878 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInterpolator:Landroid/view/animation/Interpolator; return-object v0 .end method .method public getRepeatCount()I .registers 2 .line 789 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatCount:I return v0 .end method .method public getRepeatMode()I .registers 2 .line 809 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatMode:I return v0 .end method .method public getStartDelay()J .registers 3 .line 692 iget-wide v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J return-wide v0 .end method .method public getValues()[Lcom/nineoldandroids/animation/PropertyValuesHolder; .registers 2 .line 476 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; return-object v0 .end method .method initAnimation()V .registers 4 .line 490 iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z if-nez v0, :cond_17 .line 491 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; array-length v0, v0 const/4 v1, 0x0 :goto_8 if-ge v1, v0, :cond_14 .line 493 iget-object v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; aget-object v2, v2, v1 invoke-virtual {v2}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->init()V add-int/lit8 v1, v1, 0x1 goto :goto_8 :cond_14 const/4 v0, 0x1 .line 495 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z :cond_17 return-void .end method .method public isRunning()Z .registers 3 .line 993 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I const/4 v1, 0x1 if-eq v0, v1, :cond_b iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRunning:Z if-eqz v0, :cond_a goto :goto_b :cond_a const/4 v1, 0x0 :cond_b :goto_b return v1 .end method .method public isStarted()Z .registers 2 .line 998 iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStarted:Z return v0 .end method .method public removeAllUpdateListeners()V .registers 2 .line 830 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; if-nez v0, :cond_5 return-void .line 833 :cond_5 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V const/4 v0, 0x0 .line 834 iput-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; return-void .end method .method public removeUpdateListener(Lcom/nineoldandroids/animation/ValueAnimator$AnimatorUpdateListener;)V .registers 3 .line 844 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; if-nez v0, :cond_5 return-void .line 847 :cond_5 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 848 iget-object p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {p1}, Ljava/util/ArrayList;->size()I move-result p1 if-nez p1, :cond_13 const/4 p1, 0x0 .line 849 iput-object p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mUpdateListeners:Ljava/util/ArrayList; :cond_13 return-void .end method .method public reverse()V .registers 7 .line 1009 iget-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z const/4 v1, 0x1 xor-int/2addr v0, v1 iput-boolean v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingBackwards:Z .line 1010 iget v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I if-ne v0, v1, :cond_19 .line 1011 invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J move-result-wide v0 .line 1012 iget-wide v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J sub-long v2, v0, v2 .line 1013 iget-wide v4, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDuration:J sub-long/2addr v4, v2 sub-long/2addr v0, v4 .line 1014 iput-wide v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J goto :goto_1c .line 1016 :cond_19 invoke-direct {p0, v1}, Lcom/nineoldandroids/animation/ValueAnimator;->start(Z)V :goto_1c return-void .end method .method public setCurrentPlayTime(J)V .registers 7 .line 538 invoke-virtual {p0}, Lcom/nineoldandroids/animation/ValueAnimator;->initAnimation()V .line 539 invoke-static {}, Landroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J move-result-wide v0 .line 540 iget v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I const/4 v3, 0x1 if-eq v2, v3, :cond_11 .line 541 iput-wide p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mSeekTime:J const/4 v2, 0x2 .line 542 iput v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mPlayingState:I :cond_11 sub-long p1, v0, p1 .line 544 iput-wide p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartTime:J .line 545 invoke-virtual {p0, v0, v1}, Lcom/nineoldandroids/animation/ValueAnimator;->animationFrame(J)Z return-void .end method .method public bridge synthetic setDuration(J)Lcom/nineoldandroids/animation/Animator; .registers 3 .line 43 invoke-virtual {p0, p1, p2}, Lcom/nineoldandroids/animation/ValueAnimator;->setDuration(J)Lcom/nineoldandroids/animation/ValueAnimator; move-result-object p1 return-object p1 .end method .method public setDuration(J)Lcom/nineoldandroids/animation/ValueAnimator; .registers 6 const-wide/16 v0, 0x0 cmp-long v0, p1, v0 if-ltz v0, :cond_9 .line 514 iput-wide p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mDuration:J return-object p0 .line 511 :cond_9 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Animators cannot have negative duration: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public setEvaluator(Lcom/nineoldandroids/animation/TypeEvaluator;)V .registers 4 if-eqz p1, :cond_f .line 898 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; if-eqz v0, :cond_f array-length v1, v0 if-lez v1, :cond_f const/4 v1, 0x0 .line 899 aget-object v0, v0, v1 invoke-virtual {v0, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->setEvaluator(Lcom/nineoldandroids/animation/TypeEvaluator;)V :cond_f return-void .end method .method public varargs setFloatValues([F)V .registers 5 if-eqz p1, :cond_25 .line 401 array-length v0, p1 if-nez v0, :cond_6 goto :goto_25 .line 404 :cond_6 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; const/4 v1, 0x0 if-eqz v0, :cond_15 array-length v2, v0 if-nez v2, :cond_f goto :goto_15 .line 407 :cond_f aget-object v0, v0, v1 .line 408 invoke-virtual {v0, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->setFloatValues([F)V goto :goto_23 :cond_15 :goto_15 const/4 v0, 0x1 .line 405 new-array v0, v0, [Lcom/nineoldandroids/animation/PropertyValuesHolder; const-string v2, "" invoke-static {v2, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->ofFloat(Ljava/lang/String;[F)Lcom/nineoldandroids/animation/PropertyValuesHolder; move-result-object p1 aput-object p1, v0, v1 invoke-virtual {p0, v0}, Lcom/nineoldandroids/animation/ValueAnimator;->setValues([Lcom/nineoldandroids/animation/PropertyValuesHolder;)V .line 411 :goto_23 iput-boolean v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z :cond_25 :goto_25 return-void .end method .method public varargs setIntValues([I)V .registers 5 if-eqz p1, :cond_25 .line 373 array-length v0, p1 if-nez v0, :cond_6 goto :goto_25 .line 376 :cond_6 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; const/4 v1, 0x0 if-eqz v0, :cond_15 array-length v2, v0 if-nez v2, :cond_f goto :goto_15 .line 379 :cond_f aget-object v0, v0, v1 .line 380 invoke-virtual {v0, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->setIntValues([I)V goto :goto_23 :cond_15 :goto_15 const/4 v0, 0x1 .line 377 new-array v0, v0, [Lcom/nineoldandroids/animation/PropertyValuesHolder; const-string v2, "" invoke-static {v2, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->ofInt(Ljava/lang/String;[I)Lcom/nineoldandroids/animation/PropertyValuesHolder; move-result-object p1 aput-object p1, v0, v1 invoke-virtual {p0, v0}, Lcom/nineoldandroids/animation/ValueAnimator;->setValues([Lcom/nineoldandroids/animation/PropertyValuesHolder;)V .line 383 :goto_23 iput-boolean v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z :cond_25 :goto_25 return-void .end method .method public setInterpolator(Landroid/view/animation/Interpolator;)V .registers 2 if-eqz p1, :cond_5 .line 866 iput-object p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInterpolator:Landroid/view/animation/Interpolator; goto :goto_c .line 868 :cond_5 new-instance p1, Landroid/view/animation/LinearInterpolator; invoke-direct {p1}, Landroid/view/animation/LinearInterpolator;->()V iput-object p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInterpolator:Landroid/view/animation/Interpolator; :goto_c return-void .end method .method public varargs setObjectValues([Ljava/lang/Object;)V .registers 6 if-eqz p1, :cond_29 .line 433 array-length v0, p1 if-nez v0, :cond_6 goto :goto_29 .line 436 :cond_6 iget-object v0, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; const/4 v1, 0x0 if-eqz v0, :cond_15 array-length v2, v0 if-nez v2, :cond_f goto :goto_15 .line 440 :cond_f aget-object v0, v0, v1 .line 441 invoke-virtual {v0, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->setObjectValues([Ljava/lang/Object;)V goto :goto_27 :cond_15 :goto_15 const/4 v0, 0x1 .line 437 new-array v0, v0, [Lcom/nineoldandroids/animation/PropertyValuesHolder; const/4 v2, 0x0 move-object v3, v2 check-cast v3, Lcom/nineoldandroids/animation/TypeEvaluator; const-string v3, "" invoke-static {v3, v2, p1}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->ofObject(Ljava/lang/String;Lcom/nineoldandroids/animation/TypeEvaluator;[Ljava/lang/Object;)Lcom/nineoldandroids/animation/PropertyValuesHolder; move-result-object p1 aput-object p1, v0, v1 invoke-virtual {p0, v0}, Lcom/nineoldandroids/animation/ValueAnimator;->setValues([Lcom/nineoldandroids/animation/PropertyValuesHolder;)V .line 444 :goto_27 iput-boolean v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z :cond_29 :goto_29 return-void .end method .method public setRepeatCount(I)V .registers 2 .line 780 iput p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatCount:I return-void .end method .method public setRepeatMode(I)V .registers 2 .line 800 iput p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mRepeatMode:I return-void .end method .method public setStartDelay(J)V .registers 3 .line 702 iput-wide p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mStartDelay:J return-void .end method .method public varargs setValues([Lcom/nineoldandroids/animation/PropertyValuesHolder;)V .registers 8 .line 456 array-length v0, p1 .line 457 iput-object p1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; .line 458 new-instance v1, Ljava/util/HashMap; invoke-direct {v1, v0}, Ljava/util/HashMap;->(I)V iput-object v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValuesMap:Ljava/util/HashMap; const/4 v1, 0x0 move v2, v1 :goto_c if-ge v2, v0, :cond_1c .line 460 aget-object v3, p1, v2 .line 461 iget-object v4, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValuesMap:Ljava/util/HashMap; invoke-virtual {v3}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->getPropertyName()Ljava/lang/String; move-result-object v5 invoke-virtual {v4, v5, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v2, v2, 0x1 goto :goto_c .line 464 :cond_1c iput-boolean v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mInitialized:Z return-void .end method .method public start()V .registers 2 const/4 v0, 0x0 .line 951 invoke-direct {p0, v0}, Lcom/nineoldandroids/animation/ValueAnimator;->start(Z)V return-void .end method .method public toString()Ljava/lang/String; .registers 4 .line 1256 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "ValueAnimator@" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I move-result v1 invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 1257 iget-object v1, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; if-eqz v1, :cond_43 const/4 v1, 0x0 .line 1258 :goto_1c iget-object v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; array-length v2, v2 if-ge v1, v2, :cond_43 .line 1259 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const-string v2, "\n " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget-object v2, p0, Lcom/nineoldandroids/animation/ValueAnimator;->mValues:[Lcom/nineoldandroids/animation/PropertyValuesHolder; aget-object v2, v2, v1 invoke-virtual {v2}, Lcom/nineoldandroids/animation/PropertyValuesHolder;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 add-int/lit8 v1, v1, 0x1 goto :goto_1c :cond_43 return-object v0 .end method