179 lines
6.8 KiB
Java
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() {
|
|
}
|
|
}
|