b.smali
.class public Le7/b;
.super Lw6/d;
.source "Camera2Options.java"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x15
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/hardware/camera2/CameraManager;Ljava/lang/String;ZI)V
.registers 14
.param p1 # Landroid/hardware/camera2/CameraManager;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/hardware/camera2/CameraAccessException;
}
.end annotation
invoke-direct {p0}, Lw6/d;-><init>()V
invoke-static {}, La7/b;->a()La7/b;
move-result-object v0
invoke-virtual {p1, p2}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v1
invoke-virtual {p1}, Landroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String;
move-result-object v2
array-length v3, v2
const/4 v4, 0x0
const/4 v5, 0x0
:goto_12
if-ge v5, v3, :cond_36
aget-object v6, v2, v5
invoke-virtual {p1, v6}, Landroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;
move-result-object v6
sget-object v7, Landroid/hardware/camera2/CameraCharacteristics;->LENS_FACING:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v6, v7}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/Integer;
if-eqz v6, :cond_33
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
invoke-virtual {v0, v6}, La7/b;->a(I)Lcom/otaliastudios/cameraview/controls/Facing;
move-result-object v6
if-eqz v6, :cond_33
iget-object v7, p0, Lw6/d;->b:Ljava/util/Set;
invoke-interface {v7, v6}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_33
add-int/lit8 v5, v5, 0x1
goto :goto_12
:cond_36
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AWB_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [I
array-length v2, p1
const/4 v3, 0x0
:goto_40
if-ge v3, v2, :cond_52
aget v5, p1, v3
invoke-virtual {v0, v5}, La7/b;->d(I)Lcom/otaliastudios/cameraview/controls/WhiteBalance;
move-result-object v5
if-eqz v5, :cond_4f
iget-object v6, p0, Lw6/d;->a:Ljava/util/Set;
invoke-interface {v6, v5}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_4f
add-int/lit8 v3, v3, 0x1
goto :goto_40
:cond_52
iget-object p1, p0, Lw6/d;->c:Ljava/util/Set;
sget-object v2, Lcom/otaliastudios/cameraview/controls/Flash;->OFF:Lcom/otaliastudios/cameraview/controls/Flash;
invoke-interface {p1, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->FLASH_INFO_AVAILABLE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Boolean;
if-eqz p1, :cond_83
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
if-eqz p1, :cond_83
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [I
array-length v2, p1
const/4 v3, 0x0
:goto_73
if-ge v3, v2, :cond_83
aget v5, p1, v3
invoke-virtual {v0, v5}, La7/b;->b(I)Ljava/util/Set;
move-result-object v5
iget-object v6, p0, Lw6/d;->c:Ljava/util/Set;
invoke-interface {v6, v5}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z
add-int/lit8 v3, v3, 0x1
goto :goto_73
:cond_83
iget-object p1, p0, Lw6/d;->d:Ljava/util/Set;
sget-object v2, Lcom/otaliastudios/cameraview/controls/Hdr;->OFF:Lcom/otaliastudios/cameraview/controls/Hdr;
invoke-interface {p1, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AVAILABLE_SCENE_MODES:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [I
array-length v2, p1
const/4 v3, 0x0
:goto_94
if-ge v3, v2, :cond_a6
aget v5, p1, v3
invoke-virtual {v0, v5}, La7/b;->c(I)Lcom/otaliastudios/cameraview/controls/Hdr;
move-result-object v5
if-eqz v5, :cond_a3
iget-object v6, p0, Lw6/d;->d:Ljava/util/Set;
invoke-interface {v6, v5}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_a3
add-int/lit8 v3, v3, 0x1
goto :goto_94
:cond_a6
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MAX_DIGITAL_ZOOM:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Float;
const/4 v0, 0x1
if-eqz p1, :cond_c0
invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F
move-result p1
const/high16 v2, 0x3f800000 # 1.0f
cmpl-float p1, p1, v2
if-lez p1, :cond_bd
const/4 p1, 0x1
goto :goto_be
:cond_bd
const/4 p1, 0x0
:goto_be
iput-boolean p1, p0, Lw6/d;->k:Z
:cond_c0
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS_AF:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS_AE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Integer;
sget-object v3, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS_AWB:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, v3}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
if-eqz p1, :cond_e0
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
if-gtz p1, :cond_f0
:cond_e0
if-eqz v2, :cond_e8
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result p1
if-gtz p1, :cond_f0
:cond_e8
if-eqz v3, :cond_f2
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result p1
if-lez p1, :cond_f2
:cond_f0
const/4 p1, 0x1
goto :goto_f3
:cond_f2
const/4 p1, 0x0
:goto_f3
iput-boolean p1, p0, Lw6/d;->o:Z
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_COMPENSATION_RANGE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/util/Range;
sget-object v2, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_COMPENSATION_STEP:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, v2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/util/Rational;
const/4 v3, 0x0
if-eqz p1, :cond_136
if-eqz v2, :cond_136
invoke-virtual {v2}, Landroid/util/Rational;->floatValue()F
move-result v5
cmpl-float v5, v5, v3
if-eqz v5, :cond_136
invoke-virtual {p1}, Landroid/util/Range;->getLower()Ljava/lang/Comparable;
move-result-object v5
check-cast v5, Ljava/lang/Integer;
invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
move-result v5
int-to-float v5, v5
invoke-virtual {v2}, Landroid/util/Rational;->floatValue()F
move-result v6
div-float/2addr v5, v6
iput v5, p0, Lw6/d;->m:F
invoke-virtual {p1}, Landroid/util/Range;->getUpper()Ljava/lang/Comparable;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
int-to-float p1, p1
invoke-virtual {v2}, Landroid/util/Rational;->floatValue()F
move-result v2
div-float/2addr p1, v2
iput p1, p0, Lw6/d;->n:F
:cond_136
iget p1, p0, Lw6/d;->m:F
cmpl-float p1, p1, v3
if-eqz p1, :cond_144
iget p1, p0, Lw6/d;->n:F
cmpl-float p1, p1, v3
if-eqz p1, :cond_144
const/4 p1, 0x1
goto :goto_145
:cond_144
const/4 p1, 0x0
:goto_145
iput-boolean p1, p0, Lw6/d;->l:Z
sget-object p1, Landroid/hardware/camera2/CameraCharacteristics;->SCALER_STREAM_CONFIGURATION_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p1}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/hardware/camera2/params/StreamConfigurationMap;
if-eqz p1, :cond_2a4
invoke-virtual {p1}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputFormats()[I
move-result-object v2
array-length v5, v2
const/4 v6, 0x0
:goto_157
if-ge v6, v5, :cond_161
aget v7, v2, v6
if-ne v7, p4, :cond_15e
goto :goto_162
:cond_15e
add-int/lit8 v6, v6, 0x1
goto :goto_157
:cond_161
const/4 v0, 0x0
:goto_162
if-eqz v0, :cond_28d
invoke-virtual {p1, p4}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(I)[Landroid/util/Size;
move-result-object p4
array-length v0, p4
const/4 v2, 0x0
:goto_16a
if-ge v2, v0, :cond_19a
aget-object v5, p4, v2
if-eqz p3, :cond_175
invoke-virtual {v5}, Landroid/util/Size;->getHeight()I
move-result v6
goto :goto_179
:cond_175
invoke-virtual {v5}, Landroid/util/Size;->getWidth()I
move-result v6
:goto_179
if-eqz p3, :cond_180
invoke-virtual {v5}, Landroid/util/Size;->getWidth()I
move-result v5
goto :goto_184
:cond_180
invoke-virtual {v5}, Landroid/util/Size;->getHeight()I
move-result v5
:goto_184
iget-object v7, p0, Lw6/d;->e:Ljava/util/Set;
new-instance v8, Lq7/b;
invoke-direct {v8, v6, v5}, Lq7/b;-><init>(II)V
invoke-interface {v7, v8}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
iget-object v7, p0, Lw6/d;->g:Ljava/util/Set;
invoke-static {v6, v5}, Lq7/a;->b(II)Lq7/a;
move-result-object v5
invoke-interface {v7, v5}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_16a
:cond_19a
new-instance p4, Lq7/b;
const v0, 0x7fffffff
invoke-direct {p4, v0, v0}, Lq7/b;-><init>(II)V
invoke-static {p2, p4}, Lk7/a;->a(Ljava/lang/String;Lq7/b;)Landroid/media/CamcorderProfile;
move-result-object p2
new-instance p4, Lq7/b;
iget v0, p2, Landroid/media/CamcorderProfile;->videoFrameWidth:I
iget p2, p2, Landroid/media/CamcorderProfile;->videoFrameHeight:I
invoke-direct {p4, v0, p2}, Lq7/b;-><init>(II)V
const-class p2, Landroid/media/MediaRecorder;
invoke-virtual {p1, p2}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(Ljava/lang/Class;)[Landroid/util/Size;
move-result-object p2
array-length v0, p2
const/4 v2, 0x0
:goto_1b7
if-ge v2, v0, :cond_1fb
aget-object v5, p2, v2
invoke-virtual {v5}, Landroid/util/Size;->getWidth()I
move-result v6
invoke-virtual {p4}, Lq7/b;->c()I
move-result v7
if-gt v6, v7, :cond_1f8
invoke-virtual {v5}, Landroid/util/Size;->getHeight()I
move-result v6
invoke-virtual {p4}, Lq7/b;->b()I
move-result v7
if-gt v6, v7, :cond_1f8
if-eqz p3, :cond_1d6
invoke-virtual {v5}, Landroid/util/Size;->getHeight()I
move-result v6
goto :goto_1da
:cond_1d6
invoke-virtual {v5}, Landroid/util/Size;->getWidth()I
move-result v6
:goto_1da
if-eqz p3, :cond_1e1
invoke-virtual {v5}, Landroid/util/Size;->getWidth()I
move-result v5
goto :goto_1e5
:cond_1e1
invoke-virtual {v5}, Landroid/util/Size;->getHeight()I
move-result v5
:goto_1e5
iget-object v7, p0, Lw6/d;->f:Ljava/util/Set;
new-instance v8, Lq7/b;
invoke-direct {v8, v6, v5}, Lq7/b;-><init>(II)V
invoke-interface {v7, v8}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
iget-object v7, p0, Lw6/d;->h:Ljava/util/Set;
invoke-static {v6, v5}, Lq7/a;->b(II)Lq7/a;
move-result-object v5
invoke-interface {v7, v5}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_1f8
add-int/lit8 v2, v2, 0x1
goto :goto_1b7
:cond_1fb
sget-object p2, Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p2
check-cast p2, [Landroid/util/Range;
if-eqz p2, :cond_23e
const p3, 0x7f7fffff # Float.MAX_VALUE
iput p3, p0, Lw6/d;->p:F
const p3, -0x800001
iput p3, p0, Lw6/d;->q:F
array-length p3, p2
const/4 p4, 0x0
:goto_211
if-ge p4, p3, :cond_242
aget-object v0, p2, p4
iget v2, p0, Lw6/d;->p:F
invoke-virtual {v0}, Landroid/util/Range;->getLower()Ljava/lang/Comparable;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
int-to-float v3, v3
invoke-static {v2, v3}, Ljava/lang/Math;->min(FF)F
move-result v2
iput v2, p0, Lw6/d;->p:F
iget v2, p0, Lw6/d;->q:F
invoke-virtual {v0}, Landroid/util/Range;->getUpper()Ljava/lang/Comparable;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
int-to-float v0, v0
invoke-static {v2, v0}, Ljava/lang/Math;->max(FF)F
move-result v0
iput v0, p0, Lw6/d;->q:F
add-int/lit8 p4, p4, 0x1
goto :goto_211
:cond_23e
iput v3, p0, Lw6/d;->p:F
iput v3, p0, Lw6/d;->q:F
:cond_242
iget-object p2, p0, Lw6/d;->i:Ljava/util/Set;
sget-object p3, Lcom/otaliastudios/cameraview/controls/PictureFormat;->JPEG:Lcom/otaliastudios/cameraview/controls/PictureFormat;
invoke-interface {p2, p3}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
sget-object p2, Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_CAPABILITIES:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {v1, p2}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p2
check-cast p2, [I
if-eqz p2, :cond_266
array-length p3, p2
const/4 p4, 0x0
:goto_255
if-ge p4, p3, :cond_266
aget v0, p2, p4
const/4 v1, 0x3
if-ne v0, v1, :cond_263
iget-object v0, p0, Lw6/d;->i:Ljava/util/Set;
sget-object v1, Lcom/otaliastudios/cameraview/controls/PictureFormat;->DNG:Lcom/otaliastudios/cameraview/controls/PictureFormat;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_263
add-int/lit8 p4, p4, 0x1
goto :goto_255
:cond_266
iget-object p2, p0, Lw6/d;->j:Ljava/util/Set;
const/16 p3, 0x23
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
invoke-interface {p2, p3}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
invoke-virtual {p1}, Landroid/hardware/camera2/params/StreamConfigurationMap;->getOutputFormats()[I
move-result-object p1
array-length p2, p1
:goto_276
if-ge v4, p2, :cond_28c
aget p3, p1, v4
invoke-static {p3}, Landroid/graphics/ImageFormat;->getBitsPerPixel(I)I
move-result p4
if-lez p4, :cond_289
iget-object p4, p0, Lw6/d;->j:Ljava/util/Set;
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
invoke-interface {p4, p3}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_289
add-int/lit8 v4, v4, 0x1
goto :goto_276
:cond_28c
return-void
:cond_28d
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string p3, "Picture format not supported: "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2a4
new-instance p1, Ljava/lang/RuntimeException;
const-string p2, "StreamConfigurationMap is null. Should not happen."
invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
goto :goto_2ad
:goto_2ac
throw p1
:goto_2ad
goto :goto_2ac
.end method