h.smali

.class final Lcom/lottie/h;
.super Ljava/lang/Object;
.source "AnimatableGradientColorValue.java"

# interfaces
.implements Lcom/lottie/w;


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/lang/Object;",
        "Lcom/lottie/w",
        "<",
        "Lcom/lottie/au;",
        ">;"
    }
.end annotation


# instance fields
.field private final bro:I


# direct methods
.method private constructor <init>(I)V
    .registers 2

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

    .line 43
    iput p1, p0, Lcom/lottie/h;->bro:I

    .line 44
    return-void
.end method

.method synthetic constructor <init>(IB)V
    .registers 3

    .prologue
    .line 39
    invoke-direct {p0, p1}, Lcom/lottie/h;-><init>(I)V

    return-void
.end method

.method private a(Lcom/lottie/au;Lorg/json/JSONArray;)V
    .registers 19

    .prologue
    .line 114
    move-object/from16 v0, p0

    iget v2, v0, Lcom/lottie/h;->bro:I

    shl-int/lit8 v3, v2, 0x2

    .line 115
    invoke-virtual/range {p2 .. p2}, Lorg/json/JSONArray;->length()I

    move-result v2

    if-gt v2, v3, :cond_d

    .line 142
    :cond_c
    return-void

    .line 119
    :cond_d
    invoke-virtual/range {p2 .. p2}, Lorg/json/JSONArray;->length()I

    move-result v2

    sub-int/2addr v2, v3

    div-int/lit8 v2, v2, 0x2

    .line 120
    new-array v4, v2, [D

    .line 121
    new-array v5, v2, [D

    .line 123
    const/4 v2, 0x0

    :goto_19
    invoke-virtual/range {p2 .. p2}, Lorg/json/JSONArray;->length()I

    move-result v6

    if-ge v3, v6, :cond_39

    .line 124
    rem-int/lit8 v6, v3, 0x2

    if-nez v6, :cond_2e

    .line 125
    move-object/from16 v0, p2

    invoke-virtual {v0, v3}, Lorg/json/JSONArray;->optDouble(I)D

    move-result-wide v6

    aput-wide v6, v4, v2

    .line 123
    :goto_2b
    add-int/lit8 v3, v3, 0x1

    goto :goto_19

    .line 127
    :cond_2e
    move-object/from16 v0, p2

    invoke-virtual {v0, v3}, Lorg/json/JSONArray;->optDouble(I)D

    move-result-wide v6

    aput-wide v6, v5, v2

    .line 128
    add-int/lit8 v2, v2, 0x1

    goto :goto_2b

    .line 132
    :cond_39
    const/4 v2, 0x0

    move v3, v2

    .line 1021
    :goto_3b
    move-object/from16 v0, p1

    iget-object v2, v0, Lcom/lottie/au;->bsK:[I

    array-length v2, v2

    .line 132
    if-ge v3, v2, :cond_c

    .line 2017
    move-object/from16 v0, p1

    iget-object v2, v0, Lcom/lottie/au;->bsK:[I

    .line 133
    aget v6, v2, v3

    .line 3013
    move-object/from16 v0, p1

    iget-object v2, v0, Lcom/lottie/au;->bsJ:[F

    .line 135
    aget v2, v2, v3

    float-to-double v8, v2

    .line 3146
    const/4 v2, 0x1

    :goto_50
    array-length v7, v4

    if-ge v2, v7, :cond_90

    .line 3147
    add-int/lit8 v7, v2, -0x1

    aget-wide v10, v4, v7

    .line 3148
    aget-wide v12, v4, v2

    .line 3149
    aget-wide v14, v4, v2

    cmpl-double v7, v14, v8

    if-ltz v7, :cond_8d

    .line 3150
    sub-double/2addr v8, v10

    sub-double v10, v12, v10

    div-double/2addr v8, v10

    .line 3151
    const-wide v10, 0x406fe00000000000L    # 255.0

    add-int/lit8 v7, v2, -0x1

    aget-wide v12, v5, v7

    aget-wide v14, v5, v2

    .line 4032
    sub-double/2addr v14, v12

    mul-double/2addr v8, v14

    add-double/2addr v8, v12

    .line 3151
    mul-double/2addr v8, v10

    double-to-int v2, v8

    .line 136
    :goto_73
    invoke-static {v6}, Landroid/graphics/Color;->red(I)I

    move-result v7

    .line 137
    invoke-static {v6}, Landroid/graphics/Color;->green(I)I

    move-result v8

    .line 138
    invoke-static {v6}, Landroid/graphics/Color;->blue(I)I

    move-result v6

    .line 134
    invoke-static {v2, v7, v8, v6}, Landroid/graphics/Color;->argb(IIII)I

    move-result v2

    .line 5017
    move-object/from16 v0, p1

    iget-object v6, v0, Lcom/lottie/au;->bsK:[I

    .line 140
    aput v2, v6, v3

    .line 132
    add-int/lit8 v2, v3, 0x1

    move v3, v2

    goto :goto_3b

    .line 3146
    :cond_8d
    add-int/lit8 v2, v2, 0x1

    goto :goto_50

    .line 3154
    :cond_90
    const-wide v8, 0x406fe00000000000L    # 255.0

    array-length v2, v5

    add-int/lit8 v2, v2, -0x1

    aget-wide v10, v5, v2

    mul-double/2addr v8, v10

    double-to-int v2, v8

    goto :goto_73
.end method


# virtual methods
.method public final synthetic a(Ljava/lang/Object;F)Ljava/lang/Object;
    .registers 15

    .prologue
    const/4 v0, 0x0

    const-wide v10, 0x406fe00000000000L    # 255.0

    .line 39
    .line 5067
    check-cast p1, Lorg/json/JSONArray;

    .line 5068
    iget v1, p0, Lcom/lottie/h;->bro:I

    new-array v3, v1, [F

    .line 5069
    iget v1, p0, Lcom/lottie/h;->bro:I

    new-array v4, v1, [I

    .line 5070
    new-instance v5, Lcom/lottie/au;

    invoke-direct {v5, v3, v4}, Lcom/lottie/au;-><init>([F[I)V

    .line 5073
    invoke-virtual {p1}, Lorg/json/JSONArray;->length()I

    move-result v1

    iget v2, p0, Lcom/lottie/h;->bro:I

    shl-int/lit8 v2, v2, 0x2

    if-eq v1, v2, :cond_41

    .line 5074
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "Unexpected gradient length: "

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {p1}, Lorg/json/JSONArray;->length()I

    move-result v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ". Expected "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget v2, p0, Lcom/lottie/h;->bro:I

    shl-int/lit8 v2, v2, 0x2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ". This may affect the appearance of the gradient. Make sure to save your After Effects file before exporting an animation with gradients."

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :cond_41
    move v1, v0

    move v2, v0

    .line 5079
    :goto_43
    iget v6, p0, Lcom/lottie/h;->bro:I

    shl-int/lit8 v6, v6, 0x2

    if-ge v0, v6, :cond_6e

    .line 5080
    div-int/lit8 v6, v0, 0x4

    .line 5081
    invoke-virtual {p1, v0}, Lorg/json/JSONArray;->optDouble(I)D

    move-result-wide v8

    .line 5082
    rem-int/lit8 v7, v0, 0x4

    packed-switch v7, :pswitch_data_72

    .line 5079
    :goto_54
    add-int/lit8 v0, v0, 0x1

    goto :goto_43

    .line 5085
    :pswitch_57
    double-to-float v7, v8

    aput v7, v3, v6

    goto :goto_54

    .line 5088
    :pswitch_5b
    mul-double v6, v8, v10

    double-to-int v2, v6

    .line 5089
    goto :goto_54

    .line 5091
    :pswitch_5f
    mul-double v6, v8, v10

    double-to-int v1, v6

    .line 5092
    goto :goto_54

    .line 5094
    :pswitch_63
    mul-double/2addr v8, v10

    double-to-int v7, v8

    .line 5095
    const/16 v8, 0xff

    invoke-static {v8, v2, v1, v7}, Landroid/graphics/Color;->argb(IIII)I

    move-result v7

    aput v7, v4, v6

    goto :goto_54

    .line 5100
    :cond_6e
    invoke-direct {p0, v5, p1}, Lcom/lottie/h;->a(Lcom/lottie/au;Lorg/json/JSONArray;)V

    .line 39
    return-object v5

    .line 5082
    :pswitch_data_72
    .packed-switch 0x0
        :pswitch_57
        :pswitch_5b
        :pswitch_5f
        :pswitch_63
    .end packed-switch
.end method