a.smali
.class public final Lcom/otaliastudios/cameraview/engine/metering/a;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/otaliastudios/cameraview/metering/c;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/otaliastudios/cameraview/metering/c<",
"Landroid/hardware/Camera$Area;",
">;"
}
.end annotation
# static fields
.field public static final c:Lcom/otaliastudios/cameraview/c;
# instance fields
.field public final a:I
.field public final b:Lcom/otaliastudios/cameraview/size/b;
# direct methods
.method public static constructor <clinit>()V
.registers 2
.line 1
const-class v0, Lcom/otaliastudios/cameraview/engine/metering/a;
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
.line 2
new-instance v1, Lcom/otaliastudios/cameraview/c;
invoke-direct {v1, v0}, Lcom/otaliastudios/cameraview/c;-><init>(Ljava/lang/String;)V
.line 3
sput-object v1, Lcom/otaliastudios/cameraview/engine/metering/a;->c:Lcom/otaliastudios/cameraview/c;
return-void
.end method
.method public constructor <init>(Lcom/otaliastudios/cameraview/engine/offset/a;Lcom/otaliastudios/cameraview/size/b;)V
.registers 6
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
sget-object v0, Lcom/otaliastudios/cameraview/engine/offset/c;->SENSOR:Lcom/otaliastudios/cameraview/engine/offset/c;
sget-object v1, Lcom/otaliastudios/cameraview/engine/offset/c;->VIEW:Lcom/otaliastudios/cameraview/engine/offset/c;
sget-object v2, Lcom/otaliastudios/cameraview/engine/offset/b;->ABSOLUTE:Lcom/otaliastudios/cameraview/engine/offset/b;
invoke-virtual {p1, v0, v1, v2}, Lcom/otaliastudios/cameraview/engine/offset/a;->c(Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/c;Lcom/otaliastudios/cameraview/engine/offset/b;)I
move-result p1
neg-int p1, p1
iput p1, p0, Lcom/otaliastudios/cameraview/engine/metering/a;->a:I
.line 3
iput-object p2, p0, Lcom/otaliastudios/cameraview/engine/metering/a;->b:Lcom/otaliastudios/cameraview/size/b;
return-void
.end method
# virtual methods
.method public final a(Landroid/graphics/RectF;I)Ljava/lang/Object;
.registers 4
.line 1
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 2
invoke-virtual {p1, v0}, Landroid/graphics/RectF;->round(Landroid/graphics/Rect;)V
.line 3
new-instance p1, Landroid/hardware/Camera$Area;
invoke-direct {p1, v0, p2}, Landroid/hardware/Camera$Area;-><init>(Landroid/graphics/Rect;I)V
return-object p1
.end method
.method public final b(Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 11
.line 1
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0}, Landroid/graphics/PointF;-><init>()V
.line 2
iget v1, p1, Landroid/graphics/PointF;->x:F
iget-object v2, p0, Lcom/otaliastudios/cameraview/engine/metering/a;->b:Lcom/otaliastudios/cameraview/size/b;
.line 3
iget v3, v2, Lcom/otaliastudios/cameraview/size/b;->a:I
int-to-float v3, v3
div-float/2addr v1, v3
const/high16 v3, 0x44fa0000 # 2000.0f
mul-float v1, v1, v3
const/high16 v4, -0x3b860000 # -1000.0f
add-float/2addr v1, v4
.line 4
iput v1, v0, Landroid/graphics/PointF;->x:F
.line 5
iget p1, p1, Landroid/graphics/PointF;->y:F
.line 6
iget v1, v2, Lcom/otaliastudios/cameraview/size/b;->b:I
int-to-float v1, v1
div-float/2addr p1, v1
mul-float p1, p1, v3
add-float/2addr p1, v4
.line 7
iput p1, v0, Landroid/graphics/PointF;->y:F
.line 8
new-instance p1, Landroid/graphics/PointF;
invoke-direct {p1}, Landroid/graphics/PointF;-><init>()V
.line 9
iget v1, p0, Lcom/otaliastudios/cameraview/engine/metering/a;->a:I
int-to-double v1, v1
const-wide v3, 0x400921fb54442d18L # Math.PI
mul-double v1, v1, v3
const-wide v3, 0x4066800000000000L # 180.0
div-double/2addr v1, v3
.line 10
iget v3, v0, Landroid/graphics/PointF;->x:F
float-to-double v3, v3
invoke-static {v1, v2}, Ljava/lang/Math;->cos(D)D
move-result-wide v5
mul-double v5, v5, v3
iget v3, v0, Landroid/graphics/PointF;->y:F
float-to-double v3, v3
invoke-static {v1, v2}, Ljava/lang/Math;->sin(D)D
move-result-wide v7
mul-double v7, v7, v3
sub-double/2addr v5, v7
double-to-float v3, v5
iput v3, p1, Landroid/graphics/PointF;->x:F
.line 11
iget v3, v0, Landroid/graphics/PointF;->x:F
float-to-double v3, v3
invoke-static {v1, v2}, Ljava/lang/Math;->sin(D)D
move-result-wide v5
mul-double v5, v5, v3
iget v3, v0, Landroid/graphics/PointF;->y:F
float-to-double v3, v3
invoke-static {v1, v2}, Ljava/lang/Math;->cos(D)D
move-result-wide v1
mul-double v1, v1, v3
add-double/2addr v1, v5
double-to-float v1, v1
iput v1, p1, Landroid/graphics/PointF;->y:F
.line 12
sget-object v1, Lcom/otaliastudios/cameraview/engine/metering/a;->c:Lcom/otaliastudios/cameraview/c;
const/4 v2, 0x4
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
const-string v4, "scaled:"
aput-object v4, v2, v3
const/4 v3, 0x1
aput-object v0, v2, v3
const/4 v0, 0x2
const-string v3, "rotated:"
aput-object v3, v2, v0
const/4 v0, 0x3
aput-object p1, v2, v0
invoke-virtual {v1, v2}, Lcom/otaliastudios/cameraview/c;->b([Ljava/lang/Object;)Ljava/lang/String;
return-object p1
.end method