KeyFrameInterpolator.smali

.class public Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;
.super Ljava/lang/Object;
.source "KeyFrameInterpolator.java"

# interfaces
.implements Landroid/view/animation/Interpolator;


# instance fields
.field private fractions:[F

.field private interpolator:Landroid/animation/TimeInterpolator;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public varargs constructor <init>(Landroid/animation/TimeInterpolator;[F)V
    .registers 3
    .param p1, "interpolator"    # Landroid/animation/TimeInterpolator;
    .param p2, "fractions"    # [F

    .line 29
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 30
    iput-object p1, p0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->interpolator:Landroid/animation/TimeInterpolator;

    .line 31
    iput-object p2, p0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->fractions:[F

    .line 32
    return-void
.end method

.method public static varargs easeInOut([F)Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;
    .registers 4
    .param p0, "fractions"    # [F

    .line 16
    new-instance v0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;

    invoke-static {}, Lim/tpelyyftgw/ui/load/animation/interpolator/Ease;->inOut()Landroid/view/animation/Interpolator;

    move-result-object v1

    const/4 v2, 0x0

    new-array v2, v2, [F

    invoke-direct {v0, v1, v2}, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;-><init>(Landroid/animation/TimeInterpolator;[F)V

    .line 17
    .local v0, "interpolator":Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;
    invoke-virtual {v0, p0}, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->setFractions([F)V

    .line 18
    return-object v0
.end method

.method public static varargs pathInterpolator(FFFF[F)Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;
    .registers 8
    .param p0, "controlX1"    # F
    .param p1, "controlY1"    # F
    .param p2, "controlX2"    # F
    .param p3, "controlY2"    # F
    .param p4, "fractions"    # [F

    .line 24
    new-instance v0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;

    invoke-static {p0, p1, p2, p3}, Lim/tpelyyftgw/ui/load/animation/interpolator/PathInterpolatorCompat;->create(FFFF)Landroid/view/animation/Interpolator;

    move-result-object v1

    const/4 v2, 0x0

    new-array v2, v2, [F

    invoke-direct {v0, v1, v2}, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;-><init>(Landroid/animation/TimeInterpolator;[F)V

    .line 25
    .local v0, "interpolator":Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;
    invoke-virtual {v0, p4}, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->setFractions([F)V

    .line 26
    return-object v0
.end method


# virtual methods
.method public getInterpolation(F)F
    .registers 8
    .param p1, "input"    # F

    .line 40
    iget-object v0, p0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->fractions:[F

    array-length v0, v0

    const/4 v1, 0x1

    if-le v0, v1, :cond_2d

    .line 41
    const/4 v0, 0x0

    .local v0, "i":I
    :goto_7
    iget-object v2, p0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->fractions:[F

    array-length v3, v2

    sub-int/2addr v3, v1

    if-ge v0, v3, :cond_2d

    .line 42
    aget v3, v2, v0

    .line 43
    .local v3, "start":F
    add-int/lit8 v4, v0, 0x1

    aget v2, v2, v4

    .line 44
    .local v2, "end":F
    sub-float v4, v2, v3

    .line 45
    .local v4, "duration":F
    cmpl-float v5, p1, v3

    if-ltz v5, :cond_2a

    cmpg-float v5, p1, v2

    if-gtz v5, :cond_2a

    .line 46
    sub-float v1, p1, v3

    div-float/2addr v1, v4

    .line 47
    .end local p1    # "input":F
    .local v1, "input":F
    iget-object p1, p0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->interpolator:Landroid/animation/TimeInterpolator;

    invoke-interface {p1, v1}, Landroid/animation/TimeInterpolator;->getInterpolation(F)F

    move-result p1

    mul-float p1, p1, v4

    add-float/2addr p1, v3

    return p1

    .line 41
    .end local v1    # "input":F
    .end local v2    # "end":F
    .end local v3    # "start":F
    .end local v4    # "duration":F
    .restart local p1    # "input":F
    :cond_2a
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 52
    .end local v0    # "i":I
    :cond_2d
    iget-object v0, p0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->interpolator:Landroid/animation/TimeInterpolator;

    invoke-interface {v0, p1}, Landroid/animation/TimeInterpolator;->getInterpolation(F)F

    move-result v0

    return v0
.end method

.method public varargs setFractions([F)V
    .registers 2
    .param p1, "fractions"    # [F

    .line 35
    iput-object p1, p0, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->fractions:[F

    .line 36
    return-void
.end method