e.smali

.class public final Lcom/cmcm/qrcodelib/camera/e;
.super Ljava/lang/Object;
.source "CameraManager.java"


# instance fields
.field private final LK:Lcom/cmcm/qrcodelib/camera/c;

.field public LL:Lcom/cmcm/qrcodelib/camera/open/a;

.field private LM:Lcom/cmcm/qrcodelib/camera/a;

.field private LN:Landroid/graphics/Rect;

.field private LO:Landroid/graphics/Rect;

.field private volatile LP:Z

.field private volatile LQ:Z

.field private LR:I

.field private LS:I

.field private LU:I

.field private LV:I

.field private final LW:Lcom/cmcm/qrcodelib/camera/f;

.field private final mContext:Landroid/content/Context;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 4

    .prologue
    .line 64
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 53
    const/4 v0, -0x1

    iput v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LR:I

    .line 65
    iput-object p1, p0, Lcom/cmcm/qrcodelib/camera/e;->mContext:Landroid/content/Context;

    .line 66
    new-instance v0, Lcom/cmcm/qrcodelib/camera/c;

    invoke-direct {v0, p1}, Lcom/cmcm/qrcodelib/camera/c;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    .line 67
    new-instance v0, Lcom/cmcm/qrcodelib/camera/f;

    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    invoke-direct {v0, v1}, Lcom/cmcm/qrcodelib/camera/f;-><init>(Lcom/cmcm/qrcodelib/camera/c;)V

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LW:Lcom/cmcm/qrcodelib/camera/f;

    .line 68
    return-void
.end method

.method private fn()I
    .registers 6

    .prologue
    .line 366
    const/4 v0, 0x0

    .line 367
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->mContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v1

    const-string v2, "status_bar_height"

    const-string v3, "dimen"

    const-string v4, "android"

    invoke-virtual {v1, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I

    move-result v1

    .line 368
    if-lez v1, :cond_1d

    .line 369
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I

    move-result v0

    .line 371
    :cond_1d
    return v0
.end method

.method private static w(II)I
    .registers 4

    .prologue
    const/16 v0, 0xf0

    .line 261
    mul-int/lit8 v1, p0, 0x5

    div-int/lit8 v1, v1, 0x8

    .line 262
    if-ge v1, v0, :cond_a

    move p1, v0

    .line 268
    :cond_9
    :goto_9
    return p1

    .line 265
    :cond_a
    if-gt v1, p1, :cond_9

    move p1, v1

    .line 268
    goto :goto_9
.end method

.method private declared-synchronized x(II)V
    .registers 8

    .prologue
    .line 327
    monitor-enter p0

    :try_start_1
    iget-boolean v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LP:Z

    if-eqz v0, :cond_46

    .line 328
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    .line 12193
    iget-object v0, v0, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    .line 329
    iget v1, v0, Landroid/graphics/Point;->x:I

    if-le p1, v1, :cond_f

    .line 330
    iget p1, v0, Landroid/graphics/Point;->x:I

    .line 332
    :cond_f
    iget v1, v0, Landroid/graphics/Point;->y:I

    if-le p2, v1, :cond_15

    .line 333
    iget p2, v0, Landroid/graphics/Point;->y:I

    .line 335
    :cond_15
    invoke-direct {p0}, Lcom/cmcm/qrcodelib/camera/e;->fn()I

    move-result v1

    .line 336
    iget v2, v0, Landroid/graphics/Point;->x:I

    sub-int/2addr v2, p1

    div-int/lit8 v2, v2, 0x2

    .line 337
    iget v0, v0, Landroid/graphics/Point;->y:I

    sub-int/2addr v0, p2

    div-int/lit8 v0, v0, 0x2

    sub-int/2addr v0, v1

    .line 338
    iget v3, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    if-nez v3, :cond_3d

    .line 339
    iput v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    .line 343
    :goto_2a
    new-instance v0, Landroid/graphics/Rect;

    iget v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    add-int v3, v2, p1

    iget v4, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    add-int/2addr v4, p2

    invoke-direct {v0, v2, v1, v3, v4}, Landroid/graphics/Rect;-><init>(IIII)V

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LN:Landroid/graphics/Rect;

    .line 344
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LO:Landroid/graphics/Rect;
    :try_end_3b
    .catchall {:try_start_1 .. :try_end_3b} :catchall_43

    .line 349
    :goto_3b
    monitor-exit p0

    return-void

    .line 341
    :cond_3d
    :try_start_3d
    iget v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    add-int/2addr v0, v1

    iput v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I
    :try_end_42
    .catchall {:try_start_3d .. :try_end_42} :catchall_43

    goto :goto_2a

    .line 327
    :catchall_43
    move-exception v0

    monitor-exit p0

    throw v0

    .line 346
    :cond_46
    :try_start_46
    iput p1, p0, Lcom/cmcm/qrcodelib/camera/e;->LS:I

    .line 347
    iput p2, p0, Lcom/cmcm/qrcodelib/camera/e;->LU:I
    :try_end_4a
    .catchall {:try_start_46 .. :try_end_4a} :catchall_43

    goto :goto_3b
.end method


# virtual methods
.method public final declared-synchronized a(Landroid/os/Handler;)V
    .registers 5

    .prologue
    .line 214
    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    .line 215
    if-eqz v0, :cond_17

    iget-boolean v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LQ:Z

    if-eqz v1, :cond_17

    .line 216
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LW:Lcom/cmcm/qrcodelib/camera/f;

    const/16 v2, 0x64

    invoke-virtual {v1, p1, v2}, Lcom/cmcm/qrcodelib/camera/f;->a(Landroid/os/Handler;I)V

    .line 10039
    iget-object v0, v0, Lcom/cmcm/qrcodelib/camera/open/a;->LB:Landroid/hardware/Camera;

    .line 217
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LW:Lcom/cmcm/qrcodelib/camera/f;

    invoke-virtual {v0, v1}, Landroid/hardware/Camera;->setOneShotPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V
    :try_end_17
    .catchall {:try_start_1 .. :try_end_17} :catchall_19

    .line 219
    :cond_17
    monitor-exit p0

    return-void

    .line 214
    :catchall_19
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final declared-synchronized a(Landroid/view/SurfaceHolder;)V
    .registers 13

    .prologue
    const/4 v1, 0x0

    const/4 v2, 0x1

    const/4 v3, 0x0

    .line 81
    monitor-enter p0

    :try_start_4
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    .line 82
    if-nez v0, :cond_172

    .line 84
    iget v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LR:I

    .line 1046
    invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I

    move-result v7

    .line 1047
    if-nez v7, :cond_1e

    move-object v0, v1

    .line 85
    :goto_11
    if-nez v0, :cond_7c

    .line 86
    new-instance v0, Ljava/io/IOException;

    const-string v1, "Camera.open() failed to return object from driver"

    invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw v0
    :try_end_1b
    .catchall {:try_start_4 .. :try_end_1b} :catchall_1b

    .line 81
    :catchall_1b
    move-exception v0

    monitor-exit p0

    throw v0

    .line 1052
    :cond_1e
    if-ltz v0, :cond_38

    move v5, v2

    .line 1056
    :goto_21
    if-eqz v5, :cond_3a

    .line 1058
    :try_start_23
    new-instance v4, Landroid/hardware/Camera$CameraInfo;

    invoke-direct {v4}, Landroid/hardware/Camera$CameraInfo;-><init>()V

    .line 1059
    invoke-static {v0, v4}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V

    move v6, v0

    .line 1075
    :goto_2c
    if-ge v6, v7, :cond_56

    .line 1077
    invoke-static {v6}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;

    move-result-object v0

    move-object v5, v4

    move-object v4, v0

    .line 1090
    :goto_34
    if-nez v4, :cond_6c

    move-object v0, v1

    .line 1091
    goto :goto_11

    :cond_38
    move v5, v3

    .line 1052
    goto :goto_21

    :cond_3a
    move v0, v3

    .line 1062
    :goto_3b
    if-ge v0, v7, :cond_16e

    .line 1063
    new-instance v4, Landroid/hardware/Camera$CameraInfo;

    invoke-direct {v4}, Landroid/hardware/Camera$CameraInfo;-><init>()V

    .line 1064
    invoke-static {v0, v4}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V

    .line 1065
    invoke-static {}, Lcom/cmcm/qrcodelib/camera/open/CameraFacing;->values()[Lcom/cmcm/qrcodelib/camera/open/CameraFacing;

    move-result-object v6

    iget v8, v4, Landroid/hardware/Camera$CameraInfo;->facing:I

    aget-object v6, v6, v8

    .line 1066
    sget-object v8, Lcom/cmcm/qrcodelib/camera/open/CameraFacing;->BACK:Lcom/cmcm/qrcodelib/camera/open/CameraFacing;

    if-ne v6, v8, :cond_53

    move v6, v0

    .line 1068
    goto :goto_2c

    .line 1070
    :cond_53
    add-int/lit8 v0, v0, 0x1

    .line 1071
    goto :goto_3b

    .line 1079
    :cond_56
    if-eqz v5, :cond_5b

    move-object v5, v4

    move-object v4, v1

    .line 1081
    goto :goto_34

    .line 1084
    :cond_5b
    const/4 v0, 0x0

    invoke-static {v0}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;

    move-result-object v0

    .line 1085
    new-instance v4, Landroid/hardware/Camera$CameraInfo;

    invoke-direct {v4}, Landroid/hardware/Camera$CameraInfo;-><init>()V

    .line 1086
    const/4 v5, 0x0

    invoke-static {v5, v4}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V

    move-object v5, v4

    move-object v4, v0

    goto :goto_34

    .line 1093
    :cond_6c
    new-instance v0, Lcom/cmcm/qrcodelib/camera/open/a;

    invoke-static {}, Lcom/cmcm/qrcodelib/camera/open/CameraFacing;->values()[Lcom/cmcm/qrcodelib/camera/open/CameraFacing;

    move-result-object v7

    iget v8, v5, Landroid/hardware/Camera$CameraInfo;->facing:I

    aget-object v7, v7, v8

    iget v5, v5, Landroid/hardware/Camera$CameraInfo;->orientation:I

    invoke-direct {v0, v6, v4, v7, v5}, Lcom/cmcm/qrcodelib/camera/open/a;-><init>(ILandroid/hardware/Camera;Lcom/cmcm/qrcodelib/camera/open/CameraFacing;I)V

    goto :goto_11

    .line 88
    :cond_7c
    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    move-object v5, v0

    .line 91
    :goto_7f
    iget-boolean v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LP:Z

    if-nez v0, :cond_115

    .line 92
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LP:Z

    .line 93
    iget-object v6, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    .line 3039
    iget-object v0, v5, Lcom/cmcm/qrcodelib/camera/open/a;->LB:Landroid/hardware/Camera;

    .line 2058
    invoke-virtual {v0}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;

    move-result-object v7

    .line 2059
    iget-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->zn:Landroid/content/Context;

    const-string v4, "window"

    .line 2060
    invoke-virtual {v0, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/WindowManager;

    .line 2061
    invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v8

    .line 2063
    invoke-virtual {v8}, Landroid/view/Display;->getRotation()I

    move-result v0

    .line 2065
    packed-switch v0, :pswitch_data_176

    .line 2080
    rem-int/lit8 v4, v0, 0x5a

    if-nez v4, :cond_13a

    .line 2081
    add-int/lit16 v0, v0, 0x168

    rem-int/lit16 v0, v0, 0x168

    move v4, v0

    .line 3047
    :goto_ac
    iget v0, v5, Lcom/cmcm/qrcodelib/camera/open/a;->orientation:I

    .line 4043
    iget-object v9, v5, Lcom/cmcm/qrcodelib/camera/open/a;->Mb:Lcom/cmcm/qrcodelib/camera/open/CameraFacing;

    .line 2090
    sget-object v10, Lcom/cmcm/qrcodelib/camera/open/CameraFacing;->FRONT:Lcom/cmcm/qrcodelib/camera/open/CameraFacing;

    if-ne v9, v10, :cond_b8

    .line 2091
    rsub-int v0, v0, 0x168

    rem-int/lit16 v0, v0, 0x168

    .line 2094
    :cond_b8
    add-int/lit16 v0, v0, 0x168

    sub-int/2addr v0, v4

    rem-int/lit16 v0, v0, 0x168

    iput v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LG:I

    .line 2097
    sget-object v0, Lcom/cmcm/qrcodelib/camera/open/CameraFacing;->FRONT:Lcom/cmcm/qrcodelib/camera/open/CameraFacing;

    .line 2103
    new-instance v0, Landroid/graphics/Point;

    invoke-direct {v0}, Landroid/graphics/Point;-><init>()V

    .line 2104
    invoke-virtual {v8, v0}, Landroid/view/Display;->getSize(Landroid/graphics/Point;)V

    .line 2105
    iput-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    .line 2106
    iget-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    invoke-static {v7, v0}, Lcom/cmcm/qrcodelib/camera/d;->a(Landroid/hardware/Camera$Parameters;Landroid/graphics/Point;)Landroid/graphics/Point;

    move-result-object v0

    iput-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LI:Landroid/graphics/Point;

    .line 2108
    iget-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    invoke-static {v7, v0}, Lcom/cmcm/qrcodelib/camera/d;->a(Landroid/hardware/Camera$Parameters;Landroid/graphics/Point;)Landroid/graphics/Point;

    move-result-object v0

    iput-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LJ:Landroid/graphics/Point;

    .line 2111
    iget-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    iget v0, v0, Landroid/graphics/Point;->x:I

    iget-object v4, v6, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    iget v4, v4, Landroid/graphics/Point;->y:I

    if-ge v0, v4, :cond_14f

    move v4, v2

    .line 2112
    :goto_e6
    iget-object v0, v6, Lcom/cmcm/qrcodelib/camera/c;->LJ:Landroid/graphics/Point;

    iget v0, v0, Landroid/graphics/Point;->x:I

    iget-object v7, v6, Lcom/cmcm/qrcodelib/camera/c;->LJ:Landroid/graphics/Point;

    iget v7, v7, Landroid/graphics/Point;->y:I

    if-ge v0, v7, :cond_151

    move v0, v2

    .line 2114
    :goto_f1
    if-eq v4, v0, :cond_100

    .line 2117
    new-instance v0, Landroid/graphics/Point;

    iget-object v2, v6, Lcom/cmcm/qrcodelib/camera/c;->LJ:Landroid/graphics/Point;

    iget v2, v2, Landroid/graphics/Point;->y:I

    iget-object v3, v6, Lcom/cmcm/qrcodelib/camera/c;->LJ:Landroid/graphics/Point;

    iget v3, v3, Landroid/graphics/Point;->x:I

    invoke-direct {v0, v2, v3}, Landroid/graphics/Point;-><init>(II)V

    .line 94
    :cond_100
    iget v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LS:I

    if-lez v0, :cond_115

    iget v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LU:I

    if-lez v0, :cond_115

    .line 95
    iget v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LS:I

    iget v2, p0, Lcom/cmcm/qrcodelib/camera/e;->LU:I

    invoke-direct {p0, v0, v2}, Lcom/cmcm/qrcodelib/camera/e;->x(II)V

    .line 96
    const/4 v0, 0x0

    iput v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LS:I

    .line 97
    const/4 v0, 0x0

    iput v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LU:I

    .line 5039
    :cond_115
    iget-object v2, v5, Lcom/cmcm/qrcodelib/camera/open/a;->LB:Landroid/hardware/Camera;

    .line 102
    invoke-virtual {v2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
    :try_end_11a
    .catchall {:try_start_23 .. :try_end_11a} :catchall_1b

    move-result-object v0

    .line 103
    if-nez v0, :cond_153

    move-object v0, v1

    .line 106
    :goto_11e
    :try_start_11e
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    const/4 v3, 0x0

    invoke-virtual {v1, v5, v3}, Lcom/cmcm/qrcodelib/camera/c;->a(Lcom/cmcm/qrcodelib/camera/open/a;Z)V
    :try_end_124
    .catch Ljava/lang/RuntimeException; {:try_start_11e .. :try_end_124} :catch_158
    .catchall {:try_start_11e .. :try_end_124} :catchall_1b

    .line 125
    :cond_124
    :goto_124
    :try_start_124
    invoke-virtual {v2, p1}, Landroid/hardware/Camera;->setPreviewDisplay(Landroid/view/SurfaceHolder;)V
    :try_end_127
    .catchall {:try_start_124 .. :try_end_127} :catchall_1b

    .line 126
    monitor-exit p0

    return-void

    :pswitch_129
    move v4, v3

    .line 2068
    goto :goto_ac

    .line 2070
    :pswitch_12b
    const/16 v0, 0x5a

    move v4, v0

    .line 2071
    goto/16 :goto_ac

    .line 2073
    :pswitch_130
    const/16 v0, 0xb4

    move v4, v0

    .line 2074
    goto/16 :goto_ac

    .line 2076
    :pswitch_135
    const/16 v0, 0x10e

    move v4, v0

    .line 2077
    goto/16 :goto_ac

    .line 2083
    :cond_13a
    :try_start_13a
    new-instance v1, Ljava/lang/IllegalArgumentException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Bad rotation: "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v1

    :cond_14f
    move v4, v3

    .line 2111
    goto :goto_e6

    :cond_151
    move v0, v3

    .line 2112
    goto :goto_f1

    .line 103
    :cond_153
    invoke-virtual {v0}, Landroid/hardware/Camera$Parameters;->flatten()Ljava/lang/String;

    move-result-object v0

    goto :goto_11e

    .line 112
    :catch_158
    move-exception v1

    if-eqz v0, :cond_124

    .line 113
    invoke-virtual {v2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;

    move-result-object v1

    .line 114
    invoke-virtual {v1, v0}, Landroid/hardware/Camera$Parameters;->unflatten(Ljava/lang/String;)V
    :try_end_162
    .catchall {:try_start_13a .. :try_end_162} :catchall_1b

    .line 116
    :try_start_162
    invoke-virtual {v2, v1}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V

    .line 117
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    const/4 v1, 0x1

    invoke-virtual {v0, v5, v1}, Lcom/cmcm/qrcodelib/camera/c;->a(Lcom/cmcm/qrcodelib/camera/open/a;Z)V
    :try_end_16b
    .catch Ljava/lang/RuntimeException; {:try_start_162 .. :try_end_16b} :catch_16c
    .catchall {:try_start_162 .. :try_end_16b} :catchall_1b

    goto :goto_124

    :catch_16c
    move-exception v0

    goto :goto_124

    :cond_16e
    move v6, v0

    move-object v4, v1

    goto/16 :goto_2c

    :cond_172
    move-object v5, v0

    goto/16 :goto_7f

    .line 2065
    nop

    :pswitch_data_176
    .packed-switch 0x0
        :pswitch_129
        :pswitch_12b
        :pswitch_130
        :pswitch_135
    .end packed-switch
.end method

.method public final declared-synchronized fk()V
    .registers 2

    .prologue
    .line 140
    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    if-eqz v0, :cond_15

    .line 141
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    .line 6039
    iget-object v0, v0, Lcom/cmcm/qrcodelib/camera/open/a;->LB:Landroid/hardware/Camera;

    .line 141
    invoke-virtual {v0}, Landroid/hardware/Camera;->release()V

    .line 142
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    .line 145
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LN:Landroid/graphics/Rect;

    .line 146
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LO:Landroid/graphics/Rect;
    :try_end_15
    .catchall {:try_start_1 .. :try_end_15} :catchall_17

    .line 148
    :cond_15
    monitor-exit p0

    return-void

    .line 140
    :catchall_17
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final declared-synchronized fl()Landroid/graphics/Rect;
    .registers 7

    .prologue
    const/4 v0, 0x0

    .line 229
    monitor-enter p0

    :try_start_2
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LN:Landroid/graphics/Rect;

    if-nez v1, :cond_4c

    .line 230
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;
    :try_end_8
    .catchall {:try_start_2 .. :try_end_8} :catchall_5e

    if-nez v1, :cond_c

    .line 257
    :cond_a
    :goto_a
    monitor-exit p0

    return-object v0

    .line 233
    :cond_c
    :try_start_c
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    .line 10193
    iget-object v2, v1, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    .line 234
    if-eqz v2, :cond_a

    .line 239
    iget v0, v2, Landroid/graphics/Point;->x:I

    const/16 v1, 0x4b0

    invoke-static {v0, v1}, Lcom/cmcm/qrcodelib/camera/e;->w(II)I

    move-result v1

    .line 241
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;

    move-result-object v0

    iget v0, v0, Landroid/content/res/Configuration;->orientation:I

    const/4 v3, 0x1

    if-ne v0, v3, :cond_4f

    move v0, v1

    .line 247
    :goto_2a
    invoke-direct {p0}, Lcom/cmcm/qrcodelib/camera/e;->fn()I

    move-result v3

    .line 248
    iget v4, v2, Landroid/graphics/Point;->x:I

    sub-int/2addr v4, v1

    div-int/lit8 v4, v4, 0x2

    .line 249
    iget v2, v2, Landroid/graphics/Point;->y:I

    sub-int/2addr v2, v0

    div-int/lit8 v2, v2, 0x2

    sub-int/2addr v2, v3

    .line 250
    iget v5, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    if-nez v5, :cond_58

    .line 251
    iput v2, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    .line 255
    :goto_3f
    new-instance v2, Landroid/graphics/Rect;

    iget v3, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    add-int/2addr v1, v4

    iget v5, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    add-int/2addr v0, v5

    invoke-direct {v2, v4, v3, v1, v0}, Landroid/graphics/Rect;-><init>(IIII)V

    iput-object v2, p0, Lcom/cmcm/qrcodelib/camera/e;->LN:Landroid/graphics/Rect;

    .line 257
    :cond_4c
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LN:Landroid/graphics/Rect;

    goto :goto_a

    .line 245
    :cond_4f
    iget v0, v2, Landroid/graphics/Point;->y:I

    const/16 v3, 0x2a3

    invoke-static {v0, v3}, Lcom/cmcm/qrcodelib/camera/e;->w(II)I

    move-result v0

    goto :goto_2a

    .line 253
    :cond_58
    iget v2, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I

    add-int/2addr v2, v3

    iput v2, p0, Lcom/cmcm/qrcodelib/camera/e;->LV:I
    :try_end_5d
    .catchall {:try_start_c .. :try_end_5d} :catchall_5e

    goto :goto_3f

    .line 229
    :catchall_5e
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final declared-synchronized fm()Landroid/graphics/Rect;
    .registers 6

    .prologue
    const/4 v0, 0x0

    .line 278
    monitor-enter p0

    :try_start_2
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LO:Landroid/graphics/Rect;

    if-nez v1, :cond_58

    .line 279
    invoke-virtual {p0}, Lcom/cmcm/qrcodelib/camera/e;->fl()Landroid/graphics/Rect;
    :try_end_9
    .catchall {:try_start_2 .. :try_end_9} :catchall_84

    move-result-object v1

    .line 280
    if-nez v1, :cond_e

    .line 305
    :cond_c
    :goto_c
    monitor-exit p0

    return-object v0

    .line 283
    :cond_e
    :try_start_e
    new-instance v2, Landroid/graphics/Rect;

    invoke-direct {v2, v1}, Landroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V

    .line 284
    iget-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    .line 11189
    iget-object v1, v1, Lcom/cmcm/qrcodelib/camera/c;->LI:Landroid/graphics/Point;

    .line 285
    iget-object v3, p0, Lcom/cmcm/qrcodelib/camera/e;->LK:Lcom/cmcm/qrcodelib/camera/c;

    .line 11193
    iget-object v3, v3, Lcom/cmcm/qrcodelib/camera/c;->LH:Landroid/graphics/Point;

    .line 286
    if-eqz v1, :cond_c

    if-eqz v3, :cond_c

    .line 292
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;

    move-result-object v0

    iget v0, v0, Landroid/content/res/Configuration;->orientation:I

    const/4 v4, 0x1

    if-ne v0, v4, :cond_5b

    .line 293
    iget v0, v2, Landroid/graphics/Rect;->left:I

    iget v4, v1, Landroid/graphics/Point;->y:I

    mul-int/2addr v0, v4

    iget v4, v3, Landroid/graphics/Point;->x:I

    div-int/2addr v0, v4

    iput v0, v2, Landroid/graphics/Rect;->left:I

    .line 294
    iget v0, v2, Landroid/graphics/Rect;->right:I

    iget v4, v1, Landroid/graphics/Point;->y:I

    mul-int/2addr v0, v4

    iget v4, v3, Landroid/graphics/Point;->x:I

    div-int/2addr v0, v4

    iput v0, v2, Landroid/graphics/Rect;->right:I

    .line 295
    iget v0, v2, Landroid/graphics/Rect;->top:I

    iget v4, v1, Landroid/graphics/Point;->x:I

    mul-int/2addr v0, v4

    iget v4, v3, Landroid/graphics/Point;->y:I

    div-int/2addr v0, v4

    iput v0, v2, Landroid/graphics/Rect;->top:I

    .line 296
    iget v0, v2, Landroid/graphics/Rect;->bottom:I

    iget v1, v1, Landroid/graphics/Point;->x:I

    mul-int/2addr v0, v1

    iget v1, v3, Landroid/graphics/Point;->y:I

    div-int/2addr v0, v1

    iput v0, v2, Landroid/graphics/Rect;->bottom:I

    .line 303
    :goto_56
    iput-object v2, p0, Lcom/cmcm/qrcodelib/camera/e;->LO:Landroid/graphics/Rect;

    .line 305
    :cond_58
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LO:Landroid/graphics/Rect;

    goto :goto_c

    .line 298
    :cond_5b
    iget v0, v2, Landroid/graphics/Rect;->left:I

    iget v4, v1, Landroid/graphics/Point;->x:I

    mul-int/2addr v0, v4

    iget v4, v3, Landroid/graphics/Point;->x:I

    div-int/2addr v0, v4

    iput v0, v2, Landroid/graphics/Rect;->left:I

    .line 299
    iget v0, v2, Landroid/graphics/Rect;->right:I

    iget v4, v1, Landroid/graphics/Point;->x:I

    mul-int/2addr v0, v4

    iget v4, v3, Landroid/graphics/Point;->x:I

    div-int/2addr v0, v4

    iput v0, v2, Landroid/graphics/Rect;->right:I

    .line 300
    iget v0, v2, Landroid/graphics/Rect;->top:I

    iget v4, v1, Landroid/graphics/Point;->y:I

    mul-int/2addr v0, v4

    iget v4, v3, Landroid/graphics/Point;->y:I

    div-int/2addr v0, v4

    iput v0, v2, Landroid/graphics/Rect;->top:I

    .line 301
    iget v0, v2, Landroid/graphics/Rect;->bottom:I

    iget v1, v1, Landroid/graphics/Point;->y:I

    mul-int/2addr v0, v1

    iget v1, v3, Landroid/graphics/Point;->y:I

    div-int/2addr v0, v1

    iput v0, v2, Landroid/graphics/Rect;->bottom:I
    :try_end_83
    .catchall {:try_start_e .. :try_end_83} :catchall_84

    goto :goto_56

    .line 278
    :catchall_84
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final declared-synchronized isOpen()Z
    .registers 2

    .prologue
    .line 129
    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;
    :try_end_3
    .catchall {:try_start_1 .. :try_end_3} :catchall_a

    if-eqz v0, :cond_8

    const/4 v0, 0x1

    :goto_6
    monitor-exit p0

    return v0

    :cond_8
    const/4 v0, 0x0

    goto :goto_6

    :catchall_a
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final declared-synchronized startPreview()V
    .registers 3

    .prologue
    .line 154
    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    .line 155
    if-eqz v0, :cond_1a

    iget-boolean v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LQ:Z

    if-nez v1, :cond_1a

    .line 7039
    iget-object v1, v0, Lcom/cmcm/qrcodelib/camera/open/a;->LB:Landroid/hardware/Camera;

    .line 156
    invoke-virtual {v1}, Landroid/hardware/Camera;->startPreview()V

    .line 157
    const/4 v1, 0x1

    iput-boolean v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LQ:Z

    .line 158
    new-instance v1, Lcom/cmcm/qrcodelib/camera/a;

    .line 8039
    iget-object v0, v0, Lcom/cmcm/qrcodelib/camera/open/a;->LB:Landroid/hardware/Camera;

    .line 158
    invoke-direct {v1, v0}, Lcom/cmcm/qrcodelib/camera/a;-><init>(Landroid/hardware/Camera;)V

    iput-object v1, p0, Lcom/cmcm/qrcodelib/camera/e;->LM:Lcom/cmcm/qrcodelib/camera/a;
    :try_end_1a
    .catchall {:try_start_1 .. :try_end_1a} :catchall_1c

    .line 160
    :cond_1a
    monitor-exit p0

    return-void

    .line 154
    :catchall_1c
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public final declared-synchronized stopPreview()V
    .registers 4

    .prologue
    .line 166
    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LM:Lcom/cmcm/qrcodelib/camera/a;

    if-eqz v0, :cond_d

    .line 167
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LM:Lcom/cmcm/qrcodelib/camera/a;

    invoke-virtual {v0}, Lcom/cmcm/qrcodelib/camera/a;->stop()V

    .line 168
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LM:Lcom/cmcm/qrcodelib/camera/a;

    .line 170
    :cond_d
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    if-eqz v0, :cond_26

    iget-boolean v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LQ:Z

    if-eqz v0, :cond_26

    .line 171
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LL:Lcom/cmcm/qrcodelib/camera/open/a;

    .line 9039
    iget-object v0, v0, Lcom/cmcm/qrcodelib/camera/open/a;->LB:Landroid/hardware/Camera;

    .line 171
    invoke-virtual {v0}, Landroid/hardware/Camera;->stopPreview()V

    .line 172
    iget-object v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LW:Lcom/cmcm/qrcodelib/camera/f;

    const/4 v1, 0x0

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Lcom/cmcm/qrcodelib/camera/f;->a(Landroid/os/Handler;I)V

    .line 173
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/cmcm/qrcodelib/camera/e;->LQ:Z
    :try_end_26
    .catchall {:try_start_1 .. :try_end_26} :catchall_28

    .line 175
    :cond_26
    monitor-exit p0

    return-void

    .line 166
    :catchall_28
    move-exception v0

    monitor-exit p0

    throw v0
.end method