.class public abstract Landroidx/dynamicanimation/animation/DynamicAnimation; .super Ljava/lang/Object; .source "DynamicAnimation.java" # interfaces .implements Landroidx/dynamicanimation/animation/AnimationHandler$AnimationFrameCallback; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationUpdateListener;, Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener;, Landroidx/dynamicanimation/animation/DynamicAnimation$MassState;, Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { ";>", "Ljava/lang/Object;", "Landroidx/dynamicanimation/animation/AnimationHandler$AnimationFrameCallback;" } .end annotation # static fields .field public static final ALPHA:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final MIN_VISIBLE_CHANGE_ALPHA:F = 0.00390625f .annotation build Landroid/annotation/SuppressLint; value = { "MinMaxConstant" } .end annotation .end field .field public static final MIN_VISIBLE_CHANGE_PIXELS:F = 1.0f .annotation build Landroid/annotation/SuppressLint; value = { "MinMaxConstant" } .end annotation .end field .field public static final MIN_VISIBLE_CHANGE_ROTATION_DEGREES:F = 0.1f .annotation build Landroid/annotation/SuppressLint; value = { "MinMaxConstant" } .end annotation .end field .field public static final MIN_VISIBLE_CHANGE_SCALE:F = 0.002f .annotation build Landroid/annotation/SuppressLint; value = { "MinMaxConstant" } .end annotation .end field .field public static final ROTATION:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final ROTATION_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final ROTATION_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final SCALE_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final SCALE_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final SCROLL_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final SCROLL_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final THRESHOLD_MULTIPLIER:F = 0.75f .field public static final TRANSLATION_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final TRANSLATION_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final TRANSLATION_Z:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final UNSET:F = 3.4028235E38f .field public static final X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; .field public static final Z:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; # instance fields .field public final mEndListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener;", ">;" } .end annotation .end field .field public mLastFrameTime:J .field public mMaxValue:F .field public mMinValue:F .field public mMinVisibleChange:F .field public final mProperty:Landroidx/dynamicanimation/animation/FloatPropertyCompat; .field public mRunning:Z .field public mStartValueIsSet:Z .field public final mTarget:Ljava/lang/Object; .field public final mUpdateListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationUpdateListener;", ">;" } .end annotation .end field .field public mValue:F .field public mVelocity:F # direct methods .method public static constructor ()V .locals 2 new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$1; const-string/jumbo v1, "translationX" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$1;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->TRANSLATION_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$2; const-string/jumbo v1, "translationY" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$2;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->TRANSLATION_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$3; const-string/jumbo v1, "translationZ" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$3;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->TRANSLATION_Z:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$4; const-string v1, "scaleX" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$4;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->SCALE_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$5; const-string v1, "scaleY" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$5;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->SCALE_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$6; const-string v1, "rotation" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$6;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->ROTATION:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$7; const-string v1, "rotationX" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$7;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->ROTATION_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$8; const-string v1, "rotationY" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$8;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->ROTATION_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$9; const-string/jumbo v1, "x" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$9;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$10; const-string/jumbo v1, "y" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$10;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$11; const-string/jumbo v1, "z" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$11;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->Z:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$12; const-string v1, "alpha" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$12;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->ALPHA:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$13; const-string v1, "scrollX" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$13;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->SCROLL_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$14; const-string v1, "scrollY" invoke-direct {v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation$14;->(Ljava/lang/String;)V sput-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->SCROLL_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; return-void .end method .method public constructor (Landroidx/dynamicanimation/animation/FloatValueHolder;)V .locals 2 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mVelocity:F const v0, 0x7f7fffff # Float.MAX_VALUE iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F const/4 v1, 0x0 iput-boolean v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mStartValueIsSet:Z iput-boolean v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMaxValue:F neg-float v0, v0 iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinValue:F const-wide/16 v0, 0x0 iput-wide v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mLastFrameTime:J new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; const/4 v0, 0x0 iput-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mTarget:Ljava/lang/Object; new-instance v0, Landroidx/dynamicanimation/animation/DynamicAnimation$15; const-string v1, "FloatValueHolder" invoke-direct {v0, p0, v1, p1}, Landroidx/dynamicanimation/animation/DynamicAnimation$15;->(Landroidx/dynamicanimation/animation/DynamicAnimation;Ljava/lang/String;Landroidx/dynamicanimation/animation/FloatValueHolder;)V iput-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mProperty:Landroidx/dynamicanimation/animation/FloatPropertyCompat; const/high16 p1, 0x3f800000 # 1.0f iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F return-void .end method .method public constructor (Ljava/lang/Object;Landroidx/dynamicanimation/animation/FloatPropertyCompat;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TK;", "Landroidx/dynamicanimation/animation/FloatPropertyCompat<", "TK;>;)V" } .end annotation invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mVelocity:F const v0, 0x7f7fffff # Float.MAX_VALUE iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F const/4 v1, 0x0 iput-boolean v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mStartValueIsSet:Z iput-boolean v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMaxValue:F neg-float v0, v0 iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinValue:F const-wide/16 v0, 0x0 iput-wide v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mLastFrameTime:J new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; iput-object p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mTarget:Ljava/lang/Object; iput-object p2, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mProperty:Landroidx/dynamicanimation/animation/FloatPropertyCompat; sget-object p1, Landroidx/dynamicanimation/animation/DynamicAnimation;->ROTATION:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; if-eq p2, p1, :cond_4 sget-object p1, Landroidx/dynamicanimation/animation/DynamicAnimation;->ROTATION_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; if-eq p2, p1, :cond_4 sget-object p1, Landroidx/dynamicanimation/animation/DynamicAnimation;->ROTATION_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; if-ne p2, p1, :cond_0 goto :goto_1 :cond_0 sget-object p1, Landroidx/dynamicanimation/animation/DynamicAnimation;->ALPHA:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; const/high16 v0, 0x3b800000 # 0.00390625f if-ne p2, p1, :cond_1 iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F goto :goto_2 :cond_1 sget-object p1, Landroidx/dynamicanimation/animation/DynamicAnimation;->SCALE_X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; if-eq p2, p1, :cond_3 sget-object p1, Landroidx/dynamicanimation/animation/DynamicAnimation;->SCALE_Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; if-ne p2, p1, :cond_2 goto :goto_0 :cond_2 const/high16 p1, 0x3f800000 # 1.0f iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F goto :goto_2 :cond_3 :goto_0 iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F goto :goto_2 :cond_4 :goto_1 const p1, 0x3dcccccd # 0.1f iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F :goto_2 return-void .end method .method private endAnimationInternal(Z)V .locals 4 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z invoke-static {}, Landroidx/dynamicanimation/animation/AnimationHandler;->getInstance()Landroidx/dynamicanimation/animation/AnimationHandler; move-result-object v1 invoke-virtual {v1, p0}, Landroidx/dynamicanimation/animation/AnimationHandler;->removeCallback(Landroidx/dynamicanimation/animation/AnimationHandler$AnimationFrameCallback;)V const-wide/16 v1, 0x0 iput-wide v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mLastFrameTime:J iput-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mStartValueIsSet:Z :goto_0 iget-object v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 if-ge v0, v1, :cond_1 iget-object v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 if-eqz v1, :cond_0 iget-object v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener; iget v2, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F iget v3, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mVelocity:F invoke-interface {v1, p0, p1, v2, v3}, Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener;->onAnimationEnd(Landroidx/dynamicanimation/animation/DynamicAnimation;ZFF)V :cond_0 add-int/lit8 v0, v0, 0x1 goto :goto_0 :cond_1 iget-object p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; invoke-static {p1}, Landroidx/dynamicanimation/animation/DynamicAnimation;->removeNullEntries(Ljava/util/ArrayList;)V return-void .end method .method private getPropertyValue()F .locals 2 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mProperty:Landroidx/dynamicanimation/animation/FloatPropertyCompat; iget-object v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mTarget:Ljava/lang/Object; invoke-virtual {v0, v1}, Landroidx/dynamicanimation/animation/FloatPropertyCompat;->getValue(Ljava/lang/Object;)F move-result v0 return v0 .end method .method public static removeEntry(Ljava/util/ArrayList;Ljava/lang/Object;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/ArrayList<", "TT;>;TT;)V" } .end annotation invoke-virtual {p0, p1}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I move-result p1 if-ltz p1, :cond_0 const/4 v0, 0x0 invoke-virtual {p0, p1, v0}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object; :cond_0 return-void .end method .method public static removeNullEntries(Ljava/util/ArrayList;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/ArrayList<", "TT;>;)V" } .end annotation invoke-virtual {p0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 invoke-virtual {p0, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 if-nez v1, :cond_0 invoke-virtual {p0, v0}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; :cond_0 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 return-void .end method .method private startAnimationInternal()V .locals 3 iget-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z if-nez v0, :cond_2 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z iget-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mStartValueIsSet:Z if-nez v0, :cond_0 invoke-direct {p0}, Landroidx/dynamicanimation/animation/DynamicAnimation;->getPropertyValue()F move-result v0 iput v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F :cond_0 iget v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F iget v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMaxValue:F cmpl-float v1, v0, v1 if-gtz v1, :cond_1 iget v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinValue:F cmpg-float v0, v0, v1 if-ltz v0, :cond_1 invoke-static {}, Landroidx/dynamicanimation/animation/AnimationHandler;->getInstance()Landroidx/dynamicanimation/animation/AnimationHandler; move-result-object v0 const-wide/16 v1, 0x0 invoke-virtual {v0, p0, v1, v2}, Landroidx/dynamicanimation/animation/AnimationHandler;->addAnimationFrameCallback(Landroidx/dynamicanimation/animation/AnimationHandler$AnimationFrameCallback;J)V goto :goto_0 :cond_1 new-instance v0, Ljava/lang/IllegalArgumentException; const-string v1, "Starting value need to be in between min value and max value" invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 :cond_2 :goto_0 return-void .end method # virtual methods .method public addEndListener(Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener;)Landroidx/dynamicanimation/animation/DynamicAnimation; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener;", ")TT;" } .end annotation iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_0 return-object p0 .end method .method public addUpdateListener(Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationUpdateListener;)Landroidx/dynamicanimation/animation/DynamicAnimation; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationUpdateListener;", ")TT;" } .end annotation invoke-virtual {p0}, Landroidx/dynamicanimation/animation/DynamicAnimation;->isRunning()Z move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_0 return-object p0 :cond_1 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "Error: Update listeners must be added beforethe animation." invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public cancel()V .locals 2 .annotation build Landroidx/annotation/MainThread; .end annotation invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; move-result-object v0 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v1 if-ne v0, v1, :cond_1 iget-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z if-eqz v0, :cond_0 const/4 v0, 0x1 invoke-direct {p0, v0}, Landroidx/dynamicanimation/animation/DynamicAnimation;->endAnimationInternal(Z)V :cond_0 return-void :cond_1 new-instance v0, Landroid/util/AndroidRuntimeException; const-string v1, "Animations may only be canceled on the main thread" invoke-direct {v0, v1}, Landroid/util/AndroidRuntimeException;->(Ljava/lang/String;)V throw v0 .end method .method public doAnimationFrame(J)Z .locals 6 .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope; } .end annotation iget-wide v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mLastFrameTime:J const/4 v2, 0x0 const-wide/16 v3, 0x0 cmp-long v5, v0, v3 if-nez v5, :cond_0 iput-wide p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mLastFrameTime:J iget p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F invoke-virtual {p0, p1}, Landroidx/dynamicanimation/animation/DynamicAnimation;->setPropertyValue(F)V return v2 :cond_0 sub-long v0, p1, v0 iput-wide p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mLastFrameTime:J invoke-virtual {p0, v0, v1}, Landroidx/dynamicanimation/animation/DynamicAnimation;->updateValueAndVelocity(J)Z move-result p1 iget p2, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F iget v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMaxValue:F invoke-static {p2, v0}, Ljava/lang/Math;->min(FF)F move-result p2 iput p2, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F iget v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinValue:F invoke-static {p2, v0}, Ljava/lang/Math;->max(FF)F move-result p2 iput p2, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F invoke-virtual {p0, p2}, Landroidx/dynamicanimation/animation/DynamicAnimation;->setPropertyValue(F)V if-eqz p1, :cond_1 invoke-direct {p0, v2}, Landroidx/dynamicanimation/animation/DynamicAnimation;->endAnimationInternal(Z)V :cond_1 return p1 .end method .method public abstract getAcceleration(FF)F .end method .method public getMinimumVisibleChange()F .locals 1 iget v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F return v0 .end method .method public getValueThreshold()F .locals 2 iget v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F const/high16 v1, 0x3f400000 # 0.75f mul-float v0, v0, v1 return v0 .end method .method public abstract isAtEquilibrium(FF)Z .end method .method public isRunning()Z .locals 1 iget-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z return v0 .end method .method public removeEndListener(Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener;)V .locals 1 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mEndListeners:Ljava/util/ArrayList; invoke-static {v0, p1}, Landroidx/dynamicanimation/animation/DynamicAnimation;->removeEntry(Ljava/util/ArrayList;Ljava/lang/Object;)V return-void .end method .method public removeUpdateListener(Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationUpdateListener;)V .locals 1 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; invoke-static {v0, p1}, Landroidx/dynamicanimation/animation/DynamicAnimation;->removeEntry(Ljava/util/ArrayList;Ljava/lang/Object;)V return-void .end method .method public setMaxValue(F)Landroidx/dynamicanimation/animation/DynamicAnimation; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(F)TT;" } .end annotation iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMaxValue:F return-object p0 .end method .method public setMinValue(F)Landroidx/dynamicanimation/animation/DynamicAnimation; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(F)TT;" } .end annotation iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinValue:F return-object p0 .end method .method public setMinimumVisibleChange(F)Landroidx/dynamicanimation/animation/DynamicAnimation; .locals 1 .param p1 # F .annotation build Landroidx/annotation/FloatRange; from = 0.0 fromInclusive = false .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(F)TT;" } .end annotation const/4 v0, 0x0 cmpg-float v0, p1, v0 if-lez v0, :cond_0 iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mMinVisibleChange:F const/high16 v0, 0x3f400000 # 0.75f mul-float p1, p1, v0 invoke-virtual {p0, p1}, Landroidx/dynamicanimation/animation/DynamicAnimation;->setValueThreshold(F)V return-object p0 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "Minimum visible change must be positive." invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public setPropertyValue(F)V .locals 3 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mProperty:Landroidx/dynamicanimation/animation/FloatPropertyCompat; iget-object v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mTarget:Ljava/lang/Object; invoke-virtual {v0, v1, p1}, Landroidx/dynamicanimation/animation/FloatPropertyCompat;->setValue(Ljava/lang/Object;F)V const/4 p1, 0x0 :goto_0 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-ge p1, v0, :cond_1 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationUpdateListener; iget v1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F iget v2, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mVelocity:F invoke-interface {v0, p0, v1, v2}, Landroidx/dynamicanimation/animation/DynamicAnimation$OnAnimationUpdateListener;->onAnimationUpdate(Landroidx/dynamicanimation/animation/DynamicAnimation;FF)V :cond_0 add-int/lit8 p1, p1, 0x1 goto :goto_0 :cond_1 iget-object p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mUpdateListeners:Ljava/util/ArrayList; invoke-static {p1}, Landroidx/dynamicanimation/animation/DynamicAnimation;->removeNullEntries(Ljava/util/ArrayList;)V return-void .end method .method public setStartValue(F)Landroidx/dynamicanimation/animation/DynamicAnimation; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(F)TT;" } .end annotation iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mValue:F const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mStartValueIsSet:Z return-object p0 .end method .method public setStartVelocity(F)Landroidx/dynamicanimation/animation/DynamicAnimation; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(F)TT;" } .end annotation iput p1, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mVelocity:F return-object p0 .end method .method public abstract setValueThreshold(F)V .end method .method public start()V .locals 2 .annotation build Landroidx/annotation/MainThread; .end annotation invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; move-result-object v0 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v1 if-ne v0, v1, :cond_1 iget-boolean v0, p0, Landroidx/dynamicanimation/animation/DynamicAnimation;->mRunning:Z if-nez v0, :cond_0 invoke-direct {p0}, Landroidx/dynamicanimation/animation/DynamicAnimation;->startAnimationInternal()V :cond_0 return-void :cond_1 new-instance v0, Landroid/util/AndroidRuntimeException; const-string v1, "Animations may only be started on the main thread" invoke-direct {v0, v1}, Landroid/util/AndroidRuntimeException;->(Ljava/lang/String;)V throw v0 .end method .method public abstract updateValueAndVelocity(J)Z .end method