SpriteAnimatorBuilder.smali
.class public Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.super Ljava/lang/Object;
.source "SpriteAnimatorBuilder.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FloatFrameData;,
Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$IntFrameData;,
Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "SpriteAnimatorBuilder"
# instance fields
.field private duration:J
.field private fds:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;",
">;"
}
.end annotation
.end field
.field private interpolator:Landroid/view/animation/Interpolator;
.field private repeatCount:I
.field private sprite:Lim/tpelyyftgw/ui/load/sprite/Sprite;
.field private startFrame:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lim/tpelyyftgw/ui/load/sprite/Sprite;)V
.registers 4
.param p1, "sprite" # Lim/tpelyyftgw/ui/load/sprite/Sprite;
.line 58
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 26
const/4 v0, -0x1
iput v0, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->repeatCount:I
.line 27
const-wide/16 v0, 0x7d0
iput-wide v0, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->duration:J
.line 28
const/4 v0, 0x0
iput v0, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->startFrame:I
.line 29
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->fds:Ljava/util/Map;
.line 59
iput-object p1, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->sprite:Lim/tpelyyftgw/ui/load/sprite/Sprite;
.line 60
return-void
.end method
.method private ensurePair(II)V
.registers 8
.param p1, "fractionsLength" # I
.param p2, "valuesLength" # I
.line 134
if-ne p1, p2, :cond_3
.line 142
return-void
.line 135
:cond_3
new-instance v0, Ljava/lang/IllegalStateException;
.line 136
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
.line 139
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x1
.line 140
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
.line 135
const-string v3, "The fractions.length must equal values.length, fraction.length[%d], values.length[%d]"
invoke-static {v1, v3, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private holder([FLandroid/util/Property;[Ljava/lang/Float;)V
.registers 7
.param p1, "fractions" # [F
.param p2, "property" # Landroid/util/Property;
.param p3, "values" # [Ljava/lang/Float;
.line 123
array-length v0, p1
array-length v1, p3
invoke-direct {p0, v0, v1}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->ensurePair(II)V
.line 124
iget-object v0, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->fds:Ljava/util/Map;
invoke-virtual {p2}, Landroid/util/Property;->getName()Ljava/lang/String;
move-result-object v1
new-instance v2, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FloatFrameData;
invoke-direct {v2, p0, p1, p2, p3}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FloatFrameData;-><init>(Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;[FLandroid/util/Property;[Ljava/lang/Float;)V
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 125
return-void
.end method
.method private holder([FLandroid/util/Property;[Ljava/lang/Integer;)V
.registers 7
.param p1, "fractions" # [F
.param p2, "property" # Landroid/util/Property;
.param p3, "values" # [Ljava/lang/Integer;
.line 129
array-length v0, p1
array-length v1, p3
invoke-direct {p0, v0, v1}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->ensurePair(II)V
.line 130
iget-object v0, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->fds:Ljava/util/Map;
invoke-virtual {p2}, Landroid/util/Property;->getName()Ljava/lang/String;
move-result-object v1
new-instance v2, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$IntFrameData;
invoke-direct {v2, p0, p1, p2, p3}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$IntFrameData;-><init>(Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;[FLandroid/util/Property;[Ljava/lang/Integer;)V
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 131
return-void
.end method
# virtual methods
.method public varargs alpha([F[Ljava/lang/Integer;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "alpha" # [Ljava/lang/Integer;
.line 68
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->ALPHA:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Integer;)V
.line 69
return-object p0
.end method
.method public build()Landroid/animation/ObjectAnimator;
.registers 14
.line 180
iget-object v0, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->fds:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->size()I
move-result v0
new-array v0, v0, [Landroid/animation/PropertyValuesHolder;
.line 181
.local v0, "holders":[Landroid/animation/PropertyValuesHolder;
const/4 v1, 0x0
.line 182
.local v1, "i":I
iget-object v2, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->fds:Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v2
invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_13
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_95
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Map$Entry;
.line 183
.local v3, "fd":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;>;"
invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;
.line 184
.local v4, "data":Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;
iget-object v5, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->fractions:[F
array-length v5, v5
new-array v5, v5, [Landroid/animation/Keyframe;
.line 185
.local v5, "keyframes":[Landroid/animation/Keyframe;
iget-object v6, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->fractions:[F
.line 186
.local v6, "fractions":[F
iget v7, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->startFrame:I
aget v7, v6, v7
.line 187
.local v7, "startF":F
iget v8, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->startFrame:I
.local v8, "j":I
:goto_32
iget v9, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->startFrame:I
iget-object v10, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->values:[Ljava/lang/Object;
array-length v10, v10
add-int/2addr v9, v10
if-ge v8, v9, :cond_88
.line 188
iget v9, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->startFrame:I
sub-int v9, v8, v9
.line 189
.local v9, "key":I
iget-object v10, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->values:[Ljava/lang/Object;
array-length v10, v10
rem-int v10, v8, v10
.line 190
.local v10, "vk":I
aget v11, v6, v10
sub-float/2addr v11, v7
.line 191
.local v11, "fraction":F
const/4 v12, 0x0
cmpg-float v12, v11, v12
if-gez v12, :cond_51
.line 192
array-length v12, v6
add-int/lit8 v12, v12, -0x1
aget v12, v6, v12
add-float/2addr v11, v12
.line 194
:cond_51
instance-of v12, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$IntFrameData;
if-eqz v12, :cond_66
.line 195
iget-object v12, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->values:[Ljava/lang/Object;
aget-object v12, v12, v10
check-cast v12, Ljava/lang/Integer;
invoke-virtual {v12}, Ljava/lang/Integer;->intValue()I
move-result v12
invoke-static {v11, v12}, Landroid/animation/Keyframe;->ofInt(FI)Landroid/animation/Keyframe;
move-result-object v12
aput-object v12, v5, v9
goto :goto_85
.line 196
:cond_66
instance-of v12, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FloatFrameData;
if-eqz v12, :cond_7b
.line 197
iget-object v12, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->values:[Ljava/lang/Object;
aget-object v12, v12, v10
check-cast v12, Ljava/lang/Float;
invoke-virtual {v12}, Ljava/lang/Float;->floatValue()F
move-result v12
invoke-static {v11, v12}, Landroid/animation/Keyframe;->ofFloat(FF)Landroid/animation/Keyframe;
move-result-object v12
aput-object v12, v5, v9
goto :goto_85
.line 199
:cond_7b
iget-object v12, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->values:[Ljava/lang/Object;
aget-object v12, v12, v10
invoke-static {v11, v12}, Landroid/animation/Keyframe;->ofObject(FLjava/lang/Object;)Landroid/animation/Keyframe;
move-result-object v12
aput-object v12, v5, v9
.line 187
.end local v9 # "key":I
.end local v10 # "vk":I
.end local v11 # "fraction":F
:goto_85
add-int/lit8 v8, v8, 0x1
goto :goto_32
.line 202
.end local v8 # "j":I
:cond_88
iget-object v8, v4, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;->property:Landroid/util/Property;
invoke-static {v8, v5}, Landroid/animation/PropertyValuesHolder;->ofKeyframe(Landroid/util/Property;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;
move-result-object v8
aput-object v8, v0, v1
.line 203
nop
.end local v3 # "fd":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;>;"
.end local v4 # "data":Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder$FrameData;
.end local v5 # "keyframes":[Landroid/animation/Keyframe;
.end local v6 # "fractions":[F
.end local v7 # "startF":F
add-int/lit8 v1, v1, 0x1
.line 204
goto/16 :goto_13
.line 206
:cond_95
iget-object v2, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->sprite:Lim/tpelyyftgw/ui/load/sprite/Sprite;
invoke-static {v2, v0}, Landroid/animation/ObjectAnimator;->ofPropertyValuesHolder(Ljava/lang/Object;[Landroid/animation/PropertyValuesHolder;)Landroid/animation/ObjectAnimator;
move-result-object v2
.line 208
.local v2, "animator":Landroid/animation/ObjectAnimator;
iget-wide v3, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->duration:J
invoke-virtual {v2, v3, v4}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator;
.line 209
iget v3, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->repeatCount:I
invoke-virtual {v2, v3}, Landroid/animation/ObjectAnimator;->setRepeatCount(I)V
.line 210
iget-object v3, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->interpolator:Landroid/view/animation/Interpolator;
invoke-virtual {v2, v3}, Landroid/animation/ObjectAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
.line 211
return-object v2
.end method
.method public duration(J)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 3
.param p1, "duration" # J
.line 159
iput-wide p1, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->duration:J
.line 160
return-object p0
.end method
.method public varargs easeInOut([F)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 3
.param p1, "fractions" # [F
.line 151
invoke-static {p1}, Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;->easeInOut([F)Lim/tpelyyftgw/ui/load/animation/interpolator/KeyFrameInterpolator;
move-result-object v0
invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->interpolator(Landroid/view/animation/Interpolator;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.line 154
return-object p0
.end method
.method public interpolator(Landroid/view/animation/Interpolator;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 2
.param p1, "interpolator" # Landroid/view/animation/Interpolator;
.line 146
iput-object p1, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->interpolator:Landroid/view/animation/Interpolator;
.line 147
return-object p0
.end method
.method public repeatCount(I)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 2
.param p1, "repeatCount" # I
.line 165
iput p1, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->repeatCount:I
.line 166
return-object p0
.end method
.method public varargs rotate([F[Ljava/lang/Integer;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "rotate" # [Ljava/lang/Integer;
.line 108
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->ROTATE:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Integer;)V
.line 109
return-object p0
.end method
.method public varargs rotateX([F[Ljava/lang/Integer;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "rotateX" # [Ljava/lang/Integer;
.line 84
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->ROTATE_X:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Integer;)V
.line 85
return-object p0
.end method
.method public varargs rotateY([F[Ljava/lang/Integer;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "rotateY" # [Ljava/lang/Integer;
.line 89
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->ROTATE_Y:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Integer;)V
.line 90
return-object p0
.end method
.method public varargs scale([F[Ljava/lang/Float;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "scale" # [Ljava/lang/Float;
.line 63
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->SCALE:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Float;)V
.line 64
return-object p0
.end method
.method public varargs scaleX([F[Ljava/lang/Float;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "scaleX" # [Ljava/lang/Float;
.line 74
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->SCALE:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Float;)V
.line 75
return-object p0
.end method
.method public varargs scaleY([F[Ljava/lang/Float;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "scaleY" # [Ljava/lang/Float;
.line 79
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->SCALE_Y:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Float;)V
.line 80
return-object p0
.end method
.method public startFrame(I)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "startFrame" # I
.line 170
if-gez p1, :cond_a
.line 171
const-string v0, "SpriteAnimatorBuilder"
const-string v1, "startFrame should always be non-negative"
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 172
const/4 p1, 0x0
.line 174
:cond_a
iput p1, p0, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->startFrame:I
.line 175
return-object p0
.end method
.method public varargs translateX([F[Ljava/lang/Integer;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "translateX" # [Ljava/lang/Integer;
.line 95
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->TRANSLATE_X:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Integer;)V
.line 96
return-object p0
.end method
.method public varargs translateXPercentage([F[Ljava/lang/Float;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "translateXPercentage" # [Ljava/lang/Float;
.line 113
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->TRANSLATE_X_PERCENTAGE:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Float;)V
.line 114
return-object p0
.end method
.method public varargs translateY([F[Ljava/lang/Integer;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "translateY" # [Ljava/lang/Integer;
.line 102
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->TRANSLATE_Y:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Integer;)V
.line 103
return-object p0
.end method
.method public varargs translateYPercentage([F[Ljava/lang/Float;)Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;
.registers 4
.param p1, "fractions" # [F
.param p2, "translateYPercentage" # [Ljava/lang/Float;
.line 118
sget-object v0, Lim/tpelyyftgw/ui/load/sprite/Sprite;->TRANSLATE_Y_PERCENTAGE:Landroid/util/Property;
invoke-direct {p0, p1, v0, p2}, Lim/tpelyyftgw/ui/load/animation/SpriteAnimatorBuilder;->holder([FLandroid/util/Property;[Ljava/lang/Float;)V
.line 119
return-object p0
.end method