CameraManager.smali
.class public final Lcom/king/zxing/camera/CameraManager;
.super Ljava/lang/Object;
.source "CameraManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/king/zxing/camera/CameraManager$OnSensorListener;,
Lcom/king/zxing/camera/CameraManager$OnTorchListener;
}
.end annotation
# static fields
.field private static final MAX_FRAME_HEIGHT:I
.field private static final MAX_FRAME_WIDTH:I
.field private static final MIN_FRAME_HEIGHT:I
.field private static final MIN_FRAME_WIDTH:I
# instance fields
.field private autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
.field private camera:Lcom/king/zxing/camera/open/OpenCamera;
.field private final configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
.field private final context:Landroid/content/Context;
.field private framingRect:Landroid/graphics/Rect;
.field private framingRectHorizontalOffset:I
.field private framingRectInPreview:Landroid/graphics/Rect;
.field private framingRectRatio:F
.field private framingRectVerticalOffset:I
.field private initialized:Z
.field private isFullScreenScan:Z
.field private isTorch:Z
.field private onSensorListener:Lcom/king/zxing/camera/CameraManager$OnSensorListener;
.field private onTorchListener:Lcom/king/zxing/camera/CameraManager$OnTorchListener;
.field private final previewCallback:Lcom/king/zxing/camera/PreviewCallback;
.field private previewing:Z
.field private requestedCameraId:I
.field private requestedFramingRectHeight:I
.field private requestedFramingRectWidth:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x17cc
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/camera/CameraManager;->MAX_FRAME_HEIGHT:I
const v0, 0x11df
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/camera/CameraManager;->MAX_FRAME_WIDTH:I
const v0, 0x159f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/camera/CameraManager;->MIN_FRAME_HEIGHT:I
const v0, 0x159f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/camera/CameraManager;->MIN_FRAME_WIDTH:I
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 4
.param p1, "context" # Landroid/content/Context;
.line 79
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 59
const/4 v0, -0x1
iput v0, p0, Lcom/king/zxing/camera/CameraManager;->requestedCameraId:I
.line 80
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Lcom/king/zxing/camera/CameraManager;->context:Landroid/content/Context;
.line 81
new-instance v0, Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-direct {v0, p1}, Lcom/king/zxing/camera/CameraConfigurationManager;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
.line 82
new-instance v0, Lcom/king/zxing/camera/PreviewCallback;
iget-object v1, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-direct {v0, v1}, Lcom/king/zxing/camera/PreviewCallback;-><init>(Lcom/king/zxing/camera/CameraConfigurationManager;)V
iput-object v0, p0, Lcom/king/zxing/camera/CameraManager;->previewCallback:Lcom/king/zxing/camera/PreviewCallback;
.line 83
return-void
.end method
# virtual methods
.method public buildLuminanceSource([BII)Lcom/google/zxing/PlanarYUVLuminanceSource;
.registers 19
.param p1, "data" # [B
.param p2, "width" # I
.param p3, "height" # I
.line 379
move-object v0, p0
invoke-virtual {p0}, Lcom/king/zxing/camera/CameraManager;->getFramingRectInPreview()Landroid/graphics/Rect;
move-result-object v1
.line 380
.local v1, "rect":Landroid/graphics/Rect;
if-nez v1, :cond_9
.line 381
const/4 v2, 0x0
return-object v2
.line 384
:cond_9
iget-boolean v2, v0, Lcom/king/zxing/camera/CameraManager;->isFullScreenScan:Z
if-eqz v2, :cond_21
.line 385
new-instance v2, Lcom/google/zxing/PlanarYUVLuminanceSource;
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v11, 0x0
move-object v3, v2
move-object/from16 v4, p1
move/from16 v5, p2
move/from16 v6, p3
move/from16 v9, p2
move/from16 v10, p3
invoke-direct/range {v3 .. v11}, Lcom/google/zxing/PlanarYUVLuminanceSource;-><init>([BIIIIIIZ)V
return-object v2
.line 387
:cond_21
invoke-static/range {p2 .. p3}, Ljava/lang/Math;->min(II)I
move-result v2
int-to-float v2, v2
iget v3, v0, Lcom/king/zxing/camera/CameraManager;->framingRectRatio:F
mul-float v2, v2, v3
float-to-int v2, v2
.line 388
.local v2, "size":I
sub-int v3, p2, v2
div-int/lit8 v3, v3, 0x2
iget v4, v0, Lcom/king/zxing/camera/CameraManager;->framingRectHorizontalOffset:I
add-int v12, v3, v4
.line 389
.local v12, "left":I
sub-int v3, p3, v2
div-int/lit8 v3, v3, 0x2
iget v4, v0, Lcom/king/zxing/camera/CameraManager;->framingRectVerticalOffset:I
add-int v13, v3, v4
.line 391
.local v13, "top":I
new-instance v14, Lcom/google/zxing/PlanarYUVLuminanceSource;
const/4 v11, 0x0
move-object v3, v14
move-object/from16 v4, p1
move/from16 v5, p2
move/from16 v6, p3
move v7, v12
move v8, v13
move v9, v2
move v10, v2
invoke-direct/range {v3 .. v11}, Lcom/google/zxing/PlanarYUVLuminanceSource;-><init>([BIIIIIIZ)V
return-object v14
.end method
.method public closeDriver()V
.registers 3
.line 149
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
if-eqz v0, :cond_12
.line 150
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v0
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 151
const/4 v0, 0x0
iput-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
.line 154
iput-object v0, p0, Lcom/king/zxing/camera/CameraManager;->framingRect:Landroid/graphics/Rect;
.line 155
iput-object v0, p0, Lcom/king/zxing/camera/CameraManager;->framingRectInPreview:Landroid/graphics/Rect;
.line 157
:cond_12
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/king/zxing/camera/CameraManager;->isTorch:Z
.line 158
iget-object v1, p0, Lcom/king/zxing/camera/CameraManager;->onTorchListener:Lcom/king/zxing/camera/CameraManager$OnTorchListener;
if-eqz v1, :cond_1c
.line 159
invoke-interface {v1, v0}, Lcom/king/zxing/camera/CameraManager$OnTorchListener;->onTorchChanged(Z)V
.line 161
:cond_1c
return-void
.end method
.method public getCameraResolution()Landroid/graphics/Point;
.registers 2
.line 325
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v0}, Lcom/king/zxing/camera/CameraConfigurationManager;->getCameraResolution()Landroid/graphics/Point;
move-result-object v0
return-object v0
.end method
.method public declared-synchronized getFramingRect()Landroid/graphics/Rect;
.registers 10
monitor-enter p0
.line 243
:try_start_1
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->framingRect:Landroid/graphics/Rect;
if-nez v0, :cond_4a
.line 244
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
:try_end_7
.catchall {:try_start_1 .. :try_end_7} :catchall_4e
const/4 v1, 0x0
if-nez v0, :cond_c
.line 245
monitor-exit p0
return-object v1
.line 247
:cond_c
:try_start_c
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v0}, Lcom/king/zxing/camera/CameraConfigurationManager;->getCameraResolution()Landroid/graphics/Point;
move-result-object v0
:try_end_12
.catchall {:try_start_c .. :try_end_12} :catchall_4e
.line 248
.local v0, "point":Landroid/graphics/Point;
if-nez v0, :cond_16
.line 250
monitor-exit p0
return-object v1
.line 253
:cond_16
:try_start_16
iget v1, v0, Landroid/graphics/Point;->x:I
.line 254
.local v1, "width":I
iget v2, v0, Landroid/graphics/Point;->y:I
.line 256
.local v2, "height":I
iget-boolean v3, p0, Lcom/king/zxing/camera/CameraManager;->isFullScreenScan:Z
if-eqz v3, :cond_27
.line 257
new-instance v3, Landroid/graphics/Rect;
const/4 v4, 0x0
invoke-direct {v3, v4, v4, v1, v2}, Landroid/graphics/Rect;-><init>(IIII)V
iput-object v3, p0, Lcom/king/zxing/camera/CameraManager;->framingRect:Landroid/graphics/Rect;
goto :goto_4a
.line 259
.end local p0 # "this":Lcom/king/zxing/camera/CameraManager;
:cond_27
invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I
move-result v3
int-to-float v3, v3
iget v4, p0, Lcom/king/zxing/camera/CameraManager;->framingRectRatio:F
mul-float v3, v3, v4
float-to-int v3, v3
.line 261
.local v3, "size":I
sub-int v4, v1, v3
div-int/lit8 v4, v4, 0x2
iget v5, p0, Lcom/king/zxing/camera/CameraManager;->framingRectHorizontalOffset:I
add-int/2addr v4, v5
.line 262
.local v4, "leftOffset":I
sub-int v5, v2, v3
div-int/lit8 v5, v5, 0x2
iget v6, p0, Lcom/king/zxing/camera/CameraManager;->framingRectVerticalOffset:I
add-int/2addr v5, v6
.line 263
.local v5, "topOffset":I
new-instance v6, Landroid/graphics/Rect;
add-int v7, v4, v3
add-int v8, v5, v3
invoke-direct {v6, v4, v5, v7, v8}, Landroid/graphics/Rect;-><init>(IIII)V
iput-object v6, p0, Lcom/king/zxing/camera/CameraManager;->framingRect:Landroid/graphics/Rect;
.line 267
.end local v0 # "point":Landroid/graphics/Point;
.end local v1 # "width":I
.end local v2 # "height":I
.end local v3 # "size":I
.end local v4 # "leftOffset":I
.end local v5 # "topOffset":I
:cond_4a
:goto_4a
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->framingRect:Landroid/graphics/Rect;
:try_end_4c
.catchall {:try_start_16 .. :try_end_4c} :catchall_4e
monitor-exit p0
return-object v0
.line 242
:catchall_4e
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getFramingRectInPreview()Landroid/graphics/Rect;
.registers 7
monitor-enter p0
.line 278
:try_start_1
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->framingRectInPreview:Landroid/graphics/Rect;
if-nez v0, :cond_55
.line 279
invoke-virtual {p0}, Lcom/king/zxing/camera/CameraManager;->getFramingRect()Landroid/graphics/Rect;
move-result-object v0
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_59
.line 280
.local v0, "framingRect":Landroid/graphics/Rect;
const/4 v1, 0x0
if-nez v0, :cond_e
.line 281
monitor-exit p0
return-object v1
.line 283
:cond_e
:try_start_e
new-instance v2, Landroid/graphics/Rect;
invoke-direct {v2, v0}, Landroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
.line 284
.local v2, "rect":Landroid/graphics/Rect;
iget-object v3, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v3}, Lcom/king/zxing/camera/CameraConfigurationManager;->getCameraResolution()Landroid/graphics/Point;
move-result-object v3
.line 285
.local v3, "cameraResolution":Landroid/graphics/Point;
iget-object v4, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v4}, Lcom/king/zxing/camera/CameraConfigurationManager;->getScreenResolution()Landroid/graphics/Point;
move-result-object v4
.line 286
.local v4, "screenResolution":Landroid/graphics/Point;
if-eqz v3, :cond_53
if-nez v4, :cond_24
goto :goto_53
.line 296
:cond_24
iget v1, v2, Landroid/graphics/Rect;->left:I
iget v5, v3, Landroid/graphics/Point;->y:I
mul-int v1, v1, v5
iget v5, v4, Landroid/graphics/Point;->x:I
div-int/2addr v1, v5
iput v1, v2, Landroid/graphics/Rect;->left:I
.line 297
iget v1, v2, Landroid/graphics/Rect;->right:I
iget v5, v3, Landroid/graphics/Point;->y:I
mul-int v1, v1, v5
iget v5, v4, Landroid/graphics/Point;->x:I
div-int/2addr v1, v5
iput v1, v2, Landroid/graphics/Rect;->right:I
.line 298
iget v1, v2, Landroid/graphics/Rect;->top:I
iget v5, v3, Landroid/graphics/Point;->x:I
mul-int v1, v1, v5
iget v5, v4, Landroid/graphics/Point;->y:I
div-int/2addr v1, v5
iput v1, v2, Landroid/graphics/Rect;->top:I
.line 299
iget v1, v2, Landroid/graphics/Rect;->bottom:I
iget v5, v3, Landroid/graphics/Point;->x:I
mul-int v1, v1, v5
iget v5, v4, Landroid/graphics/Point;->y:I
div-int/2addr v1, v5
iput v1, v2, Landroid/graphics/Rect;->bottom:I
.line 302
iput-object v2, p0, Lcom/king/zxing/camera/CameraManager;->framingRectInPreview:Landroid/graphics/Rect;
:try_end_52
.catchall {:try_start_e .. :try_end_52} :catchall_59
goto :goto_55
.line 288
.end local p0 # "this":Lcom/king/zxing/camera/CameraManager;
:cond_53
:goto_53
monitor-exit p0
return-object v1
.line 305
.end local v0 # "framingRect":Landroid/graphics/Rect;
.end local v2 # "rect":Landroid/graphics/Rect;
.end local v3 # "cameraResolution":Landroid/graphics/Point;
.end local v4 # "screenResolution":Landroid/graphics/Point;
:cond_55
:goto_55
:try_start_55
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->framingRectInPreview:Landroid/graphics/Rect;
:try_end_57
.catchall {:try_start_55 .. :try_end_57} :catchall_59
monitor-exit p0
return-object v0
.line 277
:catchall_59
move-exception v0
monitor-exit p0
throw v0
.end method
.method public getOpenCamera()Lcom/king/zxing/camera/open/OpenCamera;
.registers 2
.line 142
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
return-object v0
.end method
.method public getScreenResolution()Landroid/graphics/Point;
.registers 2
.line 329
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v0}, Lcom/king/zxing/camera/CameraConfigurationManager;->getScreenResolution()Landroid/graphics/Point;
move-result-object v0
return-object v0
.end method
.method public declared-synchronized isOpen()Z
.registers 2
monitor-enter p0
.line 138
:try_start_1
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_a
if-eqz v0, :cond_7
const/4 v0, 0x1
goto :goto_8
:cond_7
const/4 v0, 0x0
:goto_8
monitor-exit p0
return v0
.end local p0 # "this":Lcom/king/zxing/camera/CameraManager;
:catchall_a
move-exception v0
monitor-exit p0
throw v0
.end method
.method public openDriver(Landroid/view/SurfaceHolder;)V
.registers 10
.param p1, "holder" # Landroid/view/SurfaceHolder;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 92
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
.line 93
.local v0, "theCamera":Lcom/king/zxing/camera/open/OpenCamera;
if-nez v0, :cond_17
.line 94
iget v1, p0, Lcom/king/zxing/camera/CameraManager;->requestedCameraId:I
invoke-static {v1}, Lcom/king/zxing/camera/open/OpenCameraInterface;->open(I)Lcom/king/zxing/camera/open/OpenCamera;
move-result-object v0
.line 95
if-eqz v0, :cond_f
.line 98
iput-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
goto :goto_17
.line 96
:cond_f
new-instance v1, Ljava/io/IOException;
const-string v2, "Camera.open() failed to return object from driver"
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 101
:cond_17
:goto_17
iget-boolean v1, p0, Lcom/king/zxing/camera/CameraManager;->initialized:Z
const/4 v2, 0x1
const/4 v3, 0x0
if-nez v1, :cond_33
.line 102
iput-boolean v2, p0, Lcom/king/zxing/camera/CameraManager;->initialized:Z
.line 103
iget-object v1, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v1, v0}, Lcom/king/zxing/camera/CameraConfigurationManager;->initFromCameraParameters(Lcom/king/zxing/camera/open/OpenCamera;)V
.line 104
iget v1, p0, Lcom/king/zxing/camera/CameraManager;->requestedFramingRectWidth:I
if-lez v1, :cond_33
iget v4, p0, Lcom/king/zxing/camera/CameraManager;->requestedFramingRectHeight:I
if-lez v4, :cond_33
.line 105
invoke-virtual {p0, v1, v4}, Lcom/king/zxing/camera/CameraManager;->setManualFramingRect(II)V
.line 106
iput v3, p0, Lcom/king/zxing/camera/CameraManager;->requestedFramingRectWidth:I
.line 107
iput v3, p0, Lcom/king/zxing/camera/CameraManager;->requestedFramingRectHeight:I
.line 111
:cond_33
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v1
.line 112
.local v1, "cameraObject":Landroid/hardware/Camera;
invoke-virtual {v1}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v4
.line 113
.local v4, "parameters":Landroid/hardware/Camera$Parameters;
if-nez v4, :cond_3f
const/4 v5, 0x0
goto :goto_43
:cond_3f
invoke-virtual {v4}, Landroid/hardware/Camera$Parameters;->flatten()Ljava/lang/String;
move-result-object v5
.line 115
.local v5, "parametersFlattened":Ljava/lang/String;
:goto_43
:try_start_43
iget-object v6, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v6, v0, v3}, Lcom/king/zxing/camera/CameraConfigurationManager;->setDesiredCameraParameters(Lcom/king/zxing/camera/open/OpenCamera;Z)V
:try_end_48
.catch Ljava/lang/RuntimeException; {:try_start_43 .. :try_end_48} :catch_49
.line 132
goto :goto_7b
.line 116
:catch_49
move-exception v3
.line 118
.local v3, "re":Ljava/lang/RuntimeException;
const-string v6, "Camera rejected parameters. Setting only minimal safe-mode parameters"
invoke-static {v6}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 119
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "Resetting to saved camera params: "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Lcom/king/zxing/util/LogUtils;->i(Ljava/lang/String;)V
.line 121
if-eqz v5, :cond_7b
.line 122
invoke-virtual {v1}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v4
.line 123
invoke-virtual {v4, v5}, Landroid/hardware/Camera$Parameters;->unflatten(Ljava/lang/String;)V
.line 125
:try_start_6c
invoke-virtual {v1, v4}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
.line 126
iget-object v6, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v6, v0, v2}, Lcom/king/zxing/camera/CameraConfigurationManager;->setDesiredCameraParameters(Lcom/king/zxing/camera/open/OpenCamera;Z)V
:try_end_74
.catch Ljava/lang/RuntimeException; {:try_start_6c .. :try_end_74} :catch_75
.line 130
goto :goto_7b
.line 127
:catch_75
move-exception v2
.line 129
.local v2, "re2":Ljava/lang/RuntimeException;
const-string v6, "Camera rejected even safe-mode parameters! No configuration"
invoke-static {v6}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 133
.end local v2 # "re2":Ljava/lang/RuntimeException;
.end local v3 # "re":Ljava/lang/RuntimeException;
:cond_7b
:goto_7b
invoke-virtual {v1, p1}, Landroid/hardware/Camera;->setPreviewDisplay(Landroid/view/SurfaceHolder;)V
.line 135
return-void
.end method
.method public declared-synchronized requestPreviewFrame(Landroid/os/Handler;I)V
.registers 6
.param p1, "handler" # Landroid/os/Handler;
.param p2, "message" # I
monitor-enter p0
.line 228
:try_start_1
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
.line 229
.local v0, "theCamera":Lcom/king/zxing/camera/open/OpenCamera;
if-eqz v0, :cond_17
iget-boolean v1, p0, Lcom/king/zxing/camera/CameraManager;->previewing:Z
if-eqz v1, :cond_17
.line 230
iget-object v1, p0, Lcom/king/zxing/camera/CameraManager;->previewCallback:Lcom/king/zxing/camera/PreviewCallback;
invoke-virtual {v1, p1, p2}, Lcom/king/zxing/camera/PreviewCallback;->setHandler(Landroid/os/Handler;I)V
.line 231
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v1
iget-object v2, p0, Lcom/king/zxing/camera/CameraManager;->previewCallback:Lcom/king/zxing/camera/PreviewCallback;
invoke-virtual {v1, v2}, Landroid/hardware/Camera;->setOneShotPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V
:try_end_17
.catchall {:try_start_1 .. :try_end_17} :catchall_19
.line 233
.end local p0 # "this":Lcom/king/zxing/camera/CameraManager;
:cond_17
monitor-exit p0
return-void
.line 227
.end local v0 # "theCamera":Lcom/king/zxing/camera/open/OpenCamera;
.end local p1 # "handler":Landroid/os/Handler;
.end local p2 # "message":I
:catchall_19
move-exception p1
monitor-exit p0
throw p1
.end method
.method public sensorChanged(ZF)V
.registers 5
.param p1, "tooDark" # Z
.param p2, "ambientLightLux" # F
.line 412
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->onSensorListener:Lcom/king/zxing/camera/CameraManager$OnSensorListener;
if-eqz v0, :cond_9
.line 413
iget-boolean v1, p0, Lcom/king/zxing/camera/CameraManager;->isTorch:Z
invoke-interface {v0, v1, p1, p2}, Lcom/king/zxing/camera/CameraManager$OnSensorListener;->onSensorChanged(ZZF)V
.line 415
:cond_9
return-void
.end method
.method public setFramingRectHorizontalOffset(I)V
.registers 2
.param p1, "framingRectHorizontalOffset" # I
.line 321
iput p1, p0, Lcom/king/zxing/camera/CameraManager;->framingRectHorizontalOffset:I
.line 322
return-void
.end method
.method public setFramingRectRatio(F)V
.registers 2
.param p1, "framingRectRatio" # F
.line 313
iput p1, p0, Lcom/king/zxing/camera/CameraManager;->framingRectRatio:F
.line 314
return-void
.end method
.method public setFramingRectVerticalOffset(I)V
.registers 2
.param p1, "framingRectVerticalOffset" # I
.line 317
iput p1, p0, Lcom/king/zxing/camera/CameraManager;->framingRectVerticalOffset:I
.line 318
return-void
.end method
.method public setFullScreenScan(Z)V
.registers 2
.param p1, "fullScreenScan" # Z
.line 309
iput-boolean p1, p0, Lcom/king/zxing/camera/CameraManager;->isFullScreenScan:Z
.line 310
return-void
.end method
.method public declared-synchronized setManualCameraId(I)V
.registers 2
.param p1, "cameraId" # I
monitor-enter p0
.line 339
:try_start_1
iput p1, p0, Lcom/king/zxing/camera/CameraManager;->requestedCameraId:I
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_5
.line 340
monitor-exit p0
return-void
.line 338
.end local p0 # "this":Lcom/king/zxing/camera/CameraManager;
.end local p1 # "cameraId":I
:catchall_5
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized setManualFramingRect(II)V
.registers 9
.param p1, "width" # I
.param p2, "height" # I
monitor-enter p0
.line 350
:try_start_1
iget-boolean v0, p0, Lcom/king/zxing/camera/CameraManager;->initialized:Z
if-eqz v0, :cond_48
.line 351
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v0}, Lcom/king/zxing/camera/CameraConfigurationManager;->getScreenResolution()Landroid/graphics/Point;
move-result-object v0
.line 352
.local v0, "screenResolution":Landroid/graphics/Point;
iget v1, v0, Landroid/graphics/Point;->x:I
if-le p1, v1, :cond_12
.line 353
iget v1, v0, Landroid/graphics/Point;->x:I
move p1, v1
.line 355
.end local p0 # "this":Lcom/king/zxing/camera/CameraManager;
:cond_12
iget v1, v0, Landroid/graphics/Point;->y:I
if-le p2, v1, :cond_19
.line 356
iget v1, v0, Landroid/graphics/Point;->y:I
move p2, v1
.line 358
:cond_19
iget v1, v0, Landroid/graphics/Point;->x:I
sub-int/2addr v1, p1
div-int/lit8 v1, v1, 0x2
.line 359
.local v1, "leftOffset":I
iget v2, v0, Landroid/graphics/Point;->y:I
sub-int/2addr v2, p2
div-int/lit8 v2, v2, 0x2
.line 360
.local v2, "topOffset":I
new-instance v3, Landroid/graphics/Rect;
add-int v4, v1, p1
add-int v5, v2, p2
invoke-direct {v3, v1, v2, v4, v5}, Landroid/graphics/Rect;-><init>(IIII)V
iput-object v3, p0, Lcom/king/zxing/camera/CameraManager;->framingRect:Landroid/graphics/Rect;
.line 361
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Calculated manual framing rect: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Lcom/king/zxing/camera/CameraManager;->framingRect:Landroid/graphics/Rect;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/king/zxing/util/LogUtils;->d(Ljava/lang/String;)V
.line 362
const/4 v3, 0x0
iput-object v3, p0, Lcom/king/zxing/camera/CameraManager;->framingRectInPreview:Landroid/graphics/Rect;
.line 363
.end local v0 # "screenResolution":Landroid/graphics/Point;
.end local v1 # "leftOffset":I
.end local v2 # "topOffset":I
goto :goto_4c
.line 364
:cond_48
iput p1, p0, Lcom/king/zxing/camera/CameraManager;->requestedFramingRectWidth:I
.line 365
iput p2, p0, Lcom/king/zxing/camera/CameraManager;->requestedFramingRectHeight:I
:try_end_4c
.catchall {:try_start_1 .. :try_end_4c} :catchall_4e
.line 367
:goto_4c
monitor-exit p0
return-void
.line 349
.end local p1 # "width":I
.end local p2 # "height":I
:catchall_4e
move-exception p1
monitor-exit p0
throw p1
.end method
.method public setOnSensorListener(Lcom/king/zxing/camera/CameraManager$OnSensorListener;)V
.registers 2
.param p1, "listener" # Lcom/king/zxing/camera/CameraManager$OnSensorListener;
.line 408
iput-object p1, p0, Lcom/king/zxing/camera/CameraManager;->onSensorListener:Lcom/king/zxing/camera/CameraManager$OnSensorListener;
.line 409
return-void
.end method
.method public setOnTorchListener(Lcom/king/zxing/camera/CameraManager$OnTorchListener;)V
.registers 2
.param p1, "listener" # Lcom/king/zxing/camera/CameraManager$OnTorchListener;
.line 400
iput-object p1, p0, Lcom/king/zxing/camera/CameraManager;->onTorchListener:Lcom/king/zxing/camera/CameraManager$OnTorchListener;
.line 401
return-void
.end method
.method public declared-synchronized setTorch(Z)V
.registers 7
.param p1, "newSetting" # Z
monitor-enter p0
.line 196
:try_start_1
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
.line 197
.local v0, "theCamera":Lcom/king/zxing/camera/open/OpenCamera;
if-eqz v0, :cond_48
iget-object v1, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/king/zxing/camera/CameraConfigurationManager;->getTorchState(Landroid/hardware/Camera;)Z
move-result v1
if-eq p1, v1, :cond_48
.line 198
iget-object v1, p0, Lcom/king/zxing/camera/CameraManager;->autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
if-eqz v1, :cond_17
const/4 v1, 0x1
goto :goto_18
:cond_17
const/4 v1, 0x0
.line 199
.local v1, "wasAutoFocusManager":Z
:goto_18
if-eqz v1, :cond_22
.line 200
iget-object v2, p0, Lcom/king/zxing/camera/CameraManager;->autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
invoke-virtual {v2}, Lcom/king/zxing/camera/AutoFocusManager;->stop()V
.line 201
const/4 v2, 0x0
iput-object v2, p0, Lcom/king/zxing/camera/CameraManager;->autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
.line 203
.end local p0 # "this":Lcom/king/zxing/camera/CameraManager;
:cond_22
iput-boolean p1, p0, Lcom/king/zxing/camera/CameraManager;->isTorch:Z
.line 204
iget-object v2, p0, Lcom/king/zxing/camera/CameraManager;->configManager:Lcom/king/zxing/camera/CameraConfigurationManager;
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v3
invoke-virtual {v2, v3, p1}, Lcom/king/zxing/camera/CameraConfigurationManager;->setTorch(Landroid/hardware/Camera;Z)V
.line 205
if-eqz v1, :cond_3f
.line 206
new-instance v2, Lcom/king/zxing/camera/AutoFocusManager;
iget-object v3, p0, Lcom/king/zxing/camera/CameraManager;->context:Landroid/content/Context;
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v4
invoke-direct {v2, v3, v4}, Lcom/king/zxing/camera/AutoFocusManager;-><init>(Landroid/content/Context;Landroid/hardware/Camera;)V
iput-object v2, p0, Lcom/king/zxing/camera/CameraManager;->autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
.line 207
invoke-virtual {v2}, Lcom/king/zxing/camera/AutoFocusManager;->start()V
.line 210
:cond_3f
iget-object v2, p0, Lcom/king/zxing/camera/CameraManager;->onTorchListener:Lcom/king/zxing/camera/CameraManager$OnTorchListener;
if-eqz v2, :cond_48
.line 211
iget-object v2, p0, Lcom/king/zxing/camera/CameraManager;->onTorchListener:Lcom/king/zxing/camera/CameraManager$OnTorchListener;
invoke-interface {v2, p1}, Lcom/king/zxing/camera/CameraManager$OnTorchListener;->onTorchChanged(Z)V
:try_end_48
.catchall {:try_start_1 .. :try_end_48} :catchall_4a
.line 216
.end local v1 # "wasAutoFocusManager":Z
:cond_48
monitor-exit p0
return-void
.line 195
.end local v0 # "theCamera":Lcom/king/zxing/camera/open/OpenCamera;
.end local p1 # "newSetting":Z
:catchall_4a
move-exception p1
monitor-exit p0
throw p1
.end method
.method public startPreview()V
.registers 5
.line 167
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
.line 168
.local v0, "theCamera":Lcom/king/zxing/camera/open/OpenCamera;
if-eqz v0, :cond_1f
iget-boolean v1, p0, Lcom/king/zxing/camera/CameraManager;->previewing:Z
if-nez v1, :cond_1f
.line 169
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v1
invoke-virtual {v1}, Landroid/hardware/Camera;->startPreview()V
.line 170
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/king/zxing/camera/CameraManager;->previewing:Z
.line 171
new-instance v1, Lcom/king/zxing/camera/AutoFocusManager;
iget-object v2, p0, Lcom/king/zxing/camera/CameraManager;->context:Landroid/content/Context;
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v3
invoke-direct {v1, v2, v3}, Lcom/king/zxing/camera/AutoFocusManager;-><init>(Landroid/content/Context;Landroid/hardware/Camera;)V
iput-object v1, p0, Lcom/king/zxing/camera/CameraManager;->autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
.line 173
:cond_1f
return-void
.end method
.method public stopPreview()V
.registers 4
.line 179
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
const/4 v1, 0x0
if-eqz v0, :cond_a
.line 180
invoke-virtual {v0}, Lcom/king/zxing/camera/AutoFocusManager;->stop()V
.line 181
iput-object v1, p0, Lcom/king/zxing/camera/CameraManager;->autoFocusManager:Lcom/king/zxing/camera/AutoFocusManager;
.line 183
:cond_a
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->camera:Lcom/king/zxing/camera/open/OpenCamera;
if-eqz v0, :cond_21
iget-boolean v2, p0, Lcom/king/zxing/camera/CameraManager;->previewing:Z
if-eqz v2, :cond_21
.line 184
invoke-virtual {v0}, Lcom/king/zxing/camera/open/OpenCamera;->getCamera()Landroid/hardware/Camera;
move-result-object v0
invoke-virtual {v0}, Landroid/hardware/Camera;->stopPreview()V
.line 185
iget-object v0, p0, Lcom/king/zxing/camera/CameraManager;->previewCallback:Lcom/king/zxing/camera/PreviewCallback;
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Lcom/king/zxing/camera/PreviewCallback;->setHandler(Landroid/os/Handler;I)V
.line 186
iput-boolean v2, p0, Lcom/king/zxing/camera/CameraManager;->previewing:Z
.line 188
:cond_21
return-void
.end method