d.smali
.class public final Lcom/cmcm/qrcodelib/camera/d;
.super Ljava/lang/Object;
.source "CameraConfigurationUtils.java"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0xf
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 43
const-string v0, ";"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
return-void
.end method
.method public static a(Landroid/hardware/Camera$Parameters;Landroid/graphics/Point;)Landroid/graphics/Point;
.registers 16
.prologue
const/4 v4, 0x0
.line 275
invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewSizes()Ljava/util/List;
move-result-object v0
.line 276
if-nez v0, :cond_1f
.line 278
invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getPreviewSize()Landroid/hardware/Camera$Size;
move-result-object v1
.line 279
if-nez v1, :cond_15
.line 280
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Parameters contained no preview size!"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 282
:cond_15
new-instance v0, Landroid/graphics/Point;
iget v2, v1, Landroid/hardware/Camera$Size;->width:I
iget v1, v1, Landroid/hardware/Camera$Size;->height:I
invoke-direct {v0, v2, v1}, Landroid/graphics/Point;-><init>(II)V
.line 358
:goto_1e
return-object v0
.line 286
:cond_1f
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5, v0}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
.line 287
new-instance v0, Lcom/cmcm/qrcodelib/camera/d$1;
invoke-direct {v0}, Lcom/cmcm/qrcodelib/camera/d$1;-><init>()V
invoke-static {v5, v0}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 311
iget v0, p1, Landroid/graphics/Point;->x:I
int-to-double v0, v0
iget v2, p1, Landroid/graphics/Point;->y:I
int-to-double v2, v2
div-double v6, v0, v2
.line 314
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v8
.line 315
:cond_38
:goto_38
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_85
.line 316
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/Camera$Size;
.line 317
iget v1, v0, Landroid/hardware/Camera$Size;->width:I
.line 318
iget v2, v0, Landroid/hardware/Camera$Size;->height:I
.line 319
mul-int v0, v1, v2
const v3, 0x25800
if-ge v0, v3, :cond_53
.line 320
invoke-interface {v8}, Ljava/util/Iterator;->remove()V
goto :goto_38
.line 324
:cond_53
if-ge v1, v2, :cond_71
const/4 v0, 0x1
.line 325
:goto_56
if-eqz v0, :cond_73
move v3, v2
.line 326
:goto_59
if-eqz v0, :cond_75
move v0, v1
.line 327
:goto_5c
int-to-double v10, v3
int-to-double v12, v0
div-double/2addr v10, v12
.line 328
sub-double/2addr v10, v6
invoke-static {v10, v11}, Ljava/lang/Math;->abs(D)D
move-result-wide v10
.line 329
const-wide v12, 0x3fc3333333333333L # 0.15
cmpl-double v9, v10, v12
if-lez v9, :cond_77
.line 330
invoke-interface {v8}, Ljava/util/Iterator;->remove()V
goto :goto_38
:cond_71
move v0, v4
.line 324
goto :goto_56
:cond_73
move v3, v1
.line 325
goto :goto_59
:cond_75
move v0, v2
.line 326
goto :goto_5c
.line 334
:cond_77
iget v9, p1, Landroid/graphics/Point;->x:I
if-ne v3, v9, :cond_38
iget v3, p1, Landroid/graphics/Point;->y:I
if-ne v0, v3, :cond_38
.line 335
new-instance v0, Landroid/graphics/Point;
invoke-direct {v0, v1, v2}, Landroid/graphics/Point;-><init>(II)V
goto :goto_1e
.line 344
:cond_85
invoke-interface {v5}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_9c
.line 345
invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/Camera$Size;
.line 346
new-instance v1, Landroid/graphics/Point;
iget v2, v0, Landroid/hardware/Camera$Size;->width:I
iget v0, v0, Landroid/hardware/Camera$Size;->height:I
invoke-direct {v1, v2, v0}, Landroid/graphics/Point;-><init>(II)V
move-object v0, v1
.line 348
goto :goto_1e
.line 352
:cond_9c
invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getPreviewSize()Landroid/hardware/Camera$Size;
move-result-object v1
.line 353
if-nez v1, :cond_aa
.line 354
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Parameters contained no preview size!"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 356
:cond_aa
new-instance v0, Landroid/graphics/Point;
iget v2, v1, Landroid/hardware/Camera$Size;->width:I
iget v1, v1, Landroid/hardware/Camera$Size;->height:I
invoke-direct {v0, v2, v1}, Landroid/graphics/Point;-><init>(II)V
goto/16 :goto_1e
.end method
.method private static varargs a(Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection",
"<",
"Ljava/lang/String;",
">;[",
"Ljava/lang/String;",
")",
"Ljava/lang/String;"
}
.end annotation
.prologue
.line 366
if-eqz p0, :cond_14
.line 367
array-length v2, p1
const/4 v0, 0x0
move v1, v0
:goto_5
if-ge v1, v2, :cond_14
aget-object v0, p1, v1
.line 368
invoke-interface {p0, v0}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_10
.line 375
:goto_f
return-object v0
.line 367
:cond_10
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_5
.line 375
:cond_14
const/4 v0, 0x0
goto :goto_f
.end method
.method public static a(Landroid/hardware/Camera$Parameters;)V
.registers 5
.prologue
.line 91
invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedFlashModes()Ljava/util/List;
move-result-object v0
.line 99
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/String;
const/4 v2, 0x0
const-string v3, "off"
aput-object v3, v1, v2
invoke-static {v0, v1}, Lcom/cmcm/qrcodelib/camera/d;->a(Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 103
if-eqz v0, :cond_1f
invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getFlashMode()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1f
.line 108
invoke-virtual {p0, v0}, Landroid/hardware/Camera$Parameters;->setFlashMode(Ljava/lang/String;)V
.line 111
:cond_1f
return-void
.end method
.method public static a(Landroid/hardware/Camera$Parameters;Z)V
.registers 7
.prologue
const/4 v4, 0x1
const/4 v3, 0x0
.line 60
invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedFocusModes()Ljava/util/List;
move-result-object v1
.line 64
new-array v0, v4, [Ljava/lang/String;
const-string v2, "auto"
aput-object v2, v0, v3
invoke-static {v1, v0}, Lcom/cmcm/qrcodelib/camera/d;->a(Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 76
if-nez p1, :cond_23
if-nez v0, :cond_23
.line 77
const/4 v0, 0x2
new-array v0, v0, [Ljava/lang/String;
const-string v2, "macro"
aput-object v2, v0, v3
const-string v2, "edof"
aput-object v2, v0, v4
invoke-static {v1, v0}, Lcom/cmcm/qrcodelib/camera/d;->a(Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 81
:cond_23
if-eqz v0, :cond_32
invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getFocusMode()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_32
.line 85
invoke-virtual {p0, v0}, Landroid/hardware/Camera$Parameters;->setFocusMode(Ljava/lang/String;)V
.line 88
:cond_32
return-void
.end method