.class Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator; .super Ljava/lang/Object; .source "AnimatedStateListDrawableCompat.java" # interfaces .implements Landroid/animation/TimeInterpolator; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0xa name = "FrameInterpolator" .end annotation # instance fields .field private mFrameTimes:[I .field private mFrames:I .field private mTotalDuration:I # direct methods .method constructor (Landroid/graphics/drawable/AnimationDrawable;Z)V .registers 3 .line 731 invoke-direct {p0}, Ljava/lang/Object;->()V .line 732 invoke-virtual {p0, p1, p2}, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->updateFrames(Landroid/graphics/drawable/AnimationDrawable;Z)I return-void .end method # virtual methods .method public getInterpolation(F)F .registers 6 .line 758 iget v0, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mTotalDuration:I int-to-float v0, v0 mul-float/2addr p1, v0 const/high16 v0, 0x3f000000 # 0.5f add-float/2addr p1, v0 float-to-int p1, p1 .line 759 iget v0, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mFrames:I .line 760 iget-object v1, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mFrameTimes:[I const/4 v2, 0x0 :goto_d if-ge v2, v0, :cond_17 .line 764 aget v3, v1, v2 if-lt p1, v3, :cond_17 sub-int/2addr p1, v3 add-int/lit8 v2, v2, 0x1 goto :goto_d :cond_17 if-ge v2, v0, :cond_1f int-to-float p1, p1 .line 771 iget v1, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mTotalDuration:I int-to-float v1, v1 div-float/2addr p1, v1 goto :goto_20 :cond_1f const/4 p1, 0x0 :goto_20 int-to-float v1, v2 int-to-float v0, v0 div-float/2addr v1, v0 add-float/2addr v1, p1 return v1 .end method .method getTotalDuration()I .registers 2 .line 753 iget v0, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mTotalDuration:I return v0 .end method .method updateFrames(Landroid/graphics/drawable/AnimationDrawable;Z)I .registers 8 .line 736 invoke-virtual {p1}, Landroid/graphics/drawable/AnimationDrawable;->getNumberOfFrames()I move-result v0 .line 737 iput v0, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mFrames:I .line 738 iget-object v1, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mFrameTimes:[I if-eqz v1, :cond_d array-length v1, v1 if-ge v1, v0, :cond_11 .line 739 :cond_d new-array v1, v0, [I iput-object v1, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mFrameTimes:[I .line 741 :cond_11 iget-object v1, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mFrameTimes:[I const/4 v2, 0x0 move v3, v2 :goto_15 if-ge v2, v0, :cond_29 if-eqz p2, :cond_1e sub-int v4, v0, v2 add-int/lit8 v4, v4, -0x1 goto :goto_1f :cond_1e move v4, v2 .line 744 :goto_1f invoke-virtual {p1, v4}, Landroid/graphics/drawable/AnimationDrawable;->getDuration(I)I move-result v4 .line 745 aput v4, v1, v2 add-int/2addr v3, v4 add-int/lit8 v2, v2, 0x1 goto :goto_15 .line 748 :cond_29 iput v3, p0, Landroidx/appcompat/graphics/drawable/AnimatedStateListDrawableCompat$FrameInterpolator;->mTotalDuration:I return v3 .end method