2025-03-31 16:33:42 +02:00

61 lines
2.0 KiB
Java

package androidx.transition;
import android.graphics.Canvas;
import android.os.Build;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/* loaded from: classes.dex */
class CanvasUtils {
private static Method sInorderBarrierMethod;
private static boolean sOrderMethodsFetched;
private static Method sReorderBarrierMethod;
static void enableZ(Canvas canvas, boolean z) {
Method method;
if (Build.VERSION.SDK_INT >= 29) {
if (z) {
canvas.enableZ();
return;
} else {
canvas.disableZ();
return;
}
}
if (Build.VERSION.SDK_INT == 28) {
throw new IllegalStateException("This method doesn't work on Pie!");
}
if (!sOrderMethodsFetched) {
try {
Method declaredMethod = Canvas.class.getDeclaredMethod("insertReorderBarrier", new Class[0]);
sReorderBarrierMethod = declaredMethod;
declaredMethod.setAccessible(true);
Method declaredMethod2 = Canvas.class.getDeclaredMethod("insertInorderBarrier", new Class[0]);
sInorderBarrierMethod = declaredMethod2;
declaredMethod2.setAccessible(true);
} catch (NoSuchMethodException unused) {
}
sOrderMethodsFetched = true;
}
if (z) {
try {
Method method2 = sReorderBarrierMethod;
if (method2 != null) {
method2.invoke(canvas, new Object[0]);
}
} catch (IllegalAccessException unused2) {
return;
} catch (InvocationTargetException e) {
throw new RuntimeException(e.getCause());
}
}
if (z || (method = sInorderBarrierMethod) == null) {
return;
}
method.invoke(canvas, new Object[0]);
}
private CanvasUtils() {
}
}