SRE/02-Easy5/E5/sources/androidx/transition/TransitionUtils.java
2025-03-31 16:33:42 +02:00

179 lines
6.8 KiB
Java

package androidx.transition;
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.animation.TypeEvaluator;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.os.Build;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.constraintlayout.core.widgets.analyzer.BasicMeasure;
/* loaded from: classes.dex */
class TransitionUtils {
private static final boolean HAS_IS_ATTACHED_TO_WINDOW = true;
private static final boolean HAS_OVERLAY = true;
private static final boolean HAS_PICTURE_BITMAP;
private static final int MAX_IMAGE_SIZE = 1048576;
static {
HAS_PICTURE_BITMAP = Build.VERSION.SDK_INT >= 28;
}
static View copyViewImage(ViewGroup viewGroup, View view, View view2) {
Matrix matrix = new Matrix();
matrix.setTranslate(-view2.getScrollX(), -view2.getScrollY());
ViewUtils.transformMatrixToGlobal(view, matrix);
ViewUtils.transformMatrixToLocal(viewGroup, matrix);
RectF rectF = new RectF(0.0f, 0.0f, view.getWidth(), view.getHeight());
matrix.mapRect(rectF);
int round = Math.round(rectF.left);
int round2 = Math.round(rectF.top);
int round3 = Math.round(rectF.right);
int round4 = Math.round(rectF.bottom);
ImageView imageView = new ImageView(view.getContext());
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
Bitmap createViewBitmap = createViewBitmap(view, matrix, rectF, viewGroup);
if (createViewBitmap != null) {
imageView.setImageBitmap(createViewBitmap);
}
imageView.measure(View.MeasureSpec.makeMeasureSpec(round3 - round, BasicMeasure.EXACTLY), View.MeasureSpec.makeMeasureSpec(round4 - round2, BasicMeasure.EXACTLY));
imageView.layout(round, round2, round3, round4);
return imageView;
}
/* JADX WARN: Removed duplicated region for block: B:18:0x0071 */
/* JADX WARN: Removed duplicated region for block: B:19:0x0088 */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
private static android.graphics.Bitmap createViewBitmap(android.view.View r8, android.graphics.Matrix r9, android.graphics.RectF r10, android.view.ViewGroup r11) {
/*
boolean r0 = androidx.transition.TransitionUtils.HAS_IS_ATTACHED_TO_WINDOW
r1 = 0
if (r0 == 0) goto L13
boolean r0 = r8.isAttachedToWindow()
r0 = r0 ^ 1
if (r11 != 0) goto Le
goto L14
Le:
boolean r2 = r11.isAttachedToWindow()
goto L15
L13:
r0 = 0
L14:
r2 = 0
L15:
boolean r3 = androidx.transition.TransitionUtils.HAS_OVERLAY
r4 = 0
if (r3 == 0) goto L31
if (r0 == 0) goto L31
if (r2 != 0) goto L1f
return r4
L1f:
android.view.ViewParent r1 = r8.getParent()
android.view.ViewGroup r1 = (android.view.ViewGroup) r1
int r2 = r1.indexOfChild(r8)
android.view.ViewGroupOverlay r5 = r11.getOverlay()
r5.add(r8)
goto L33
L31:
r1 = r4
r2 = 0
L33:
float r5 = r10.width()
int r5 = java.lang.Math.round(r5)
float r6 = r10.height()
int r6 = java.lang.Math.round(r6)
if (r5 <= 0) goto L99
if (r6 <= 0) goto L99
int r4 = r5 * r6
float r4 = (float) r4
r7 = 1233125376(0x49800000, float:1048576.0)
float r7 = r7 / r4
r4 = 1065353216(0x3f800000, float:1.0)
float r4 = java.lang.Math.min(r4, r7)
float r5 = (float) r5
float r5 = r5 * r4
int r5 = java.lang.Math.round(r5)
float r6 = (float) r6
float r6 = r6 * r4
int r6 = java.lang.Math.round(r6)
float r7 = r10.left
float r7 = -r7
float r10 = r10.top
float r10 = -r10
r9.postTranslate(r7, r10)
r9.postScale(r4, r4)
boolean r10 = androidx.transition.TransitionUtils.HAS_PICTURE_BITMAP
if (r10 == 0) goto L88
android.graphics.Picture r10 = new android.graphics.Picture
r10.<init>()
android.graphics.Canvas r4 = r10.beginRecording(r5, r6)
r4.concat(r9)
r8.draw(r4)
r10.endRecording()
android.graphics.Bitmap r4 = androidx.tracing.Trace$$ExternalSyntheticApiModelOutline0.m(r10)
goto L99
L88:
android.graphics.Bitmap$Config r10 = android.graphics.Bitmap.Config.ARGB_8888
android.graphics.Bitmap r4 = android.graphics.Bitmap.createBitmap(r5, r6, r10)
android.graphics.Canvas r10 = new android.graphics.Canvas
r10.<init>(r4)
r10.concat(r9)
r8.draw(r10)
L99:
if (r3 == 0) goto La7
if (r0 == 0) goto La7
android.view.ViewGroupOverlay r9 = r11.getOverlay()
r9.remove(r8)
r1.addView(r8, r2)
La7:
return r4
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.transition.TransitionUtils.createViewBitmap(android.view.View, android.graphics.Matrix, android.graphics.RectF, android.view.ViewGroup):android.graphics.Bitmap");
}
static Animator mergeAnimators(Animator animator, Animator animator2) {
if (animator == null) {
return animator2;
}
if (animator2 == null) {
return animator;
}
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(animator, animator2);
return animatorSet;
}
static class MatrixEvaluator implements TypeEvaluator<Matrix> {
final float[] mTempStartValues = new float[9];
final float[] mTempEndValues = new float[9];
final Matrix mTempMatrix = new Matrix();
MatrixEvaluator() {
}
@Override // android.animation.TypeEvaluator
public Matrix evaluate(float f, Matrix matrix, Matrix matrix2) {
matrix.getValues(this.mTempStartValues);
matrix2.getValues(this.mTempEndValues);
for (int i = 0; i < 9; i++) {
float[] fArr = this.mTempEndValues;
float f2 = fArr[i];
float f3 = this.mTempStartValues[i];
fArr[i] = f3 + ((f2 - f3) * f);
}
this.mTempMatrix.setValues(this.mTempEndValues);
return this.mTempMatrix;
}
}
private TransitionUtils() {
}
}