package com.airbnb.lottie.model.layer; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.RectF; import com.airbnb.lottie.L; import com.airbnb.lottie.LottieComposition; import com.airbnb.lottie.LottieDrawable; import com.airbnb.lottie.LottieProperty; import com.airbnb.lottie.animation.keyframe.BaseKeyframeAnimation; import com.airbnb.lottie.animation.keyframe.ValueCallbackKeyframeAnimation; import com.airbnb.lottie.model.KeyPath; import com.airbnb.lottie.model.animatable.AnimatableFloatValue; import com.airbnb.lottie.model.layer.Layer; import com.airbnb.lottie.utils.Utils; import com.airbnb.lottie.value.LottieValueCallback; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import o.C0667Ltg; /* loaded from: classes.dex */ public class CompositionLayer extends BaseLayer { private boolean clipToCompositionBounds; private Boolean hasMasks; private Boolean hasMatte; private final Paint layerPaint; private final List layers; private final RectF newClipRect; private final RectF rect; private BaseKeyframeAnimation timeRemapping; public CompositionLayer(LottieDrawable lottieDrawable, Layer layer, List list, LottieComposition lottieComposition) { super(lottieDrawable, layer); int i; BaseLayer baseLayer; this.layers = new ArrayList(); this.rect = new RectF(); this.newClipRect = new RectF(); this.layerPaint = new Paint(); this.clipToCompositionBounds = true; AnimatableFloatValue timeRemapping = layer.getTimeRemapping(); if (timeRemapping != null) { BaseKeyframeAnimation createAnimation = timeRemapping.createAnimation(); this.timeRemapping = createAnimation; addAnimation(createAnimation); this.timeRemapping.addUpdateListener(this); } else { this.timeRemapping = null; } C0667Ltg c0667Ltg = new C0667Ltg(lottieComposition.getLayers().size()); int size = list.size() - 1; BaseLayer baseLayer2 = null; while (true) { i = 0; if (size < 0) { break; } Layer layer2 = list.get(size); BaseLayer forModel = BaseLayer.forModel(this, layer2, lottieDrawable, lottieComposition); if (forModel != null) { c0667Ltg.c(forModel.getLayerModel().getId(), forModel); if (baseLayer2 != null) { baseLayer2.setMatteLayer(forModel); baseLayer2 = null; } else { this.layers.add(0, forModel); int i2 = AnonymousClass1.$SwitchMap$com$airbnb$lottie$model$layer$Layer$MatteType[layer2.getMatteType().ordinal()]; if (i2 == 1 || i2 == 2) { baseLayer2 = forModel; } } } size--; } while (true) { if (c0667Ltg.b) { c0667Ltg.c(); } if (i >= c0667Ltg.a) { return; } if (c0667Ltg.b) { c0667Ltg.c(); } BaseLayer baseLayer3 = (BaseLayer) c0667Ltg.c(c0667Ltg.e[i]); if (baseLayer3 != null && (baseLayer = (BaseLayer) c0667Ltg.c(baseLayer3.getLayerModel().getParentId())) != null) { baseLayer3.setParentLayer(baseLayer); } i++; } } /* renamed from: com.airbnb.lottie.model.layer.CompositionLayer$1, reason: invalid class name */ /* loaded from: classes.dex */ static /* synthetic */ class AnonymousClass1 { static final int[] $SwitchMap$com$airbnb$lottie$model$layer$Layer$MatteType; static { int[] iArr = new int[Layer.MatteType.values().length]; $SwitchMap$com$airbnb$lottie$model$layer$Layer$MatteType = iArr; try { iArr[Layer.MatteType.ADD.ordinal()] = 1; } catch (NoSuchFieldError unused) { } try { $SwitchMap$com$airbnb$lottie$model$layer$Layer$MatteType[Layer.MatteType.INVERT.ordinal()] = 2; } catch (NoSuchFieldError unused2) { } } } @Override // com.airbnb.lottie.model.layer.BaseLayer public void setOutlineMasksAndMattes(boolean z) { super.setOutlineMasksAndMattes(z); Iterator it = this.layers.iterator(); while (it.hasNext()) { it.next().setOutlineMasksAndMattes(z); } } @Override // com.airbnb.lottie.model.layer.BaseLayer void drawLayer(Canvas canvas, Matrix matrix, int i) { L.beginSection("CompositionLayer#draw"); this.newClipRect.set(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED, this.layerModel.getPreCompWidth(), this.layerModel.getPreCompHeight()); matrix.mapRect(this.newClipRect); boolean z = this.lottieDrawable.isApplyingOpacityToLayersEnabled() && this.layers.size() > 1 && i != 255; if (z) { this.layerPaint.setAlpha(i); Utils.saveLayerCompat(canvas, this.newClipRect, this.layerPaint); } else { canvas.save(); } if (z) { i = 255; } for (int size = this.layers.size() - 1; size >= 0; size--) { if ((!this.clipToCompositionBounds && "__container".equals(this.layerModel.getName())) || this.newClipRect.isEmpty() || canvas.clipRect(this.newClipRect)) { this.layers.get(size).draw(canvas, matrix, i); } } canvas.restore(); L.endSection("CompositionLayer#draw"); } @Override // com.airbnb.lottie.model.layer.BaseLayer, com.airbnb.lottie.animation.content.DrawingContent public void getBounds(RectF rectF, Matrix matrix, boolean z) { super.getBounds(rectF, matrix, z); for (int size = this.layers.size() - 1; size >= 0; size--) { this.rect.set(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED); this.layers.get(size).getBounds(this.rect, this.boundsMatrix, true); rectF.union(this.rect); } } @Override // com.airbnb.lottie.model.layer.BaseLayer public void setProgress(float f) { super.setProgress(f); if (this.timeRemapping != null) { f = ((this.timeRemapping.getValue().floatValue() * this.layerModel.getComposition().getFrameRate()) - this.layerModel.getComposition().getStartFrame()) / (this.lottieDrawable.getComposition().getDurationFrames() + 0.01f); } if (this.timeRemapping == null) { f -= this.layerModel.getStartProgress(); } if (this.layerModel.getTimeStretch() != BitmapDescriptorFactory.HUE_RED && !"__container".equals(this.layerModel.getName())) { f /= this.layerModel.getTimeStretch(); } for (int size = this.layers.size() - 1; size >= 0; size--) { this.layers.get(size).setProgress(f); } } public boolean hasMasks() { if (this.hasMasks == null) { for (int size = this.layers.size() - 1; size >= 0; size--) { BaseLayer baseLayer = this.layers.get(size); if (baseLayer instanceof ShapeLayer) { if (baseLayer.hasMasksOnThisLayer()) { this.hasMasks = Boolean.TRUE; return true; } } else if ((baseLayer instanceof CompositionLayer) && ((CompositionLayer) baseLayer).hasMasks()) { this.hasMasks = Boolean.TRUE; return true; } } this.hasMasks = Boolean.FALSE; } return this.hasMasks.booleanValue(); } public boolean hasMatte() { if (this.hasMatte == null) { if (hasMatteOnThisLayer()) { this.hasMatte = Boolean.TRUE; return true; } for (int size = this.layers.size() - 1; size >= 0; size--) { if (this.layers.get(size).hasMatteOnThisLayer()) { this.hasMatte = Boolean.TRUE; return true; } } this.hasMatte = Boolean.FALSE; } return this.hasMatte.booleanValue(); } @Override // com.airbnb.lottie.model.layer.BaseLayer protected void resolveChildKeyPath(KeyPath keyPath, int i, List list, KeyPath keyPath2) { for (int i2 = 0; i2 < this.layers.size(); i2++) { this.layers.get(i2).resolveKeyPath(keyPath, i, list, keyPath2); } } @Override // com.airbnb.lottie.model.layer.BaseLayer, com.airbnb.lottie.model.KeyPathElement public void addValueCallback(T t, LottieValueCallback lottieValueCallback) { super.addValueCallback(t, lottieValueCallback); if (t == LottieProperty.TIME_REMAP) { if (lottieValueCallback == null) { BaseKeyframeAnimation baseKeyframeAnimation = this.timeRemapping; if (baseKeyframeAnimation != null) { baseKeyframeAnimation.setValueCallback(null); return; } return; } ValueCallbackKeyframeAnimation valueCallbackKeyframeAnimation = new ValueCallbackKeyframeAnimation(lottieValueCallback); this.timeRemapping = valueCallbackKeyframeAnimation; valueCallbackKeyframeAnimation.addUpdateListener(this); addAnimation(this.timeRemapping); } } public void setClipToCompositionBounds(boolean z) { this.clipToCompositionBounds = z; } }