package androidx.transition; import android.animation.Animator; import android.animation.ObjectAnimator; import android.animation.TypeEvaluator; import android.content.Context; import android.graphics.Matrix; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Property; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import androidx.transition.TransitionUtils; import java.util.Map; /* loaded from: classes2.dex */ public class ChangeImageTransform extends Transition { private static final String PROPNAME_MATRIX = "android:changeImageTransform:matrix"; private static final String PROPNAME_BOUNDS = "android:changeImageTransform:bounds"; private static final String[] sTransitionProperties = {PROPNAME_MATRIX, PROPNAME_BOUNDS}; private static final TypeEvaluator NULL_MATRIX_EVALUATOR = new TypeEvaluator() { // from class: androidx.transition.ChangeImageTransform.1 @Override // android.animation.TypeEvaluator public Matrix evaluate(float f, Matrix matrix, Matrix matrix2) { return null; } }; private static final Property ANIMATED_TRANSFORM_PROPERTY = new Property(Matrix.class, "animatedTransform") { // from class: androidx.transition.ChangeImageTransform.2 @Override // android.util.Property public Matrix get(ImageView imageView) { return null; } @Override // android.util.Property public void set(ImageView imageView, Matrix matrix) { ImageViewUtils.animateTransform(imageView, matrix); } }; @Override // androidx.transition.Transition public String[] getTransitionProperties() { return sTransitionProperties; } public ChangeImageTransform() { } public ChangeImageTransform(Context context, AttributeSet attributeSet) { super(context, attributeSet); } private void captureValues(TransitionValues transitionValues) { View view = transitionValues.view; if ((view instanceof ImageView) && view.getVisibility() == 0) { ImageView imageView = (ImageView) view; if (imageView.getDrawable() == null) { return; } Map map = transitionValues.values; map.put(PROPNAME_BOUNDS, new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom())); map.put(PROPNAME_MATRIX, copyImageMatrix(imageView)); } } @Override // androidx.transition.Transition public void captureStartValues(TransitionValues transitionValues) { captureValues(transitionValues); } @Override // androidx.transition.Transition public void captureEndValues(TransitionValues transitionValues) { captureValues(transitionValues); } @Override // androidx.transition.Transition public Animator createAnimator(ViewGroup viewGroup, TransitionValues transitionValues, TransitionValues transitionValues2) { if (transitionValues != null && transitionValues2 != null) { Rect rect = (Rect) transitionValues.values.get(PROPNAME_BOUNDS); Rect rect2 = (Rect) transitionValues2.values.get(PROPNAME_BOUNDS); if (rect != null && rect2 != null) { Matrix matrix = (Matrix) transitionValues.values.get(PROPNAME_MATRIX); Matrix matrix2 = (Matrix) transitionValues2.values.get(PROPNAME_MATRIX); boolean z = (matrix == null && matrix2 == null) || (matrix != null && matrix.equals(matrix2)); if (rect.equals(rect2) && z) { return null; } ImageView imageView = (ImageView) transitionValues2.view; Drawable drawable = imageView.getDrawable(); int intrinsicWidth = drawable.getIntrinsicWidth(); int intrinsicHeight = drawable.getIntrinsicHeight(); if (intrinsicWidth <= 0 || intrinsicHeight <= 0) { return createNullAnimator(imageView); } if (matrix == null) { matrix = MatrixUtils.IDENTITY_MATRIX; } if (matrix2 == null) { matrix2 = MatrixUtils.IDENTITY_MATRIX; } ANIMATED_TRANSFORM_PROPERTY.set(imageView, matrix); return createMatrixAnimator(imageView, matrix, matrix2); } } return null; } private ObjectAnimator createNullAnimator(ImageView imageView) { return ObjectAnimator.ofObject(imageView, (Property) ANIMATED_TRANSFORM_PROPERTY, (TypeEvaluator) NULL_MATRIX_EVALUATOR, (Object[]) new Matrix[]{MatrixUtils.IDENTITY_MATRIX, MatrixUtils.IDENTITY_MATRIX}); } private ObjectAnimator createMatrixAnimator(ImageView imageView, Matrix matrix, Matrix matrix2) { return ObjectAnimator.ofObject(imageView, (Property) ANIMATED_TRANSFORM_PROPERTY, (TypeEvaluator) new TransitionUtils.MatrixEvaluator(), (Object[]) new Matrix[]{matrix, matrix2}); } private static Matrix copyImageMatrix(ImageView imageView) { Drawable drawable = imageView.getDrawable(); if (drawable.getIntrinsicWidth() > 0 && drawable.getIntrinsicHeight() > 0) { int i = AnonymousClass3.$SwitchMap$android$widget$ImageView$ScaleType[imageView.getScaleType().ordinal()]; if (i == 1) { return fitXYMatrix(imageView); } if (i == 2) { return centerCropMatrix(imageView); } return new Matrix(imageView.getImageMatrix()); } return new Matrix(imageView.getImageMatrix()); } /* JADX INFO: Access modifiers changed from: package-private */ /* renamed from: androidx.transition.ChangeImageTransform$3, reason: invalid class name */ /* loaded from: classes2.dex */ public static /* synthetic */ class AnonymousClass3 { static final /* synthetic */ int[] $SwitchMap$android$widget$ImageView$ScaleType; static { int[] iArr = new int[ImageView.ScaleType.values().length]; $SwitchMap$android$widget$ImageView$ScaleType = iArr; try { iArr[ImageView.ScaleType.FIT_XY.ordinal()] = 1; } catch (NoSuchFieldError unused) { } try { $SwitchMap$android$widget$ImageView$ScaleType[ImageView.ScaleType.CENTER_CROP.ordinal()] = 2; } catch (NoSuchFieldError unused2) { } } } private static Matrix fitXYMatrix(ImageView imageView) { Drawable drawable = imageView.getDrawable(); Matrix matrix = new Matrix(); matrix.postScale(imageView.getWidth() / drawable.getIntrinsicWidth(), imageView.getHeight() / drawable.getIntrinsicHeight()); return matrix; } private static Matrix centerCropMatrix(ImageView imageView) { Drawable drawable = imageView.getDrawable(); int intrinsicWidth = drawable.getIntrinsicWidth(); float width = imageView.getWidth(); float f = intrinsicWidth; int intrinsicHeight = drawable.getIntrinsicHeight(); float height = imageView.getHeight(); float f2 = intrinsicHeight; float max = Math.max(width / f, height / f2); int round = Math.round((width - (f * max)) / 2.0f); int round2 = Math.round((height - (f2 * max)) / 2.0f); Matrix matrix = new Matrix(); matrix.postScale(max, max); matrix.postTranslate(round, round2); return matrix; } }