what-the-bank/sources/io/flutter/plugins/camera/CameraRegionUtils.java

132 lines
5.5 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package io.flutter.plugins.camera;
import android.graphics.Rect;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.params.MeteringRectangle;
import android.os.Build;
import android.util.Size;
import io.flutter.embedding.engine.systemchannels.PlatformChannel;
import java.util.Arrays;
import java.util.function.IntPredicate;
/* loaded from: classes6.dex */
public final class CameraRegionUtils {
static final boolean $assertionsDisabled = false;
/* JADX INFO: Access modifiers changed from: package-private */
public static /* synthetic */ boolean lambda$supportsDistortionCorrection$0(int i) {
return i != 0;
}
public static Size getCameraBoundaries(CameraProperties cameraProperties, CaptureRequest.Builder builder) {
Rect sensorInfoPreCorrectionActiveArraySize;
if (Build.VERSION.SDK_INT >= 28 && supportsDistortionCorrection(cameraProperties)) {
Integer num = (Integer) builder.get(CaptureRequest.DISTORTION_CORRECTION_MODE);
if (num == null || num.intValue() == 0) {
sensorInfoPreCorrectionActiveArraySize = cameraProperties.getSensorInfoPreCorrectionActiveArraySize();
} else {
sensorInfoPreCorrectionActiveArraySize = cameraProperties.getSensorInfoActiveArraySize();
}
return SizeFactory.create(sensorInfoPreCorrectionActiveArraySize.width(), sensorInfoPreCorrectionActiveArraySize.height());
}
return cameraProperties.getSensorInfoPixelArraySize();
}
/* renamed from: io.flutter.plugins.camera.CameraRegionUtils$1, reason: invalid class name */
/* loaded from: classes6.dex */
static /* synthetic */ class AnonymousClass1 {
static final int[] $SwitchMap$io$flutter$embedding$engine$systemchannels$PlatformChannel$DeviceOrientation;
static {
int[] iArr = new int[PlatformChannel.DeviceOrientation.values().length];
$SwitchMap$io$flutter$embedding$engine$systemchannels$PlatformChannel$DeviceOrientation = iArr;
try {
iArr[PlatformChannel.DeviceOrientation.PORTRAIT_UP.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$io$flutter$embedding$engine$systemchannels$PlatformChannel$DeviceOrientation[PlatformChannel.DeviceOrientation.PORTRAIT_DOWN.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$io$flutter$embedding$engine$systemchannels$PlatformChannel$DeviceOrientation[PlatformChannel.DeviceOrientation.LANDSCAPE_LEFT.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
$SwitchMap$io$flutter$embedding$engine$systemchannels$PlatformChannel$DeviceOrientation[PlatformChannel.DeviceOrientation.LANDSCAPE_RIGHT.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
}
}
public static MeteringRectangle convertPointToMeteringRectangle(Size size, double d, double d2, PlatformChannel.DeviceOrientation deviceOrientation) {
int i = AnonymousClass1.$SwitchMap$io$flutter$embedding$engine$systemchannels$PlatformChannel$DeviceOrientation[deviceOrientation.ordinal()];
if (i == 1) {
double d3 = 1.0d - d;
d = d2;
d2 = d3;
} else if (i == 2) {
double d4 = 1.0d - d2;
d2 = d;
d = d4;
} else if (i == 4) {
d = 1.0d - d;
d2 = 1.0d - d2;
}
int round = (int) Math.round(d * (size.getWidth() - 1));
int round2 = (int) Math.round(d2 * (size.getHeight() - 1));
int round3 = (int) Math.round(size.getWidth() / 10.0d);
int round4 = (int) Math.round(size.getHeight() / 10.0d);
int i2 = round - (round3 / 2);
int i3 = round2 - (round4 / 2);
if (i2 < 0) {
i2 = 0;
}
if (i3 < 0) {
i3 = 0;
}
int width = (size.getWidth() - 1) - round3;
int height = (size.getHeight() - 1) - round4;
if (i2 > width) {
i2 = width;
}
if (i3 > height) {
i3 = height;
}
return MeteringRectangleFactory.create(i2, i3, round3, round4, 1);
}
private static boolean supportsDistortionCorrection(CameraProperties cameraProperties) {
int[] distortionCorrectionAvailableModes = cameraProperties.getDistortionCorrectionAvailableModes();
if (distortionCorrectionAvailableModes == null) {
distortionCorrectionAvailableModes = new int[0];
}
return Arrays.stream(distortionCorrectionAvailableModes).filter(new IntPredicate() { // from class: io.flutter.plugins.camera.CameraRegionUtils$$ExternalSyntheticLambda0
@Override // java.util.function.IntPredicate
public final boolean test(int i) {
return CameraRegionUtils.lambda$supportsDistortionCorrection$0(i);
}
}).count() > 0;
}
/* loaded from: classes6.dex */
static class MeteringRectangleFactory {
MeteringRectangleFactory() {
}
public static MeteringRectangle create(int i, int i2, int i3, int i4, int i5) {
return new MeteringRectangle(i, i2, i3, i4, i5);
}
}
/* loaded from: classes6.dex */
static class SizeFactory {
SizeFactory() {
}
public static Size create(int i, int i2) {
return new Size(i, i2);
}
}
}