ADD week 5
This commit is contained in:
178
02-Easy5/E5/sources/androidx/transition/TransitionUtils.java
Normal file
178
02-Easy5/E5/sources/androidx/transition/TransitionUtils.java
Normal file
@@ -0,0 +1,178 @@
|
||||
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() {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user