b.smali
.class public Lc7/b;
.super Ljava/lang/Object;
.source "Camera2MeteringTransform.java"
# interfaces
.implements Lm7/c;
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x15
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lm7/c<",
"Landroid/hardware/camera2/params/MeteringRectangle;",
">;"
}
.end annotation
# static fields
.field public static final g:Lw6/c;
# instance fields
.field public final a:Ld7/a;
.field public final b:Lq7/b;
.field public final c:Lq7/b;
.field public final d:Z
.field public final e:Landroid/hardware/camera2/CameraCharacteristics;
.field public final f:Landroid/hardware/camera2/CaptureRequest$Builder;
# direct methods
.method public static constructor <clinit>()V
.registers 1
const-class v0, Lc7/b;
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lw6/c;->a(Ljava/lang/String;)Lw6/c;
move-result-object v0
sput-object v0, Lc7/b;->g:Lw6/c;
return-void
.end method
.method public constructor <init>(Ld7/a;Lq7/b;Lq7/b;ZLandroid/hardware/camera2/CameraCharacteristics;Landroid/hardware/camera2/CaptureRequest$Builder;)V
.registers 7
.param p1 # Ld7/a;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Lq7/b;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Lq7/b;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Z
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p5 # Landroid/hardware/camera2/CameraCharacteristics;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lc7/b;->a:Ld7/a;
iput-object p2, p0, Lc7/b;->b:Lq7/b;
iput-object p3, p0, Lc7/b;->c:Lq7/b;
iput-boolean p4, p0, Lc7/b;->d:Z
iput-object p5, p0, Lc7/b;->e:Landroid/hardware/camera2/CameraCharacteristics;
iput-object p6, p0, Lc7/b;->f:Landroid/hardware/camera2/CaptureRequest$Builder;
return-void
.end method
# virtual methods
.method public a(Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 12
.param p1 # Landroid/graphics/PointF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/graphics/PointF;
iget v1, p1, Landroid/graphics/PointF;->x:F
iget v2, p1, Landroid/graphics/PointF;->y:F
invoke-direct {v0, v1, v2}, Landroid/graphics/PointF;-><init>(FF)V
iget-object v1, p0, Lc7/b;->b:Lq7/b;
invoke-virtual {p0, v1, v0}, Lc7/b;->c(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
move-result-object v1
invoke-virtual {p0, v1, v0}, Lc7/b;->d(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
move-result-object v1
invoke-virtual {p0, v1, v0}, Lc7/b;->e(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
move-result-object v1
invoke-virtual {p0, v1, v0}, Lc7/b;->b(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
move-result-object v1
invoke-virtual {p0, v1, v0}, Lc7/b;->a(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
move-result-object v1
sget-object v2, Lc7/b;->g:Lw6/c;
const/4 v3, 0x4
new-array v4, v3, [Ljava/lang/Object;
const-string v5, "input:"
const/4 v6, 0x0
aput-object v5, v4, v6
const/4 v7, 0x1
aput-object p1, v4, v7
const-string v8, "output (before clipping):"
const/4 v9, 0x2
aput-object v8, v4, v9
const/4 v8, 0x3
aput-object v0, v4, v8
invoke-virtual {v2, v4}, Lw6/c;->b([Ljava/lang/Object;)Ljava/lang/String;
iget v2, v0, Landroid/graphics/PointF;->x:F
const/4 v4, 0x0
cmpg-float v2, v2, v4
if-gez v2, :cond_40
iput v4, v0, Landroid/graphics/PointF;->x:F
:cond_40
iget v2, v0, Landroid/graphics/PointF;->y:F
cmpg-float v2, v2, v4
if-gez v2, :cond_48
iput v4, v0, Landroid/graphics/PointF;->y:F
:cond_48
iget v2, v0, Landroid/graphics/PointF;->x:F
invoke-virtual {v1}, Lq7/b;->c()I
move-result v4
int-to-float v4, v4
cmpl-float v2, v2, v4
if-lez v2, :cond_5a
invoke-virtual {v1}, Lq7/b;->c()I
move-result v2
int-to-float v2, v2
iput v2, v0, Landroid/graphics/PointF;->x:F
:cond_5a
iget v2, v0, Landroid/graphics/PointF;->y:F
invoke-virtual {v1}, Lq7/b;->b()I
move-result v4
int-to-float v4, v4
cmpl-float v2, v2, v4
if-lez v2, :cond_6c
invoke-virtual {v1}, Lq7/b;->b()I
move-result v1
int-to-float v1, v1
iput v1, v0, Landroid/graphics/PointF;->y:F
:cond_6c
sget-object v1, Lc7/b;->g:Lw6/c;
new-array v2, v3, [Ljava/lang/Object;
aput-object v5, v2, v6
aput-object p1, v2, v7
const-string p1, "output (after clipping):"
aput-object p1, v2, v9
aput-object v0, v2, v8
invoke-virtual {v1, v2}, Lw6/c;->b([Ljava/lang/Object;)Ljava/lang/String;
return-object v0
.end method
.method public a(Landroid/graphics/RectF;I)Landroid/hardware/camera2/params/MeteringRectangle;
.registers 4
.param p1 # Landroid/graphics/RectF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
invoke-virtual {p1, v0}, Landroid/graphics/RectF;->round(Landroid/graphics/Rect;)V
new-instance p1, Landroid/hardware/camera2/params/MeteringRectangle;
invoke-direct {p1, v0, p2}, Landroid/hardware/camera2/params/MeteringRectangle;-><init>(Landroid/graphics/Rect;I)V
return-object p1
.end method
.method public bridge synthetic a(Landroid/graphics/RectF;I)Ljava/lang/Object;
.registers 3
.param p1 # Landroid/graphics/RectF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
invoke-virtual {p0, p1, p2}, Lc7/b;->a(Landroid/graphics/RectF;I)Landroid/hardware/camera2/params/MeteringRectangle;
move-result-object p1
return-object p1
.end method
.method public final a(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
.registers 7
.param p1 # Lq7/b;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/graphics/PointF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Lc7/b;->f:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v1, Landroid/hardware/camera2/CaptureRequest;->SCALER_CROP_REGION:Landroid/hardware/camera2/CaptureRequest$Key;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Rect;
iget v1, p2, Landroid/graphics/PointF;->x:F
const/4 v2, 0x0
if-nez v0, :cond_11
const/4 v3, 0x0
goto :goto_14
:cond_11
iget v3, v0, Landroid/graphics/Rect;->left:I
int-to-float v3, v3
:goto_14
add-float/2addr v1, v3
iput v1, p2, Landroid/graphics/PointF;->x:F
iget v1, p2, Landroid/graphics/PointF;->y:F
if-nez v0, :cond_1c
goto :goto_1f
:cond_1c
iget v0, v0, Landroid/graphics/Rect;->top:I
int-to-float v2, v0
:goto_1f
add-float/2addr v1, v2
iput v1, p2, Landroid/graphics/PointF;->y:F
iget-object p2, p0, Lc7/b;->e:Landroid/hardware/camera2/CameraCharacteristics;
sget-object v0, Landroid/hardware/camera2/CameraCharacteristics;->SENSOR_INFO_ACTIVE_ARRAY_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key;
invoke-virtual {p2, v0}, Landroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroid/graphics/Rect;
if-nez p2, :cond_3c
new-instance p2, Landroid/graphics/Rect;
invoke-virtual {p1}, Lq7/b;->c()I
move-result v0
invoke-virtual {p1}, Lq7/b;->b()I
move-result p1
const/4 v1, 0x0
invoke-direct {p2, v1, v1, v0, p1}, Landroid/graphics/Rect;-><init>(IIII)V
:cond_3c
new-instance p1, Lq7/b;
invoke-virtual {p2}, Landroid/graphics/Rect;->width()I
move-result v0
invoke-virtual {p2}, Landroid/graphics/Rect;->height()I
move-result p2
invoke-direct {p1, v0, p2}, Lq7/b;-><init>(II)V
return-object p1
.end method
.method public final b(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
.registers 8
.param p1 # Lq7/b;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/graphics/PointF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Lc7/b;->f:Landroid/hardware/camera2/CaptureRequest$Builder;
sget-object v1, Landroid/hardware/camera2/CaptureRequest;->SCALER_CROP_REGION:Landroid/hardware/camera2/CaptureRequest$Key;
invoke-virtual {v0, v1}, Landroid/hardware/camera2/CaptureRequest$Builder;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/graphics/Rect;
if-nez v0, :cond_11
invoke-virtual {p1}, Lq7/b;->c()I
move-result v1
goto :goto_15
:cond_11
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v1
:goto_15
if-nez v0, :cond_1c
invoke-virtual {p1}, Lq7/b;->b()I
move-result v0
goto :goto_20
:cond_1c
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v0
:goto_20
iget v2, p2, Landroid/graphics/PointF;->x:F
invoke-virtual {p1}, Lq7/b;->c()I
move-result v3
sub-int v3, v1, v3
int-to-float v3, v3
const/high16 v4, 0x40000000 # 2.0f
div-float/2addr v3, v4
add-float/2addr v2, v3
iput v2, p2, Landroid/graphics/PointF;->x:F
iget v2, p2, Landroid/graphics/PointF;->y:F
invoke-virtual {p1}, Lq7/b;->b()I
move-result p1
sub-int p1, v0, p1
int-to-float p1, p1
div-float/2addr p1, v4
add-float/2addr v2, p1
iput v2, p2, Landroid/graphics/PointF;->y:F
new-instance p1, Lq7/b;
invoke-direct {p1, v1, v0}, Lq7/b;-><init>(II)V
return-object p1
.end method
.method public final c(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
.registers 11
.param p1 # Lq7/b;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/graphics/PointF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Lc7/b;->c:Lq7/b;
invoke-virtual {p1}, Lq7/b;->c()I
move-result v1
invoke-virtual {p1}, Lq7/b;->b()I
move-result v2
invoke-static {v0}, Lq7/a;->a(Lq7/b;)Lq7/a;
move-result-object v0
invoke-static {p1}, Lq7/a;->a(Lq7/b;)Lq7/a;
move-result-object v3
iget-boolean v4, p0, Lc7/b;->d:Z
if-eqz v4, :cond_6d
invoke-virtual {v0}, Lq7/a;->b()F
move-result v4
invoke-virtual {v3}, Lq7/a;->b()F
move-result v5
const/high16 v6, 0x40000000 # 2.0f
const/high16 v7, 0x3f800000 # 1.0f
cmpl-float v4, v4, v5
if-lez v4, :cond_4a
invoke-virtual {v0}, Lq7/a;->b()F
move-result v0
invoke-virtual {v3}, Lq7/a;->b()F
move-result v1
div-float/2addr v0, v1
iget v1, p2, Landroid/graphics/PointF;->x:F
invoke-virtual {p1}, Lq7/b;->c()I
move-result v3
int-to-float v3, v3
sub-float v4, v0, v7
mul-float v3, v3, v4
div-float/2addr v3, v6
add-float/2addr v1, v3
iput v1, p2, Landroid/graphics/PointF;->x:F
invoke-virtual {p1}, Lq7/b;->c()I
move-result p1
int-to-float p1, p1
mul-float p1, p1, v0
invoke-static {p1}, Ljava/lang/Math;->round(F)I
move-result v1
goto :goto_6d
:cond_4a
invoke-virtual {v3}, Lq7/a;->b()F
move-result v2
invoke-virtual {v0}, Lq7/a;->b()F
move-result v0
div-float/2addr v2, v0
iget v0, p2, Landroid/graphics/PointF;->y:F
invoke-virtual {p1}, Lq7/b;->b()I
move-result v3
int-to-float v3, v3
sub-float v4, v2, v7
mul-float v3, v3, v4
div-float/2addr v3, v6
add-float/2addr v0, v3
iput v0, p2, Landroid/graphics/PointF;->y:F
invoke-virtual {p1}, Lq7/b;->b()I
move-result p1
int-to-float p1, p1
mul-float p1, p1, v2
invoke-static {p1}, Ljava/lang/Math;->round(F)I
move-result v2
:cond_6d
:goto_6d
new-instance p1, Lq7/b;
invoke-direct {p1, v1, v2}, Lq7/b;-><init>(II)V
return-object p1
.end method
.method public final d(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
.registers 7
.param p1 # Lq7/b;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/graphics/PointF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Lc7/b;->c:Lq7/b;
iget v1, p2, Landroid/graphics/PointF;->x:F
invoke-virtual {v0}, Lq7/b;->c()I
move-result v2
int-to-float v2, v2
invoke-virtual {p1}, Lq7/b;->c()I
move-result v3
int-to-float v3, v3
div-float/2addr v2, v3
mul-float v1, v1, v2
iput v1, p2, Landroid/graphics/PointF;->x:F
iget v1, p2, Landroid/graphics/PointF;->y:F
invoke-virtual {v0}, Lq7/b;->b()I
move-result v2
int-to-float v2, v2
invoke-virtual {p1}, Lq7/b;->b()I
move-result p1
int-to-float p1, p1
div-float/2addr v2, p1
mul-float v1, v1, v2
iput v1, p2, Landroid/graphics/PointF;->y:F
return-object v0
.end method
.method public final e(Lq7/b;Landroid/graphics/PointF;)Lq7/b;
.registers 8
.param p1 # Lq7/b;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/graphics/PointF;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Lc7/b;->a:Ld7/a;
sget-object v1, Lcom/otaliastudios/cameraview/engine/offset/Reference;->SENSOR:Lcom/otaliastudios/cameraview/engine/offset/Reference;
sget-object v2, Lcom/otaliastudios/cameraview/engine/offset/Reference;->VIEW:Lcom/otaliastudios/cameraview/engine/offset/Reference;
sget-object v3, Lcom/otaliastudios/cameraview/engine/offset/Axis;->ABSOLUTE:Lcom/otaliastudios/cameraview/engine/offset/Axis;
invoke-virtual {v0, v1, v2, v3}, Ld7/a;->a(Lcom/otaliastudios/cameraview/engine/offset/Reference;Lcom/otaliastudios/cameraview/engine/offset/Reference;Lcom/otaliastudios/cameraview/engine/offset/Axis;)I
move-result v0
rem-int/lit16 v1, v0, 0xb4
if-eqz v1, :cond_12
const/4 v1, 0x1
goto :goto_13
:cond_12
const/4 v1, 0x0
:goto_13
iget v2, p2, Landroid/graphics/PointF;->x:F
iget v3, p2, Landroid/graphics/PointF;->y:F
if-nez v0, :cond_1e
iput v2, p2, Landroid/graphics/PointF;->x:F
iput v3, p2, Landroid/graphics/PointF;->y:F
goto :goto_50
:cond_1e
const/16 v4, 0x5a
if-ne v0, v4, :cond_2d
iput v3, p2, Landroid/graphics/PointF;->x:F
invoke-virtual {p1}, Lq7/b;->c()I
move-result v0
int-to-float v0, v0
sub-float/2addr v0, v2
iput v0, p2, Landroid/graphics/PointF;->y:F
goto :goto_50
:cond_2d
const/16 v4, 0xb4
if-ne v0, v4, :cond_42
invoke-virtual {p1}, Lq7/b;->c()I
move-result v0
int-to-float v0, v0
sub-float/2addr v0, v2
iput v0, p2, Landroid/graphics/PointF;->x:F
invoke-virtual {p1}, Lq7/b;->b()I
move-result v0
int-to-float v0, v0
sub-float/2addr v0, v3
iput v0, p2, Landroid/graphics/PointF;->y:F
goto :goto_50
:cond_42
const/16 v4, 0x10e
if-ne v0, v4, :cond_57
invoke-virtual {p1}, Lq7/b;->b()I
move-result v0
int-to-float v0, v0
sub-float/2addr v0, v3
iput v0, p2, Landroid/graphics/PointF;->x:F
iput v2, p2, Landroid/graphics/PointF;->y:F
:goto_50
if-eqz v1, :cond_56
invoke-virtual {p1}, Lq7/b;->a()Lq7/b;
move-result-object p1
:cond_56
return-object p1
:cond_57
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Unexpected angle "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0}, 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
.end method