BaseLayer.smali
.class public abstract Lcom/airbnb/lottie/model/layer/BaseLayer;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/airbnb/lottie/animation/content/DrawingContent;
.implements Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;
.implements Lcom/airbnb/lottie/model/KeyPathElement;
# instance fields
.field private final a:Landroid/graphics/Path;
.field private final b:Landroid/graphics/Matrix;
.field private final c:Landroid/graphics/Paint;
.field private final d:Landroid/graphics/Paint;
.field private final e:Landroid/graphics/Paint;
.field private final f:Landroid/graphics/Paint;
.field private final g:Landroid/graphics/Paint;
.field private final h:Landroid/graphics/RectF;
.field private final i:Landroid/graphics/RectF;
.field private final j:Landroid/graphics/RectF;
.field private final k:Landroid/graphics/RectF;
.field private final l:Ljava/lang/String;
.field final m:Landroid/graphics/Matrix;
.field final n:Lcom/airbnb/lottie/LottieDrawable;
.field final o:Lcom/airbnb/lottie/model/layer/Layer;
.field private p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
.field private q:Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
.field private r:Lcom/airbnb/lottie/model/layer/BaseLayer;
.field private s:Lcom/airbnb/lottie/model/layer/BaseLayer;
.field private t:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/airbnb/lottie/model/layer/BaseLayer;",
">;"
}
.end annotation
.end field
.field private final u:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"**>;>;"
}
.end annotation
.end field
.field final v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
.field private w:Z
# direct methods
.method constructor <init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
.registers 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Landroid/graphics/Path;
invoke-direct {v0}, Landroid/graphics/Path;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
new-instance v0, Lcom/airbnb/lottie/animation/LPaint;
const/4 v1, 0x1
invoke-direct {v0, v1}, Lcom/airbnb/lottie/animation/LPaint;-><init>(I)V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
new-instance v0, Lcom/airbnb/lottie/animation/LPaint;
sget-object v2, Landroid/graphics/PorterDuff$Mode;->DST_IN:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v0, v1, v2}, Lcom/airbnb/lottie/animation/LPaint;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->d:Landroid/graphics/Paint;
new-instance v0, Lcom/airbnb/lottie/animation/LPaint;
sget-object v2, Landroid/graphics/PorterDuff$Mode;->DST_OUT:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v0, v1, v2}, Lcom/airbnb/lottie/animation/LPaint;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
new-instance v0, Lcom/airbnb/lottie/animation/LPaint;
invoke-direct {v0, v1}, Lcom/airbnb/lottie/animation/LPaint;-><init>(I)V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->f:Landroid/graphics/Paint;
new-instance v0, Lcom/airbnb/lottie/animation/LPaint;
sget-object v2, Landroid/graphics/PorterDuff$Mode;->CLEAR:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v0, v2}, Lcom/airbnb/lottie/animation/LPaint;-><init>(Landroid/graphics/PorterDuff$Mode;)V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->g:Landroid/graphics/Paint;
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->j:Landroid/graphics/RectF;
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->k:Landroid/graphics/RectF;
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->m:Landroid/graphics/Matrix;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->u:Ljava/util/List;
iput-boolean v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->w:Z
iput-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->n:Lcom/airbnb/lottie/LottieDrawable;
iput-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2}, Lcom/airbnb/lottie/model/layer/Layer;->g()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "#draw"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->l:Ljava/lang/String;
invoke-virtual {p2}, Lcom/airbnb/lottie/model/layer/Layer;->f()Lcom/airbnb/lottie/model/layer/Layer$MatteType;
move-result-object p1
sget-object v0, Lcom/airbnb/lottie/model/layer/Layer$MatteType;->h:Lcom/airbnb/lottie/model/layer/Layer$MatteType;
if-ne p1, v0, :cond_97
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->f:Landroid/graphics/Paint;
new-instance v0, Landroid/graphics/PorterDuffXfermode;
sget-object v1, Landroid/graphics/PorterDuff$Mode;->DST_OUT:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v0, v1}, Landroid/graphics/PorterDuffXfermode;-><init>(Landroid/graphics/PorterDuff$Mode;)V
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;
goto :goto_a3
:cond_97
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->f:Landroid/graphics/Paint;
new-instance v0, Landroid/graphics/PorterDuffXfermode;
sget-object v1, Landroid/graphics/PorterDuff$Mode;->DST_IN:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v0, v1}, Landroid/graphics/PorterDuffXfermode;-><init>(Landroid/graphics/PorterDuff$Mode;)V
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;
:goto_a3
invoke-virtual {p2}, Lcom/airbnb/lottie/model/layer/Layer;->u()Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
move-result-object p1
invoke-virtual {p1}, Lcom/airbnb/lottie/model/animatable/AnimatableTransform;->b()Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
move-result-object p1
iput-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {p1, p0}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->b(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;)V
invoke-virtual {p2}, Lcom/airbnb/lottie/model/layer/Layer;->e()Ljava/util/List;
move-result-object p1
if-eqz p1, :cond_100
invoke-virtual {p2}, Lcom/airbnb/lottie/model/layer/Layer;->e()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result p1
if-nez p1, :cond_100
new-instance p1, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {p2}, Lcom/airbnb/lottie/model/layer/Layer;->e()Ljava/util/List;
move-result-object p2
invoke-direct {p1, p2}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;-><init>(Ljava/util/List;)V
iput-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {p1}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->a()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_d3
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_e3
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
invoke-virtual {p2, p0}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->a(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;)V
goto :goto_d3
:cond_e3
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {p1}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->c()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_ed
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_100
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
invoke-virtual {p0, p2}, Lcom/airbnb/lottie/model/layer/BaseLayer;->i(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
invoke-virtual {p2, p0}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->a(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;)V
goto :goto_ed
:cond_100
invoke-direct {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->I()V
return-void
.end method
.method private A()V
.registers 2
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->n:Lcom/airbnb/lottie/LottieDrawable;
invoke-virtual {v0}, Lcom/airbnb/lottie/LottieDrawable;->invalidateSelf()V
return-void
.end method
.method private B(F)V
.registers 4
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->n:Lcom/airbnb/lottie/LottieDrawable;
invoke-virtual {v0}, Lcom/airbnb/lottie/LottieDrawable;->o()Lcom/airbnb/lottie/LottieComposition;
move-result-object v0
invoke-virtual {v0}, Lcom/airbnb/lottie/LottieComposition;->m()Lcom/airbnb/lottie/PerformanceTracker;
move-result-object v0
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v1}, Lcom/airbnb/lottie/model/layer/Layer;->g()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1, p1}, Lcom/airbnb/lottie/PerformanceTracker;->a(Ljava/lang/String;F)V
return-void
.end method
.method private H(Z)V
.registers 3
iget-boolean v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->w:Z
if-eq p1, v0, :cond_9
iput-boolean p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->w:Z
invoke-direct {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->A()V
:cond_9
return-void
.end method
.method private I()V
.registers 4
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v0}, Lcom/airbnb/lottie/model/layer/Layer;->c()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
const/4 v1, 0x1
if-nez v0, :cond_44
new-instance v0, Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v2}, Lcom/airbnb/lottie/model/layer/Layer;->c()Ljava/util/List;
move-result-object v2
invoke-direct {v0, v2}, Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;-><init>(Ljava/util/List;)V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->q:Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->k()V
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->q:Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
new-instance v2, Lcom/airbnb/lottie/model/layer/BaseLayer$1;
invoke-direct {v2, p0}, Lcom/airbnb/lottie/model/layer/BaseLayer$1;-><init>(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
invoke-virtual {v0, v2}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->a(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation$AnimationListener;)V
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->q:Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Float;
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
move-result v0
const/high16 v2, 0x3f800000 # 1.0f
cmpl-float v0, v0, v2
if-nez v0, :cond_3a
goto :goto_3b
:cond_3a
const/4 v1, 0x0
:goto_3b
invoke-direct {p0, v1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->H(Z)V
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->q:Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
invoke-virtual {p0, v0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->i(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
goto :goto_47
:cond_44
invoke-direct {p0, v1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->H(Z)V
:goto_47
return-void
.end method
.method static synthetic e(Lcom/airbnb/lottie/model/layer/BaseLayer;)Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
.registers 1
iget-object p0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->q:Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
return-object p0
.end method
.method static synthetic h(Lcom/airbnb/lottie/model/layer/BaseLayer;Z)V
.registers 2
invoke-direct {p0, p1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->H(Z)V
return-void
.end method
.method private j(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/graphics/Canvas;",
"Landroid/graphics/Matrix;",
"Lcom/airbnb/lottie/model/content/Mask;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Lcom/airbnb/lottie/model/content/ShapeData;",
"Landroid/graphics/Path;",
">;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
invoke-virtual {p4}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/graphics/Path;
iget-object p4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p4, p3}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p3, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p5}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Ljava/lang/Integer;
invoke-virtual {p3}, Ljava/lang/Integer;->intValue()I
move-result p3
int-to-float p3, p3
const p4, 0x40233333 # 2.55f
mul-float p3, p3, p4
float-to-int p3, p3
invoke-virtual {p2, p3}, Landroid/graphics/Paint;->setAlpha(I)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p1, p2, p3}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
return-void
.end method
.method private k(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/graphics/Canvas;",
"Landroid/graphics/Matrix;",
"Lcom/airbnb/lottie/model/content/Mask;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Lcom/airbnb/lottie/model/content/ShapeData;",
"Landroid/graphics/Path;",
">;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->d:Landroid/graphics/Paint;
invoke-static {p1, p3, v0}, Lcom/airbnb/lottie/utils/Utils;->m(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
invoke-virtual {p4}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/graphics/Path;
iget-object p4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p4, p3}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p3, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p5}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Ljava/lang/Integer;
invoke-virtual {p3}, Ljava/lang/Integer;->intValue()I
move-result p3
int-to-float p3, p3
const p4, 0x40233333 # 2.55f
mul-float p3, p3, p4
float-to-int p3, p3
invoke-virtual {p2, p3}, Landroid/graphics/Paint;->setAlpha(I)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p1, p2, p3}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
return-void
.end method
.method private l(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/graphics/Canvas;",
"Landroid/graphics/Matrix;",
"Lcom/airbnb/lottie/model/content/Mask;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Lcom/airbnb/lottie/model/content/ShapeData;",
"Landroid/graphics/Path;",
">;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-static {p1, p3, v0}, Lcom/airbnb/lottie/utils/Utils;->m(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p1, p3, v0}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
invoke-virtual {p4}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/graphics/Path;
iget-object p4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p4, p3}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p3, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p5}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Ljava/lang/Integer;
invoke-virtual {p3}, Ljava/lang/Integer;->intValue()I
move-result p3
int-to-float p3, p3
const p4, 0x40233333 # 2.55f
mul-float p3, p3, p4
float-to-int p3, p3
invoke-virtual {p2, p3}, Landroid/graphics/Paint;->setAlpha(I)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
invoke-virtual {p1, p2, p3}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
return-void
.end method
.method private m(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/graphics/Canvas;",
"Landroid/graphics/Matrix;",
"Lcom/airbnb/lottie/model/content/Mask;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Lcom/airbnb/lottie/model/content/ShapeData;",
"Landroid/graphics/Path;",
">;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->d:Landroid/graphics/Paint;
invoke-static {p1, p3, v0}, Lcom/airbnb/lottie/utils/Utils;->m(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p1, p3, v0}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
invoke-virtual {p5}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p5
check-cast p5, Ljava/lang/Integer;
invoke-virtual {p5}, Ljava/lang/Integer;->intValue()I
move-result p5
int-to-float p5, p5
const v0, 0x40233333 # 2.55f
mul-float p5, p5, v0
float-to-int p5, p5
invoke-virtual {p3, p5}, Landroid/graphics/Paint;->setAlpha(I)V
invoke-virtual {p4}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/graphics/Path;
iget-object p4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p4, p3}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p3, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
invoke-virtual {p1, p2, p3}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
return-void
.end method
.method private n(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/graphics/Canvas;",
"Landroid/graphics/Matrix;",
"Lcom/airbnb/lottie/model/content/Mask;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Lcom/airbnb/lottie/model/content/ShapeData;",
"Landroid/graphics/Path;",
">;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
invoke-static {p1, p3, v0}, Lcom/airbnb/lottie/utils/Utils;->m(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p1, p3, v0}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
invoke-virtual {p5}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p5
check-cast p5, Ljava/lang/Integer;
invoke-virtual {p5}, Ljava/lang/Integer;->intValue()I
move-result p5
int-to-float p5, p5
const v0, 0x40233333 # 2.55f
mul-float p5, p5, v0
float-to-int p5, p5
invoke-virtual {p3, p5}, Landroid/graphics/Paint;->setAlpha(I)V
invoke-virtual {p4}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/graphics/Path;
iget-object p4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p4, p3}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p3, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
invoke-virtual {p1, p2, p3}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
return-void
.end method
.method private o(Landroid/graphics/Canvas;Landroid/graphics/Matrix;)V
.registers 11
const-string v0, "Layer#saveLayer"
invoke-static {v0}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->d:Landroid/graphics/Paint;
const/16 v3, 0x13
invoke-static {p1, v1, v2, v3}, Lcom/airbnb/lottie/utils/Utils;->n(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;I)V
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x1c
if-ge v1, v2, :cond_17
invoke-direct {p0, p1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->s(Landroid/graphics/Canvas;)V
:cond_17
invoke-static {v0}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
const/4 v0, 0x0
:goto_1b
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v1}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->b()Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
if-ge v0, v1, :cond_d2
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v1}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->b()Ljava/util/List;
move-result-object v1
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
move-object v5, v1
check-cast v5, Lcom/airbnb/lottie/model/content/Mask;
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v1}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->a()Ljava/util/List;
move-result-object v1
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
move-object v6, v1
check-cast v6, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v1}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->c()Ljava/util/List;
move-result-object v1
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
move-object v7, v1
check-cast v7, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
sget-object v1, Lcom/airbnb/lottie/model/layer/BaseLayer$2;->b:[I
invoke-virtual {v5}, Lcom/airbnb/lottie/model/content/Mask;->a()Lcom/airbnb/lottie/model/content/Mask$MaskMode;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Enum;->ordinal()I
move-result v2
aget v1, v1, v2
const/16 v2, 0xff
const/4 v3, 0x1
if-eq v1, v3, :cond_bc
const/4 v3, 0x2
if-eq v1, v3, :cond_93
const/4 v2, 0x3
if-eq v1, v2, :cond_7f
const/4 v2, 0x4
if-eq v1, v2, :cond_6a
goto/16 :goto_ce
:cond_6a
invoke-virtual {v5}, Lcom/airbnb/lottie/model/content/Mask;->d()Z
move-result v1
if-eqz v1, :cond_78
move-object v2, p0
move-object v3, p1
move-object v4, p2
invoke-direct/range {v2 .. v7}, Lcom/airbnb/lottie/model/layer/BaseLayer;->l(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
goto/16 :goto_ce
:cond_78
move-object v2, p0
move-object v3, p1
move-object v4, p2
invoke-direct/range {v2 .. v7}, Lcom/airbnb/lottie/model/layer/BaseLayer;->j(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
goto :goto_ce
:cond_7f
invoke-virtual {v5}, Lcom/airbnb/lottie/model/content/Mask;->d()Z
move-result v1
if-eqz v1, :cond_8c
move-object v2, p0
move-object v3, p1
move-object v4, p2
invoke-direct/range {v2 .. v7}, Lcom/airbnb/lottie/model/layer/BaseLayer;->m(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
goto :goto_ce
:cond_8c
move-object v2, p0
move-object v3, p1
move-object v4, p2
invoke-direct/range {v2 .. v7}, Lcom/airbnb/lottie/model/layer/BaseLayer;->k(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
goto :goto_ce
:cond_93
if-nez v0, :cond_a8
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
const/high16 v3, -0x1000000
invoke-virtual {v1, v3}, Landroid/graphics/Paint;->setColor(I)V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setAlpha(I)V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
:cond_a8
invoke-virtual {v5}, Lcom/airbnb/lottie/model/content/Mask;->d()Z
move-result v1
if-eqz v1, :cond_b5
move-object v2, p0
move-object v3, p1
move-object v4, p2
invoke-direct/range {v2 .. v7}, Lcom/airbnb/lottie/model/layer/BaseLayer;->n(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
goto :goto_ce
:cond_b5
move-object v2, p0
move-object v3, p1
move-object v4, p2
invoke-direct/range {v2 .. v7}, Lcom/airbnb/lottie/model/layer/BaseLayer;->p(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
goto :goto_ce
:cond_bc
invoke-direct {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->q()Z
move-result v1
if-eqz v1, :cond_ce
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setAlpha(I)V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
:cond_ce
:goto_ce
add-int/lit8 v0, v0, 0x1
goto/16 :goto_1b
:cond_d2
const-string p2, "Layer#restoreLayer"
invoke-static {p2}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
invoke-static {p2}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
return-void
.end method
.method private p(Landroid/graphics/Canvas;Landroid/graphics/Matrix;Lcom/airbnb/lottie/model/content/Mask;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/graphics/Canvas;",
"Landroid/graphics/Matrix;",
"Lcom/airbnb/lottie/model/content/Mask;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Lcom/airbnb/lottie/model/content/ShapeData;",
"Landroid/graphics/Path;",
">;",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
invoke-virtual {p4}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/graphics/Path;
iget-object p4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p4, p3}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {p3, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->e:Landroid/graphics/Paint;
invoke-virtual {p1, p2, p3}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
return-void
.end method
.method private q()Z
.registers 5
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->a()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_e
return v1
:cond_e
const/4 v0, 0x0
:goto_f
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v2}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->b()Ljava/util/List;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
if-ge v0, v2, :cond_33
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v2}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->b()Ljava/util/List;
move-result-object v2
invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/airbnb/lottie/model/content/Mask;
invoke-virtual {v2}, Lcom/airbnb/lottie/model/content/Mask;->a()Lcom/airbnb/lottie/model/content/Mask$MaskMode;
move-result-object v2
sget-object v3, Lcom/airbnb/lottie/model/content/Mask$MaskMode;->i:Lcom/airbnb/lottie/model/content/Mask$MaskMode;
if-eq v2, v3, :cond_30
return v1
:cond_30
add-int/lit8 v0, v0, 0x1
goto :goto_f
:cond_33
const/4 v0, 0x1
return v0
.end method
.method private r()V
.registers 3
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
if-eqz v0, :cond_5
return-void
:cond_5
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->s:Lcom/airbnb/lottie/model/layer/BaseLayer;
if-nez v0, :cond_10
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
return-void
:cond_10
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->s:Lcom/airbnb/lottie/model/layer/BaseLayer;
:goto_19
if-eqz v0, :cond_23
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
iget-object v0, v0, Lcom/airbnb/lottie/model/layer/BaseLayer;->s:Lcom/airbnb/lottie/model/layer/BaseLayer;
goto :goto_19
:cond_23
return-void
.end method
.method private s(Landroid/graphics/Canvas;)V
.registers 12
const-string v0, "Layer#clearLayer"
invoke-static {v0}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget v2, v1, Landroid/graphics/RectF;->left:F
const/high16 v3, 0x3f800000 # 1.0f
sub-float v5, v2, v3
iget v2, v1, Landroid/graphics/RectF;->top:F
sub-float v6, v2, v3
iget v2, v1, Landroid/graphics/RectF;->right:F
add-float v7, v2, v3
iget v1, v1, Landroid/graphics/RectF;->bottom:F
add-float v8, v1, v3
iget-object v9, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->g:Landroid/graphics/Paint;
move-object v4, p1
invoke-virtual/range {v4 .. v9}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
invoke-static {v0}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
return-void
.end method
.method static u(Lcom/airbnb/lottie/model/layer/Layer;Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/layer/BaseLayer;
.registers 5
sget-object v0, Lcom/airbnb/lottie/model/layer/BaseLayer$2;->a:[I
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/Layer;->d()Lcom/airbnb/lottie/model/layer/Layer$LayerType;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
packed-switch v0, :pswitch_data_56
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "Unknown layer type "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/Layer;->d()Lcom/airbnb/lottie/model/layer/Layer$LayerType;
move-result-object p0
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/airbnb/lottie/utils/Logger;->c(Ljava/lang/String;)V
const/4 p0, 0x0
return-object p0
:pswitch_29
new-instance p2, Lcom/airbnb/lottie/model/layer/TextLayer;
invoke-direct {p2, p1, p0}, Lcom/airbnb/lottie/model/layer/TextLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
return-object p2
:pswitch_2f
new-instance p2, Lcom/airbnb/lottie/model/layer/NullLayer;
invoke-direct {p2, p1, p0}, Lcom/airbnb/lottie/model/layer/NullLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
return-object p2
:pswitch_35
new-instance p2, Lcom/airbnb/lottie/model/layer/ImageLayer;
invoke-direct {p2, p1, p0}, Lcom/airbnb/lottie/model/layer/ImageLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
return-object p2
:pswitch_3b
new-instance p2, Lcom/airbnb/lottie/model/layer/SolidLayer;
invoke-direct {p2, p1, p0}, Lcom/airbnb/lottie/model/layer/SolidLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
return-object p2
:pswitch_41
new-instance v0, Lcom/airbnb/lottie/model/layer/CompositionLayer;
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/Layer;->k()Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Lcom/airbnb/lottie/LottieComposition;->n(Ljava/lang/String;)Ljava/util/List;
move-result-object v1
invoke-direct {v0, p1, p0, v1, p2}, Lcom/airbnb/lottie/model/layer/CompositionLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;Ljava/util/List;Lcom/airbnb/lottie/LottieComposition;)V
return-object v0
:pswitch_4f
new-instance p2, Lcom/airbnb/lottie/model/layer/ShapeLayer;
invoke-direct {p2, p1, p0}, Lcom/airbnb/lottie/model/layer/ShapeLayer;-><init>(Lcom/airbnb/lottie/LottieDrawable;Lcom/airbnb/lottie/model/layer/Layer;)V
return-object p2
nop
:pswitch_data_56
.packed-switch 0x1
:pswitch_4f
:pswitch_41
:pswitch_3b
:pswitch_35
:pswitch_2f
:pswitch_29
.end packed-switch
.end method
.method private y(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
.registers 13
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
const/4 v1, 0x0
invoke-virtual {v0, v1, v1, v1, v1}, Landroid/graphics/RectF;->set(FFFF)V
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->w()Z
move-result v0
if-nez v0, :cond_d
return-void
:cond_d
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->b()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/4 v2, 0x0
const/4 v3, 0x0
:goto_19
if-ge v3, v0, :cond_ac
iget-object v4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v4}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->b()Ljava/util/List;
move-result-object v4
invoke-interface {v4, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/airbnb/lottie/model/content/Mask;
iget-object v5, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v5}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->a()Ljava/util/List;
move-result-object v5
invoke-interface {v5, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
invoke-virtual {v5}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroid/graphics/Path;
iget-object v6, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {v6, v5}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V
iget-object v5, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
invoke-virtual {v5, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
sget-object v5, Lcom/airbnb/lottie/model/layer/BaseLayer$2;->b:[I
invoke-virtual {v4}, Lcom/airbnb/lottie/model/content/Mask;->a()Lcom/airbnb/lottie/model/content/Mask$MaskMode;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v5, v5, v6
const/4 v6, 0x1
if-eq v5, v6, :cond_ab
const/4 v6, 0x2
if-eq v5, v6, :cond_ab
const/4 v6, 0x3
if-eq v5, v6, :cond_5c
const/4 v6, 0x4
if-eq v5, v6, :cond_5c
goto :goto_63
:cond_5c
invoke-virtual {v4}, Lcom/airbnb/lottie/model/content/Mask;->d()Z
move-result v4
if-eqz v4, :cond_63
return-void
:cond_63
:goto_63
iget-object v4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->a:Landroid/graphics/Path;
iget-object v5, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->k:Landroid/graphics/RectF;
invoke-virtual {v4, v5, v2}, Landroid/graphics/Path;->computeBounds(Landroid/graphics/RectF;Z)V
if-nez v3, :cond_74
iget-object v4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
iget-object v5, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->k:Landroid/graphics/RectF;
invoke-virtual {v4, v5}, Landroid/graphics/RectF;->set(Landroid/graphics/RectF;)V
goto :goto_a7
:cond_74
iget-object v4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
iget v5, v4, Landroid/graphics/RectF;->left:F
iget-object v6, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->k:Landroid/graphics/RectF;
iget v6, v6, Landroid/graphics/RectF;->left:F
invoke-static {v5, v6}, Ljava/lang/Math;->min(FF)F
move-result v5
iget-object v6, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
iget v6, v6, Landroid/graphics/RectF;->top:F
iget-object v7, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->k:Landroid/graphics/RectF;
iget v7, v7, Landroid/graphics/RectF;->top:F
invoke-static {v6, v7}, Ljava/lang/Math;->min(FF)F
move-result v6
iget-object v7, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
iget v7, v7, Landroid/graphics/RectF;->right:F
iget-object v8, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->k:Landroid/graphics/RectF;
iget v8, v8, Landroid/graphics/RectF;->right:F
invoke-static {v7, v8}, Ljava/lang/Math;->max(FF)F
move-result v7
iget-object v8, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
iget v8, v8, Landroid/graphics/RectF;->bottom:F
iget-object v9, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->k:Landroid/graphics/RectF;
iget v9, v9, Landroid/graphics/RectF;->bottom:F
invoke-static {v8, v9}, Ljava/lang/Math;->max(FF)F
move-result v8
invoke-virtual {v4, v5, v6, v7, v8}, Landroid/graphics/RectF;->set(FFFF)V
:goto_a7
add-int/lit8 v3, v3, 0x1
goto/16 :goto_19
:cond_ab
return-void
:cond_ac
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->i:Landroid/graphics/RectF;
invoke-virtual {p1, p2}, Landroid/graphics/RectF;->intersect(Landroid/graphics/RectF;)Z
move-result p2
if-nez p2, :cond_b7
invoke-virtual {p1, v1, v1, v1, v1}, Landroid/graphics/RectF;->set(FFFF)V
:cond_b7
return-void
.end method
.method private z(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
.registers 7
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->x()Z
move-result v0
if-nez v0, :cond_7
return-void
:cond_7
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v0}, Lcom/airbnb/lottie/model/layer/Layer;->f()Lcom/airbnb/lottie/model/layer/Layer$MatteType;
move-result-object v0
sget-object v1, Lcom/airbnb/lottie/model/layer/Layer$MatteType;->h:Lcom/airbnb/lottie/model/layer/Layer$MatteType;
if-ne v0, v1, :cond_12
return-void
:cond_12
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->j:Landroid/graphics/RectF;
const/4 v1, 0x0
invoke-virtual {v0, v1, v1, v1, v1}, Landroid/graphics/RectF;->set(FFFF)V
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->r:Lcom/airbnb/lottie/model/layer/BaseLayer;
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->j:Landroid/graphics/RectF;
const/4 v3, 0x1
invoke-virtual {v0, v2, p2, v3}, Lcom/airbnb/lottie/model/layer/BaseLayer;->d(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->j:Landroid/graphics/RectF;
invoke-virtual {p1, p2}, Landroid/graphics/RectF;->intersect(Landroid/graphics/RectF;)Z
move-result p2
if-nez p2, :cond_2b
invoke-virtual {p1, v1, v1, v1, v1}, Landroid/graphics/RectF;->set(FFFF)V
:cond_2b
return-void
.end method
# virtual methods
.method public C(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"**>;)V"
}
.end annotation
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->u:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method D(Lcom/airbnb/lottie/model/KeyPath;ILjava/util/List;Lcom/airbnb/lottie/model/KeyPath;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/airbnb/lottie/model/KeyPath;",
"I",
"Ljava/util/List<",
"Lcom/airbnb/lottie/model/KeyPath;",
">;",
"Lcom/airbnb/lottie/model/KeyPath;",
")V"
}
.end annotation
return-void
.end method
.method E(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
.registers 2
iput-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->r:Lcom/airbnb/lottie/model/layer/BaseLayer;
return-void
.end method
.method F(Lcom/airbnb/lottie/model/layer/BaseLayer;)V
.registers 2
iput-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->s:Lcom/airbnb/lottie/model/layer/BaseLayer;
return-void
.end method
.method G(F)V
.registers 5
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {v0, p1}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->j(F)V
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
const/4 v1, 0x0
if-eqz v0, :cond_29
const/4 v0, 0x0
:goto_b
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v2}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->a()Ljava/util/List;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
if-ge v0, v2, :cond_29
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
invoke-virtual {v2}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->a()Ljava/util/List;
move-result-object v2
invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
invoke-virtual {v2, p1}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->l(F)V
add-int/lit8 v0, v0, 0x1
goto :goto_b
:cond_29
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v0}, Lcom/airbnb/lottie/model/layer/Layer;->t()F
move-result v0
const/4 v2, 0x0
cmpl-float v0, v0, v2
if-eqz v0, :cond_3b
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v0}, Lcom/airbnb/lottie/model/layer/Layer;->t()F
move-result v0
div-float/2addr p1, v0
:cond_3b
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->q:Lcom/airbnb/lottie/animation/keyframe/FloatKeyframeAnimation;
if-eqz v0, :cond_4a
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v2}, Lcom/airbnb/lottie/model/layer/Layer;->t()F
move-result v2
div-float v2, p1, v2
invoke-virtual {v0, v2}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->l(F)V
:cond_4a
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->r:Lcom/airbnb/lottie/model/layer/BaseLayer;
if-eqz v0, :cond_5b
iget-object v0, v0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v0}, Lcom/airbnb/lottie/model/layer/Layer;->t()F
move-result v0
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->r:Lcom/airbnb/lottie/model/layer/BaseLayer;
mul-float v0, v0, p1
invoke-virtual {v2, v0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->G(F)V
:cond_5b
:goto_5b
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->u:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-ge v1, v0, :cond_71
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->u:Ljava/util/List;
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
invoke-virtual {v0, p1}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->l(F)V
add-int/lit8 v1, v1, 0x1
goto :goto_5b
:cond_71
return-void
.end method
.method public a()V
.registers 1
invoke-direct {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->A()V
return-void
.end method
.method public b(Ljava/util/List;Ljava/util/List;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/airbnb/lottie/animation/content/Content;",
">;",
"Ljava/util/List<",
"Lcom/airbnb/lottie/animation/content/Content;",
">;)V"
}
.end annotation
return-void
.end method
.method public c(Lcom/airbnb/lottie/model/KeyPath;ILjava/util/List;Lcom/airbnb/lottie/model/KeyPath;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/airbnb/lottie/model/KeyPath;",
"I",
"Ljava/util/List<",
"Lcom/airbnb/lottie/model/KeyPath;",
">;",
"Lcom/airbnb/lottie/model/KeyPath;",
")V"
}
.end annotation
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0, p2}, Lcom/airbnb/lottie/model/KeyPath;->g(Ljava/lang/String;I)Z
move-result v0
if-nez v0, :cond_b
return-void
:cond_b
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->getName()Ljava/lang/String;
move-result-object v0
const-string v1, "__container"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_30
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p4, v0}, Lcom/airbnb/lottie/model/KeyPath;->a(Ljava/lang/String;)Lcom/airbnb/lottie/model/KeyPath;
move-result-object p4
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0, p2}, Lcom/airbnb/lottie/model/KeyPath;->c(Ljava/lang/String;I)Z
move-result v0
if-eqz v0, :cond_30
invoke-virtual {p4, p0}, Lcom/airbnb/lottie/model/KeyPath;->i(Lcom/airbnb/lottie/model/KeyPathElement;)Lcom/airbnb/lottie/model/KeyPath;
move-result-object v0
invoke-interface {p3, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:cond_30
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0, p2}, Lcom/airbnb/lottie/model/KeyPath;->h(Ljava/lang/String;I)Z
move-result v0
if-eqz v0, :cond_46
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0, p2}, Lcom/airbnb/lottie/model/KeyPath;->e(Ljava/lang/String;I)I
move-result v0
add-int/2addr p2, v0
invoke-virtual {p0, p1, p2, p3, p4}, Lcom/airbnb/lottie/model/layer/BaseLayer;->D(Lcom/airbnb/lottie/model/KeyPath;ILjava/util/List;Lcom/airbnb/lottie/model/KeyPath;)V
:cond_46
return-void
.end method
.method public d(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
.registers 5
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
const/4 v0, 0x0
invoke-virtual {p1, v0, v0, v0, v0}, Landroid/graphics/RectF;->set(FFFF)V
invoke-direct {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->r()V
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->m:Landroid/graphics/Matrix;
invoke-virtual {p1, p2}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
if-eqz p3, :cond_41
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
if-eqz p1, :cond_32
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p1
add-int/lit8 p1, p1, -0x1
:goto_1a
if-ltz p1, :cond_41
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->m:Landroid/graphics/Matrix;
iget-object p3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
invoke-interface {p3, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p3
check-cast p3, Lcom/airbnb/lottie/model/layer/BaseLayer;
iget-object p3, p3, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {p3}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->f()Landroid/graphics/Matrix;
move-result-object p3
invoke-virtual {p2, p3}, Landroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
add-int/lit8 p1, p1, -0x1
goto :goto_1a
:cond_32
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->s:Lcom/airbnb/lottie/model/layer/BaseLayer;
if-eqz p1, :cond_41
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->m:Landroid/graphics/Matrix;
iget-object p1, p1, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {p1}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->f()Landroid/graphics/Matrix;
move-result-object p1
invoke-virtual {p2, p1}, Landroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
:cond_41
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->m:Landroid/graphics/Matrix;
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {p2}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->f()Landroid/graphics/Matrix;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
return-void
.end method
.method public f(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
.registers 10
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->l:Ljava/lang/String;
invoke-static {v0}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-boolean v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->w:Z
if-eqz v0, :cond_157
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v0}, Lcom/airbnb/lottie/model/layer/Layer;->v()Z
move-result v0
if-eqz v0, :cond_13
goto/16 :goto_157
:cond_13
invoke-direct {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->r()V
const-string v0, "Layer#parentMatrix"
invoke-static {v0}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
invoke-virtual {v1}, Landroid/graphics/Matrix;->reset()V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
invoke-virtual {v1, p2}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
add-int/lit8 v1, v1, -0x1
:goto_2d
if-ltz v1, :cond_45
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
iget-object v3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->t:Ljava/util/List;
invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/airbnb/lottie/model/layer/BaseLayer;
iget-object v3, v3, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {v3}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->f()Landroid/graphics/Matrix;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
add-int/lit8 v1, v1, -0x1
goto :goto_2d
:cond_45
invoke-static {v0}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->h()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
move-result-object v0
if-nez v0, :cond_53
const/16 v0, 0x64
goto :goto_63
:cond_53
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->h()Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;
move-result-object v0
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;->h()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
:goto_63
int-to-float p3, p3
const/high16 v1, 0x437f0000 # 255.0f
div-float/2addr p3, v1
int-to-float v0, v0
mul-float p3, p3, v0
const/high16 v0, 0x42c80000 # 100.0f
div-float/2addr p3, v0
mul-float p3, p3, v1
float-to-int p3, p3
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->x()Z
move-result v0
const-string v1, "Layer#drawLayer"
if-nez v0, :cond_9e
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->w()Z
move-result v0
if-nez v0, :cond_9e
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->f()Landroid/graphics/Matrix;
move-result-object v0
invoke-virtual {p2, v0}, Landroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
invoke-static {v1}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object p2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
invoke-virtual {p0, p1, p2, p3}, Lcom/airbnb/lottie/model/layer/BaseLayer;->t(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
invoke-static {v1}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->l:Ljava/lang/String;
invoke-static {p1}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
move-result p1
invoke-direct {p0, p1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->B(F)V
return-void
:cond_9e
const-string v0, "Layer#computeBounds"
invoke-static {v0}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
const/4 v4, 0x0
invoke-virtual {p0, v2, v3, v4}, Lcom/airbnb/lottie/model/layer/BaseLayer;->d(Landroid/graphics/RectF;Landroid/graphics/Matrix;Z)V
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
invoke-direct {p0, v2, p2}, Lcom/airbnb/lottie/model/layer/BaseLayer;->z(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
iget-object v3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {v3}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->f()Landroid/graphics/Matrix;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
invoke-direct {p0, v2, v3}, Lcom/airbnb/lottie/model/layer/BaseLayer;->y(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
invoke-virtual {p1}, Landroid/graphics/Canvas;->getWidth()I
move-result v3
int-to-float v3, v3
invoke-virtual {p1}, Landroid/graphics/Canvas;->getHeight()I
move-result v4
int-to-float v4, v4
const/4 v5, 0x0
invoke-virtual {v2, v5, v5, v3, v4}, Landroid/graphics/RectF;->intersect(FFFF)Z
move-result v2
if-nez v2, :cond_da
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
invoke-virtual {v2, v5, v5, v5, v5}, Landroid/graphics/RectF;->set(FFFF)V
:cond_da
invoke-static {v0}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
invoke-virtual {v0}, Landroid/graphics/RectF;->isEmpty()Z
move-result v0
if-nez v0, :cond_14d
const-string v0, "Layer#saveLayer"
invoke-static {v0}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
const/16 v3, 0xff
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setAlpha(I)V
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->c:Landroid/graphics/Paint;
invoke-static {p1, v2, v3}, Lcom/airbnb/lottie/utils/Utils;->m(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
invoke-static {v0}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
invoke-direct {p0, p1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->s(Landroid/graphics/Canvas;)V
invoke-static {v1}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object v2, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
invoke-virtual {p0, p1, v2, p3}, Lcom/airbnb/lottie/model/layer/BaseLayer;->t(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
invoke-static {v1}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->w()Z
move-result v1
if-eqz v1, :cond_114
iget-object v1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->b:Landroid/graphics/Matrix;
invoke-direct {p0, p1, v1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->o(Landroid/graphics/Canvas;Landroid/graphics/Matrix;)V
:cond_114
invoke-virtual {p0}, Lcom/airbnb/lottie/model/layer/BaseLayer;->x()Z
move-result v1
const-string v2, "Layer#restoreLayer"
if-eqz v1, :cond_144
const-string v1, "Layer#drawMatte"
invoke-static {v1}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
invoke-static {v0}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
iget-object v3, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->h:Landroid/graphics/RectF;
iget-object v4, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->f:Landroid/graphics/Paint;
const/16 v5, 0x13
invoke-static {p1, v3, v4, v5}, Lcom/airbnb/lottie/utils/Utils;->n(Landroid/graphics/Canvas;Landroid/graphics/RectF;Landroid/graphics/Paint;I)V
invoke-static {v0}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
invoke-direct {p0, p1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->s(Landroid/graphics/Canvas;)V
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->r:Lcom/airbnb/lottie/model/layer/BaseLayer;
invoke-virtual {v0, p1, p2, p3}, Lcom/airbnb/lottie/model/layer/BaseLayer;->f(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
invoke-static {v2}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
invoke-static {v2}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
invoke-static {v1}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
:cond_144
invoke-static {v2}, Lcom/airbnb/lottie/L;->a(Ljava/lang/String;)V
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
invoke-static {v2}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
:cond_14d
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->l:Ljava/lang/String;
invoke-static {p1}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
move-result p1
invoke-direct {p0, p1}, Lcom/airbnb/lottie/model/layer/BaseLayer;->B(F)V
return-void
:cond_157
:goto_157
iget-object p1, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->l:Ljava/lang/String;
invoke-static {p1}, Lcom/airbnb/lottie/L;->b(Ljava/lang/String;)F
return-void
.end method
.method public g(Ljava/lang/Object;Lcom/airbnb/lottie/value/LottieValueCallback;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;",
"Lcom/airbnb/lottie/value/LottieValueCallback<",
"TT;>;)V"
}
.end annotation
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->v:Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;
invoke-virtual {v0, p1, p2}, Lcom/airbnb/lottie/animation/keyframe/TransformKeyframeAnimation;->c(Ljava/lang/Object;Lcom/airbnb/lottie/value/LottieValueCallback;)Z
return-void
.end method
.method public getName()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
invoke-virtual {v0}, Lcom/airbnb/lottie/model/layer/Layer;->g()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public i(Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/airbnb/lottie/animation/keyframe/BaseKeyframeAnimation<",
"**>;)V"
}
.end annotation
if-nez p1, :cond_3
return-void
:cond_3
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->u:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method abstract t(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V
.end method
.method v()Lcom/airbnb/lottie/model/layer/Layer;
.registers 2
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->o:Lcom/airbnb/lottie/model/layer/Layer;
return-object v0
.end method
.method w()Z
.registers 2
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->p:Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;
if-eqz v0, :cond_10
invoke-virtual {v0}, Lcom/airbnb/lottie/animation/keyframe/MaskKeyframeAnimation;->a()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_10
const/4 v0, 0x1
goto :goto_11
:cond_10
const/4 v0, 0x0
:goto_11
return v0
.end method
.method x()Z
.registers 2
iget-object v0, p0, Lcom/airbnb/lottie/model/layer/BaseLayer;->r:Lcom/airbnb/lottie/model/layer/BaseLayer;
if-eqz v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
return v0
.end method