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() {
 | |
|     }
 | |
| }
 |