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