BarcodeFrameItem.smali 
.class Lio/dcloud/feature/barcode2/BarcodeFrameItem;
.super Lio/dcloud/common/adapter/ui/AdaFrameItem;
# interfaces
.implements Landroid/view/TextureView$SurfaceTextureListener;
.implements Lio/dcloud/feature/barcode2/decoding/IBarHandler;
# static fields
.field static final AZTEC:I = 0x3
.field private static final BEEP_VOLUME:F = 0.8f
.field static final CODABAR:I = 0x7
.field static final CODE128:I = 0xa
.field static final CODE39:I = 0x8
.field static final CODE93:I = 0x9
.field static final DATAMATRIX:I = 0x4
.field static final EAN13:I = 0x1
.field static final EAN8:I = 0x2
.field static final ITF:I = 0xb
.field static final MAXICODE:I = 0xc
.field static final PDF417:I = 0xd
.field static final QR:I = 0x0
.field static final RSS14:I = 0xe
.field static final RSSEXPANDED:I = 0xf
.field public static final TAG:Ljava/lang/String; = "BarcodeFrameItem"
.field static final UNKOWN:I = -0x3e8
.field static final UPCA:I = 0x5
.field static final UPCE:I = 0x6
.field private static final VIBRATE_DURATION:J = 0xc8L
.field static sBarcodeFrameItem:Lio/dcloud/feature/barcode2/BarcodeFrameItem;
# instance fields
.field public autoDecodeCharset:Z
.field private final beepListener:Landroid/media/MediaPlayer$OnCompletionListener;
.field private characterSet:Ljava/lang/String;
.field private decodeFormats:Ljava/util/Vector;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Vector<",
            "Lcom/dcloud/zxing2/BarcodeFormat;",
            ">;"
        }
    .end annotation
.end field
.field public errorMsg:Ljava/lang/String;
.field private handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
.field private hasSurface:Z
.field private inactivityTimer:Lio/dcloud/feature/barcode2/decoding/InactivityTimer;
.field private isCancelScan:Z
.field isVerticalScreen:Z
.field private lastBitmap:Landroid/graphics/Bitmap;
.field private mAct:Landroid/content/Context;
.field private mAppHandler:Lio/dcloud/common/DHInterface/IApp;
.field mCallbackIds:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field
.field mConserve:Z
.field private mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
.field mDivRectJson:Lorg/json/JSONArray;
.field mFilename:Ljava/lang/String;
.field mFilters:Lorg/json/JSONArray;
.field mOrientationState:I
.field private mPosition:Ljava/lang/String;
.field mProxy:Lio/dcloud/feature/barcode2/BarcodeProxy;
.field private mRunning:Z
.field mStyles:Lorg/json/JSONObject;
.field public mUuid:Ljava/lang/String;
.field private mWebViewImpl:Lio/dcloud/common/DHInterface/IWebview;
.field private mediaPlayer:Landroid/media/MediaPlayer;
.field noPermission:Z
.field playBeep:Z
.field surfaceView:Landroid/view/TextureView;
.field vibrate:Z
.field private viewfinderView:Lio/dcloud/feature/barcode2/view/ViewfinderView;
# direct methods
.method static constructor <clinit>()V
    .registers 0
    return-void
.end method
.method public constructor <init>(Lio/dcloud/feature/barcode2/BarcodeProxy;Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONObject;)V
    .registers 11
    .line 1
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IWebview;->getContext()Landroid/content/Context;
    move-result-object v0
    invoke-direct {p0, v0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;-><init>(Landroid/content/Context;)V
    const/4 v0, 0x1
    .line 2
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->playBeep:Z
    .line 7
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->vibrate:Z
    const/4 v1, 0x0
    .line 9
    iput-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mCallbackIds:Ljava/util/Map;
    const/4 v2, 0x0
    .line 17
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    .line 18
    iput-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->errorMsg:Ljava/lang/String;
    .line 19
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mConserve:Z
    .line 20
    iput-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilename:Ljava/lang/String;
    .line 23
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->noPermission:Z
    const-string v3, "static"
    .line 28
    iput-object v3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    .line 36
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->autoDecodeCharset:Z
    .line 404
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isVerticalScreen:Z
    .line 503
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isCancelScan:Z
    .line 504
    iput-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    .line 641
    new-instance v0, Lio/dcloud/feature/barcode2/BarcodeFrameItem$6;
    invoke-direct {v0, p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem$6;-><init>(Lio/dcloud/feature/barcode2/BarcodeFrameItem;)V
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->beepListener:Landroid/media/MediaPlayer$OnCompletionListener;
    .line 642
    sput-object p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->sBarcodeFrameItem:Lio/dcloud/feature/barcode2/BarcodeFrameItem;
    .line 643
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mProxy:Lio/dcloud/feature/barcode2/BarcodeProxy;
    .line 644
    iput-object p3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mUuid:Ljava/lang/String;
    .line 645
    new-instance p1, Ljava/util/HashMap;
    invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mCallbackIds:Ljava/util/Map;
    .line 646
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IWebview;->getContext()Landroid/content/Context;
    move-result-object p1
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    .line 647
    iput-object p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mWebViewImpl:Lio/dcloud/common/DHInterface/IWebview;
    .line 648
    iput-object p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    .line 649
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IWebview;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object p1
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    .line 650
    iput-object p4, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mDivRectJson:Lorg/json/JSONArray;
    .line 651
    iput-object p6, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mStyles:Lorg/json/JSONObject;
    .line 652
    iput-object p5, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilters:Lorg/json/JSONArray;
    .line 653
    invoke-direct {p0, p4, p6}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->getFrameLayoutParam(Lorg/json/JSONArray;Lorg/json/JSONObject;)Landroid/widget/AbsoluteLayout$LayoutParams;
    move-result-object p1
    .line 654
    new-instance p2, Lio/dcloud/feature/barcode2/BarcodeFrameItem$1;
    iget-object p3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    invoke-direct {p2, p0, p3, p1}, Lio/dcloud/feature/barcode2/BarcodeFrameItem$1;-><init>(Lio/dcloud/feature/barcode2/BarcodeFrameItem;Landroid/content/Context;Landroid/widget/AbsoluteLayout$LayoutParams;)V
    .line 678
    invoke-virtual {p0, p2}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->setMainView(Landroid/view/View;)V
    if-eqz p6, :cond_63
    .line 680
    invoke-direct {p0, p6, p2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initStyles(Lorg/json/JSONObject;Landroid/view/View;)V
    .line 682
    :cond_63
    invoke-direct {p0, p5}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initDecodeFormats(Lorg/json/JSONArray;)V
    return-void
.end method
.method static synthetic access$000(Lio/dcloud/feature/barcode2/BarcodeFrameItem;)Landroid/content/Context;
    .registers 1
    .line 1
    iget-object p0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    return-object p0
.end method
.method static synthetic access$100(Lio/dcloud/feature/barcode2/BarcodeFrameItem;Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    .registers 3
    .line 1
    invoke-direct {p0, p1, p2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initCameraView(Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    return-void
.end method
.method private byte2bitmap([BLandroid/hardware/Camera;)Landroid/graphics/Bitmap;
    .registers 14
    const/4 v0, 0x0
    .line 1
    :try_start_1
    invoke-virtual {p2}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
    move-result-object p2
    invoke-virtual {p2}, Landroid/hardware/Camera$Parameters;->getPreviewSize()Landroid/hardware/Camera$Size;
    move-result-object p2
    .line 2
    new-instance v7, Landroid/graphics/YuvImage;
    const/16 v3, 0x11
    iget v4, p2, Landroid/hardware/Camera$Size;->width:I
    iget v5, p2, Landroid/hardware/Camera$Size;->height:I
    const/4 v6, 0x0
    move-object v1, v7
    move-object v2, p1
    invoke-direct/range {v1 .. v6}, Landroid/graphics/YuvImage;-><init>([BIII[I)V
    .line 4
    new-instance p1, Ljava/io/ByteArrayOutputStream;
    invoke-direct {p1}, Ljava/io/ByteArrayOutputStream;-><init>()V
    .line 5
    new-instance v1, Landroid/graphics/Rect;
    iget v2, p2, Landroid/hardware/Camera$Size;->width:I
    iget p2, p2, Landroid/hardware/Camera$Size;->height:I
    const/4 v3, 0x0
    invoke-direct {v1, v3, v3, v2, p2}, Landroid/graphics/Rect;-><init>(IIII)V
    const/16 p2, 0x50
    invoke-virtual {v7, v1, p2, p1}, Landroid/graphics/YuvImage;->compressToJpeg(Landroid/graphics/Rect;ILjava/io/OutputStream;)Z
    .line 6
    invoke-virtual {p1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
    move-result-object p2
    invoke-virtual {p1}, Ljava/io/ByteArrayOutputStream;->size()I
    move-result v1
    invoke-static {p2, v3, v1}, Landroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
    move-result-object v0
    .line 7
    invoke-virtual {p1}, Ljava/io/ByteArrayOutputStream;->close()V
    .line 8
    new-instance v9, Landroid/graphics/Matrix;
    invoke-direct {v9}, Landroid/graphics/Matrix;-><init>()V
    const/high16 p1, 0x42b40000    # 90.0f
    .line 9
    invoke-virtual {v9, p1}, Landroid/graphics/Matrix;->postRotate(F)Z
    const/4 v5, 0x0
    const/4 v6, 0x0
    .line 10
    invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
    move-result v7
    invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I
    move-result v8
    const/4 v10, 0x1
    move-object v4, v0
    invoke-static/range {v4 .. v10}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
    move-result-object p1
    :try_end_54
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_54} :catch_55
    goto :goto_5a
    :catch_55
    move-exception p1
    .line 13
    invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
    move-object p1, v0
    :goto_5a
    return-object p1
.end method
.method private convertNumToBarcodeFormat(I)Lcom/dcloud/zxing2/BarcodeFormat;
    .registers 2
    packed-switch p1, :pswitch_data_36
    const/4 p1, 0x0
    goto :goto_34
    .line 1
    :pswitch_5
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->RSS_EXPANDED:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 2
    :pswitch_8
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->RSS_14:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 3
    :pswitch_b
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->PDF_417:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 4
    :pswitch_e
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->MAXICODE:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 5
    :pswitch_11
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->ITF:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 6
    :pswitch_14
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->CODE_128:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 7
    :pswitch_17
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->CODE_93:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 8
    :pswitch_1a
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->CODE_39:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 9
    :pswitch_1d
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->CODABAR:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 10
    :pswitch_20
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->UPC_E:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 11
    :pswitch_23
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->UPC_A:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 12
    :pswitch_26
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->DATA_MATRIX:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 13
    :pswitch_29
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->AZTEC:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 14
    :pswitch_2c
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->EAN_8:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 15
    :pswitch_2f
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->EAN_13:Lcom/dcloud/zxing2/BarcodeFormat;
    goto :goto_34
    .line 16
    :pswitch_32
    sget-object p1, Lcom/dcloud/zxing2/BarcodeFormat;->QR_CODE:Lcom/dcloud/zxing2/BarcodeFormat;
    :goto_34
    return-object p1
    nop
    :pswitch_data_36
    .packed-switch 0x0
        :pswitch_32
        :pswitch_2f
        :pswitch_2c
        :pswitch_29
        :pswitch_26
        :pswitch_23
        :pswitch_20
        :pswitch_1d
        :pswitch_1a
        :pswitch_17
        :pswitch_14
        :pswitch_11
        :pswitch_e
        :pswitch_b
        :pswitch_8
        :pswitch_5
    .end packed-switch
.end method
.method static convertTypestrToNum(Lcom/dcloud/zxing2/BarcodeFormat;)I
    .registers 2
    .line 1
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->QR_CODE:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_6
    const/4 p0, 0x0
    return p0
    .line 3
    :cond_6
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->EAN_13:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_c
    const/4 p0, 0x1
    return p0
    .line 5
    :cond_c
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->EAN_8:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_12
    const/4 p0, 0x2
    return p0
    .line 7
    :cond_12
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->AZTEC:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_18
    const/4 p0, 0x3
    return p0
    .line 9
    :cond_18
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->DATA_MATRIX:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_1e
    const/4 p0, 0x4
    return p0
    .line 11
    :cond_1e
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->UPC_A:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_24
    const/4 p0, 0x5
    return p0
    .line 13
    :cond_24
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->UPC_E:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_2a
    const/4 p0, 0x6
    return p0
    .line 15
    :cond_2a
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->CODABAR:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_30
    const/4 p0, 0x7
    return p0
    .line 17
    :cond_30
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->CODE_39:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_37
    const/16 p0, 0x8
    return p0
    .line 19
    :cond_37
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->CODE_93:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_3e
    const/16 p0, 0x9
    return p0
    .line 21
    :cond_3e
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->CODE_128:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_45
    const/16 p0, 0xa
    return p0
    .line 23
    :cond_45
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->ITF:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_4c
    const/16 p0, 0xb
    return p0
    .line 25
    :cond_4c
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->MAXICODE:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_53
    const/16 p0, 0xc
    return p0
    .line 27
    :cond_53
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->PDF_417:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_5a
    const/16 p0, 0xd
    return p0
    .line 29
    :cond_5a
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->RSS_14:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_61
    const/16 p0, 0xe
    return p0
    .line 31
    :cond_61
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->RSS_EXPANDED:Lcom/dcloud/zxing2/BarcodeFormat;
    if-ne p0, v0, :cond_68
    const/16 p0, 0xf
    return p0
    :cond_68
    const/16 p0, -0x3e8
    return p0
.end method
.method private getFrameLayoutParam(Lorg/json/JSONArray;Lorg/json/JSONObject;)Landroid/widget/AbsoluteLayout$LayoutParams;
    .registers 9
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IWebview;->getScale()F
    move-result v0
    .line 3
    invoke-virtual {p1}, Lorg/json/JSONArray;->length()I
    move-result v1
    const/4 v2, 0x3
    const/4 v3, 0x0
    const/4 v4, 0x0
    if-le v1, v2, :cond_80
    .line 4
    invoke-static {}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->getInstance()Lio/dcloud/feature/barcode2/view/DetectorViewConfig;
    move-result-object p2
    iget-object p2, p2, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->gatherRect:Landroid/graphics/Rect;
    .line 5
    invoke-static {p1, v3}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v1
    invoke-static {v1, v3}, Lio/dcloud/common/util/PdrUtil;->parseInt(Ljava/lang/String;I)I
    move-result v1
    iput v1, p2, Landroid/graphics/Rect;->left:I
    const/4 v1, 0x1
    .line 6
    invoke-static {p1, v1}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v1
    invoke-static {v1, v3}, Lio/dcloud/common/util/PdrUtil;->parseInt(Ljava/lang/String;I)I
    move-result v1
    iput v1, p2, Landroid/graphics/Rect;->top:I
    .line 7
    iget v1, p2, Landroid/graphics/Rect;->left:I
    const/4 v5, 0x2
    invoke-static {p1, v5}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v5
    invoke-static {v5, v3}, Lio/dcloud/common/util/PdrUtil;->parseInt(Ljava/lang/String;I)I
    move-result v5
    add-int/2addr v1, v5
    iput v1, p2, Landroid/graphics/Rect;->right:I
    .line 8
    iget v1, p2, Landroid/graphics/Rect;->top:I
    invoke-static {p1, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object p1
    invoke-static {p1, v3}, Lio/dcloud/common/util/PdrUtil;->parseInt(Ljava/lang/String;I)I
    move-result p1
    add-int/2addr v1, p1
    iput v1, p2, Landroid/graphics/Rect;->bottom:I
    .line 10
    iget p1, p2, Landroid/graphics/Rect;->left:I
    int-to-float p1, p1
    mul-float/2addr p1, v0
    float-to-int p1, p1
    iput p1, p2, Landroid/graphics/Rect;->left:I
    .line 11
    iget p1, p2, Landroid/graphics/Rect;->top:I
    int-to-float p1, p1
    mul-float/2addr p1, v0
    float-to-int p1, p1
    iput p1, p2, Landroid/graphics/Rect;->top:I
    .line 12
    iget p1, p2, Landroid/graphics/Rect;->right:I
    int-to-float p1, p1
    mul-float/2addr p1, v0
    float-to-int p1, p1
    iput p1, p2, Landroid/graphics/Rect;->right:I
    int-to-float p1, v1
    mul-float/2addr p1, v0
    float-to-int p1, p1
    .line 13
    iput p1, p2, Landroid/graphics/Rect;->bottom:I
    .line 14
    invoke-virtual {p2}, Landroid/graphics/Rect;->width()I
    move-result p1
    if-eqz p1, :cond_11a
    invoke-virtual {p2}, Landroid/graphics/Rect;->height()I
    move-result p1
    if-eqz p1, :cond_11a
    .line 15
    iget p1, p2, Landroid/graphics/Rect;->left:I
    iget v0, p2, Landroid/graphics/Rect;->top:I
    invoke-virtual {p2}, Landroid/graphics/Rect;->width()I
    move-result v1
    invoke-virtual {p2}, Landroid/graphics/Rect;->height()I
    move-result p2
    invoke-static {p1, v0, v1, p2}, Lio/dcloud/common/adapter/ui/AdaFrameItem$LayoutParamsUtil;->createLayoutParams(IIII)Landroid/view/ViewGroup$LayoutParams;
    move-result-object p1
    move-object v4, p1
    check-cast v4, Landroid/widget/AbsoluteLayout$LayoutParams;
    goto/16 :goto_11a
    :cond_80
    if-nez p2, :cond_83
    return-object v4
    .line 21
    :cond_83
    iget-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p1
    check-cast p1, Lio/dcloud/common/adapter/ui/AdaFrameView;
    .line 22
    invoke-virtual {p1}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainFrameOptions()Lio/dcloud/common/adapter/util/ViewOptions;
    move-result-object v1
    .line 24
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    const-string v5, "absolute"
    invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v2
    if-eqz v2, :cond_9c
    .line 25
    iget v2, v1, Lio/dcloud/common/adapter/util/ViewRect;->height:I
    goto :goto_9d
    :cond_9c
    move v2, v3
    :goto_9d
    if-nez v2, :cond_b1
    .line 28
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IFrameView;->obtainWebviewParent()Lio/dcloud/common/adapter/ui/AdaWebViewParent;
    move-result-object v2
    invoke-virtual {v2}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainMainView()Landroid/view/View;
    move-result-object v2
    check-cast v2, Landroid/view/ViewGroup;
    .line 29
    invoke-virtual {v2}, Landroid/view/ViewGroup;->getHeight()I
    move-result v2
    if-nez v2, :cond_b1
    .line 30
    iget v2, v1, Lio/dcloud/common/adapter/util/ViewRect;->height:I
    .line 32
    :cond_b1
    iget v1, v1, Lio/dcloud/common/adapter/util/ViewRect;->width:I
    if-nez v1, :cond_c3
    .line 34
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IFrameView;->obtainWebviewParent()Lio/dcloud/common/adapter/ui/AdaWebViewParent;
    move-result-object p1
    invoke-virtual {p1}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainMainView()Landroid/view/View;
    move-result-object p1
    check-cast p1, Landroid/view/ViewGroup;
    .line 35
    invoke-virtual {p1}, Landroid/view/ViewGroup;->getWidth()I
    move-result v1
    :cond_c3
    const-string p1, "left"
    .line 37
    invoke-static {p2, p1}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    invoke-static {p1, v1, v3, v0}, Lio/dcloud/common/util/PdrUtil;->convertToScreenInt(Ljava/lang/String;IIF)I
    move-result p1
    const-string v5, "top"
    .line 38
    invoke-static {p2, v5}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
    move-result-object v5
    invoke-static {v5, v2, v3, v0}, Lio/dcloud/common/util/PdrUtil;->convertToScreenInt(Ljava/lang/String;IIF)I
    move-result v3
    const-string v5, "width"
    .line 39
    invoke-static {p2, v5}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
    move-result-object v5
    invoke-static {v5, v1, v1, v0}, Lio/dcloud/common/util/PdrUtil;->convertToScreenInt(Ljava/lang/String;IIF)I
    move-result v1
    const-string v5, "height"
    .line 40
    invoke-static {p2, v5}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
    move-result-object p2
    invoke-static {p2, v2, v2, v0}, Lio/dcloud/common/util/PdrUtil;->convertToScreenInt(Ljava/lang/String;IIF)I
    move-result p2
    .line 41
    invoke-static {}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->getInstance()Lio/dcloud/feature/barcode2/view/DetectorViewConfig;
    move-result-object v0
    iget-object v0, v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->gatherRect:Landroid/graphics/Rect;
    .line 42
    iput p1, v0, Landroid/graphics/Rect;->left:I
    .line 43
    iput v3, v0, Landroid/graphics/Rect;->top:I
    add-int/2addr p1, v1
    .line 44
    iput p1, v0, Landroid/graphics/Rect;->right:I
    add-int/2addr v3, p2
    .line 45
    iput v3, v0, Landroid/graphics/Rect;->bottom:I
    .line 46
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result p1
    if-eqz p1, :cond_11a
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result p1
    if-eqz p1, :cond_11a
    .line 47
    iget p1, v0, Landroid/graphics/Rect;->left:I
    iget p2, v0, Landroid/graphics/Rect;->top:I
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v1
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v0
    invoke-static {p1, p2, v1, v0}, Lio/dcloud/common/adapter/ui/AdaFrameItem$LayoutParamsUtil;->createLayoutParams(IIII)Landroid/view/ViewGroup$LayoutParams;
    move-result-object p1
    move-object v4, p1
    check-cast v4, Landroid/widget/AbsoluteLayout$LayoutParams;
    :cond_11a
    :goto_11a
    return-object v4
.end method
.method private initBeepSound()V
    .registers 8
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    if-nez v0, :cond_52
    .line 5
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->getActivity()Landroid/app/Activity;
    move-result-object v0
    const/4 v1, 0x3
    invoke-virtual {v0, v1}, Landroid/app/Activity;->setVolumeControlStream(I)V
    .line 6
    new-instance v0, Landroid/media/MediaPlayer;
    invoke-direct {v0}, Landroid/media/MediaPlayer;-><init>()V
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    .line 7
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setAudioStreamType(I)V
    .line 8
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->beepListener:Landroid/media/MediaPlayer$OnCompletionListener;
    invoke-virtual {v0, v1}, Landroid/media/MediaPlayer;->setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V
    .line 11
    :try_start_1d
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct: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;->getAssets()Landroid/content/res/AssetManager;
    move-result-object v0
    const-string v1, "res/dcloud_beep.ogg"
    invoke-virtual {v0, v1}, Landroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
    move-result-object v0
    .line 12
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
    move-result-object v2
    .line 13
    invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
    move-result-wide v3
    invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->getLength()J
    move-result-wide v5
    .line 14
    invoke-virtual/range {v1 .. v6}, Landroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;JJ)V
    .line 16
    invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
    .line 17
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    const v1, 0x3f4ccccd    # 0.8f
    invoke-virtual {v0, v1, v1}, Landroid/media/MediaPlayer;->setVolume(FF)V
    .line 18
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->prepare()V
    :try_end_4e
    .catch Ljava/io/IOException; {:try_start_1d .. :try_end_4e} :catch_4f
    goto :goto_52
    :catch_4f
    const/4 v0, 0x0
    .line 20
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    :cond_52
    :goto_52
    return-void
.end method
.method private initCamera(Landroid/graphics/SurfaceTexture;)V
    .registers 5
    .line 1
    :try_start_0
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0, p1}, Lio/dcloud/feature/barcode2/camera/CameraManager;->openDriver(Landroid/graphics/SurfaceTexture;)V
    :try_end_7
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_7} :catch_2c
    .catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_7} :catch_24
    .line 9
    iget-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    if-nez p1, :cond_20
    .line 10
    new-instance p1, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->decodeFormats:Ljava/util/Vector;
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->characterSet:Ljava/lang/String;
    iget-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->autoDecodeCharset:Z
    invoke-direct {p1, p0, v0, v1, v2}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;-><init>(Lio/dcloud/feature/barcode2/decoding/IBarHandler;Ljava/util/Vector;Ljava/lang/String;Z)V
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    .line 11
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    if-eqz v0, :cond_23
    .line 12
    invoke-virtual {p1}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->restartPreviewAndDecode()V
    goto :goto_23
    .line 15
    :cond_20
    invoke-virtual {p1}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->resume()V
    :cond_23
    :goto_23
    return-void
    :catch_24
    move-exception p1
    .line 16
    invoke-virtual {p1}, Ljava/lang/RuntimeException;->getMessage()Ljava/lang/String;
    move-result-object p1
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->errorMsg:Ljava/lang/String;
    return-void
    :catch_2c
    move-exception p1
    .line 17
    invoke-virtual {p1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;
    move-result-object p1
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->errorMsg:Ljava/lang/String;
    return-void
.end method
.method private initCameraView(Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    .registers 6
    .line 1
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->getActivity()Landroid/app/Activity;
    move-result-object v0
    invoke-virtual {v0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;
    move-result-object v0
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    invoke-interface {v1}, Lio/dcloud/common/DHInterface/IAppInfo;->isVerticalScreen()Z
    move-result v1
    invoke-static {v0, v1}, Lio/dcloud/feature/barcode2/camera/CameraManager;->init(Landroid/content/Context;Z)V
    .line 2
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    const/4 v1, 0x0
    invoke-interface {v0, v1}, Lio/dcloud/common/DHInterface/IAppInfo;->getInt(I)I
    move-result v0
    sput v0, Lio/dcloud/feature/barcode2/camera/CameraManager;->sScreenWidth:I
    .line 3
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    const/4 v2, 0x2
    invoke-interface {v0, v2}, Lio/dcloud/common/DHInterface/IAppInfo;->getInt(I)I
    move-result v0
    sput v0, Lio/dcloud/feature/barcode2/camera/CameraManager;->sScreenAllHeight:I
    .line 4
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->getActivity()Landroid/app/Activity;
    move-result-object v0
    invoke-virtual {v0}, Landroid/app/Activity;->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 v2, 0x1
    if-ne v0, v2, :cond_35
    move v1, v2
    :cond_35
    if-eqz v1, :cond_3b
    .line 6
    invoke-direct {p0, p1, p2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initPortraitCameraView(Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    goto :goto_3e
    .line 8
    :cond_3b
    invoke-direct {p0, p1, p2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initLandScapeCameraView(Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    :goto_3e
    return-void
.end method
.method private initDecodeFormats(Lorg/json/JSONArray;)V
    .registers 6
    .line 1
    new-instance v0, Ljava/util/Vector;
    invoke-direct {v0}, Ljava/util/Vector;-><init>()V
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->decodeFormats:Ljava/util/Vector;
    if-eqz p1, :cond_30
    .line 2
    invoke-virtual {p1}, Lorg/json/JSONArray;->length()I
    move-result v0
    if-nez v0, :cond_10
    goto :goto_30
    .line 7
    :cond_10
    invoke-virtual {p1}, Lorg/json/JSONArray;->length()I
    move-result v0
    const/4 v1, 0x0
    :goto_15
    if-ge v1, v0, :cond_45
    const/4 v2, -0x1
    .line 11
    :try_start_18
    invoke-virtual {p1, v1}, Lorg/json/JSONArray;->getInt(I)I
    move-result v3
    :try_end_1c
    .catch Lorg/json/JSONException; {:try_start_18 .. :try_end_1c} :catch_1d
    goto :goto_22
    :catch_1d
    move-exception v3
    .line 13
    invoke-virtual {v3}, Lorg/json/JSONException;->printStackTrace()V
    move v3, v2
    :goto_22
    if-eq v3, v2, :cond_2d
    .line 16
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->decodeFormats:Ljava/util/Vector;
    invoke-direct {p0, v3}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->convertNumToBarcodeFormat(I)Lcom/dcloud/zxing2/BarcodeFormat;
    move-result-object v3
    invoke-virtual {v2, v3}, Ljava/util/Vector;->add(Ljava/lang/Object;)Z
    :cond_2d
    add-int/lit8 v1, v1, 0x1
    goto :goto_15
    .line 17
    :cond_30
    :goto_30
    iget-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->decodeFormats:Ljava/util/Vector;
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->EAN_13:Lcom/dcloud/zxing2/BarcodeFormat;
    invoke-virtual {p1, v0}, Ljava/util/Vector;->add(Ljava/lang/Object;)Z
    .line 18
    iget-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->decodeFormats:Ljava/util/Vector;
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->EAN_8:Lcom/dcloud/zxing2/BarcodeFormat;
    invoke-virtual {p1, v0}, Ljava/util/Vector;->add(Ljava/lang/Object;)Z
    .line 19
    iget-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->decodeFormats:Ljava/util/Vector;
    sget-object v0, Lcom/dcloud/zxing2/BarcodeFormat;->QR_CODE:Lcom/dcloud/zxing2/BarcodeFormat;
    invoke-virtual {p1, v0}, Ljava/util/Vector;->add(Ljava/lang/Object;)Z
    :cond_45
    return-void
.end method
.method private initLandScapeCameraView(Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    .registers 9
    .line 1
    invoke-static {}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->getInstance()Lio/dcloud/feature/barcode2/view/DetectorViewConfig;
    move-result-object v0
    iget-object v0, v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->gatherRect:Landroid/graphics/Rect;
    .line 4
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v1
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v0
    invoke-static {v1, v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->getCR(II)Landroid/graphics/Point;
    move-result-object v0
    if-nez v0, :cond_21
    const/4 p1, 0x1
    .line 7
    iput-boolean p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->noPermission:Z
    .line 8
    new-instance p1, Lio/dcloud/feature/barcode2/BarcodeFrameItem$4;
    invoke-direct {p1, p0, p2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem$4;-><init>(Lio/dcloud/feature/barcode2/BarcodeFrameItem;Landroid/widget/AbsoluteLayout;)V
    const/4 p2, 0x0
    invoke-static {p1, p2}, Lio/dcloud/common/adapter/util/MessageHandler;->sendMessage(Lio/dcloud/common/adapter/util/MessageHandler$IMessages;Ljava/lang/Object;)V
    return-void
    .line 21
    :cond_21
    iget v1, p1, Landroid/widget/AbsoluteLayout$LayoutParams;->height:I
    .line 22
    iget v2, v0, Landroid/graphics/Point;->x:I
    mul-int v3, v1, v2
    iget v0, v0, Landroid/graphics/Point;->y:I
    div-int/2addr v3, v0
    .line 25
    iget p1, p1, Landroid/widget/AbsoluteLayout$LayoutParams;->width:I
    const/4 v4, 0x0
    if-ge v3, p1, :cond_3e
    mul-int/2addr v0, p1
    .line 27
    div-int/2addr v0, v2
    sub-int/2addr v1, v0
    .line 28
    div-int/lit8 v1, v1, 0x2
    .line 29
    sput v1, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestTop:I
    .line 30
    sput v4, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestLeft:I
    move v3, p1
    move p1, v4
    move v5, v1
    move v1, v0
    move v0, v5
    goto :goto_46
    :cond_3e
    sub-int/2addr p1, v3
    .line 36
    div-int/lit8 p1, p1, 0x2
    .line 37
    sput p1, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestLeft:I
    .line 38
    sput v4, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestTop:I
    move v0, v4
    .line 40
    :goto_46
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    invoke-virtual {v2, v4}, Landroid/view/TextureView;->setClickable(Z)V
    .line 41
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    new-instance v4, Landroid/widget/AbsoluteLayout$LayoutParams;
    invoke-direct {v4, v3, v1, p1, v0}, Landroid/widget/AbsoluteLayout$LayoutParams;-><init>(IIII)V
    invoke-virtual {p2, v2, v4}, Landroid/widget/AbsoluteLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    .line 42
    invoke-static {}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->getInstance()Lio/dcloud/feature/barcode2/view/DetectorViewConfig;
    move-result-object v2
    invoke-virtual {v2, p1, v0, v3, v1}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->initSurfaceViewRect(IIII)V
    .line 43
    iget-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->viewfinderView:Lio/dcloud/feature/barcode2/view/ViewfinderView;
    invoke-virtual {p2, p1}, Landroid/widget/AbsoluteLayout;->addView(Landroid/view/View;)V
    return-void
.end method
.method private initPortraitCameraView(Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    .registers 9
    .line 1
    invoke-static {}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->getInstance()Lio/dcloud/feature/barcode2/view/DetectorViewConfig;
    move-result-object v0
    iget-object v0, v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->gatherRect:Landroid/graphics/Rect;
    .line 4
    invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
    move-result v1
    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
    move-result v0
    invoke-static {v1, v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->getCR(II)Landroid/graphics/Point;
    move-result-object v0
    if-nez v0, :cond_21
    const/4 p1, 0x1
    .line 7
    iput-boolean p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->noPermission:Z
    .line 8
    new-instance p1, Lio/dcloud/feature/barcode2/BarcodeFrameItem$3;
    invoke-direct {p1, p0, p2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem$3;-><init>(Lio/dcloud/feature/barcode2/BarcodeFrameItem;Landroid/widget/AbsoluteLayout;)V
    const/4 p2, 0x0
    invoke-static {p1, p2}, Lio/dcloud/common/adapter/util/MessageHandler;->sendMessage(Lio/dcloud/common/adapter/util/MessageHandler$IMessages;Ljava/lang/Object;)V
    return-void
    .line 21
    :cond_21
    iget v1, p1, Landroid/widget/AbsoluteLayout$LayoutParams;->width:I
    .line 22
    iget v2, v0, Landroid/graphics/Point;->x:I
    mul-int v3, v1, v2
    iget v0, v0, Landroid/graphics/Point;->y:I
    div-int/2addr v3, v0
    .line 25
    iget p1, p1, Landroid/widget/AbsoluteLayout$LayoutParams;->height:I
    const/4 v4, 0x0
    if-ge v3, p1, :cond_3e
    mul-int/2addr v0, p1
    .line 27
    div-int/2addr v0, v2
    sub-int/2addr v1, v0
    .line 28
    div-int/lit8 v1, v1, 0x2
    .line 29
    sput v1, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestLeft:I
    .line 30
    sput v4, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestTop:I
    move v3, p1
    move p1, v4
    move v5, v1
    move v1, v0
    move v0, v5
    goto :goto_46
    :cond_3e
    sub-int/2addr p1, v3
    .line 33
    div-int/lit8 p1, p1, 0x2
    .line 34
    sput p1, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestTop:I
    .line 35
    sput v4, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->detectorRectOffestLeft:I
    move v0, v4
    .line 37
    :goto_46
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    invoke-virtual {v2, v4}, Landroid/view/TextureView;->setClickable(Z)V
    .line 38
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    new-instance v4, Landroid/widget/AbsoluteLayout$LayoutParams;
    invoke-direct {v4, v1, v3, v0, p1}, Landroid/widget/AbsoluteLayout$LayoutParams;-><init>(IIII)V
    invoke-virtual {p2, v2, v4}, Landroid/widget/AbsoluteLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    .line 39
    invoke-static {}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->getInstance()Lio/dcloud/feature/barcode2/view/DetectorViewConfig;
    move-result-object v2
    invoke-virtual {v2, v0, p1, v1, v3}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->initSurfaceViewRect(IIII)V
    .line 40
    iget-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->viewfinderView:Lio/dcloud/feature/barcode2/view/ViewfinderView;
    invoke-virtual {p2, p1}, Landroid/widget/AbsoluteLayout;->addView(Landroid/view/View;)V
    return-void
.end method
.method private initStyles(Lorg/json/JSONObject;Landroid/view/View;)V
    .registers 6
    .line 1
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mStyles:Lorg/json/JSONObject;
    const/high16 v0, -0x10000
    .line 2
    sput v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->laserColor:I
    .line 3
    sput v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->cornerColor:I
    const-string v0, "position"
    .line 4
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v1
    if-eqz v1, :cond_16
    .line 5
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    :cond_16
    const-string v0, "scanbarColor"
    .line 7
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v1
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v1
    const/4 v2, -0x1
    if-nez v1, :cond_32
    .line 8
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Lio/dcloud/common/util/PdrUtil;->stringToColor(Ljava/lang/String;)I
    move-result v0
    if-eq v0, v2, :cond_2e
    goto :goto_30
    .line 9
    :cond_2e
    sget v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->laserColor:I
    .line 10
    :goto_30
    sput v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->laserColor:I
    :cond_32
    const-string v0, "frameColor"
    .line 12
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v1
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v1
    if-nez v1, :cond_4d
    .line 13
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Lio/dcloud/common/util/PdrUtil;->stringToColor(Ljava/lang/String;)I
    move-result v0
    if-eq v0, v2, :cond_49
    goto :goto_4b
    .line 14
    :cond_49
    sget v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->laserColor:I
    .line 15
    :goto_4b
    sput v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->cornerColor:I
    :cond_4d
    const-string v0, "background"
    .line 17
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v1
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v1
    if-nez v1, :cond_69
    .line 18
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Lio/dcloud/common/util/PdrUtil;->stringToColor(Ljava/lang/String;)I
    move-result v0
    if-eq v0, v2, :cond_64
    goto :goto_66
    .line 19
    :cond_64
    sget v0, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->laserColor:I
    .line 20
    :goto_66
    invoke-virtual {p2, v0}, Landroid/view/View;->setBackgroundColor(I)V
    :cond_69
    const-string p2, "autoZoom"
    .line 23
    invoke-virtual {p1, p2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v0
    if-eqz v0, :cond_78
    const/4 v0, 0x1
    .line 24
    invoke-virtual {p1, p2, v0}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
    move-result p1
    .line 25
    sput-boolean p1, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->isAutoZoom:Z
    :cond_78
    return-void
.end method
.method private listenHideAndShow(Lio/dcloud/common/DHInterface/IWebview;)V
    .registers 3
    .line 1
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p1
    new-instance v0, Lio/dcloud/feature/barcode2/BarcodeFrameItem$5;
    invoke-direct {v0, p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem$5;-><init>(Lio/dcloud/feature/barcode2/BarcodeFrameItem;)V
    invoke-interface {p1, v0}, Lio/dcloud/common/DHInterface/IFrameViewStatus;->addFrameViewListener(Lio/dcloud/common/DHInterface/IEventCallback;)V
    return-void
.end method
.method private playBeepSoundAndVibrate()V
    .registers 4
    .line 1
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->playBeep:Z
    if-eqz v0, :cond_b
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mediaPlayer:Landroid/media/MediaPlayer;
    if-eqz v0, :cond_b
    .line 2
    invoke-virtual {v0}, Landroid/media/MediaPlayer;->start()V
    .line 4
    :cond_b
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->vibrate:Z
    if-eqz v0, :cond_23
    .line 6
    :try_start_f
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    const-string v1, "vibrator"
    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/os/Vibrator;
    const-wide/16 v1, 0xc8
    .line 7
    invoke-virtual {v0, v1, v2}, Landroid/os/Vibrator;->vibrate(J)V
    :try_end_1e
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_1e} :catch_1f
    goto :goto_23
    :catch_1f
    move-exception v0
    .line 9
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
    :cond_23
    :goto_23
    return-void
.end method
.method private resumeOrientationState()V
    .registers 3
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    iget v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mOrientationState:I
    invoke-interface {v0, v1}, Lio/dcloud/common/DHInterface/IAppInfo;->setRequestedOrientation(I)V
    return-void
.end method
.method private saveOrientationState()V
    .registers 2
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IAppInfo;->getRequestedOrientation()I
    move-result v0
    iput v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mOrientationState:I
    return-void
.end method
# virtual methods
.method public addCallBackId(Ljava/lang/String;Ljava/lang/String;)V
    .registers 4
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mCallbackIds:Ljava/util/Map;
    invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
    move-result v0
    if-nez v0, :cond_d
    .line 2
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mCallbackIds:Ljava/util/Map;
    invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :cond_d
    return-void
.end method
.method public appendToFrameView(Lio/dcloud/common/adapter/ui/AdaFrameView;)V
    .registers 3
    .line 1
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainMainView()Landroid/view/View;
    move-result-object v0
    if-eqz v0, :cond_15
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainMainView()Landroid/view/View;
    move-result-object v0
    invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
    move-result-object v0
    if-eqz v0, :cond_15
    .line 2
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-virtual {p0, v0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->removeMapFrameItem(Lio/dcloud/common/DHInterface/IWebview;)V
    .line 4
    :cond_15
    invoke-virtual {p1}, Lio/dcloud/common/adapter/ui/AdaFrameView;->obtainWebView()Lio/dcloud/common/DHInterface/IWebview;
    move-result-object p1
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    .line 5
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->toFrameView()V
    return-void
.end method
.method public autoFocus()V
    .registers 2
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->autoFocus()V
    return-void
.end method
.method protected cancel()V
    .registers 2
    .line 1
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    if-eqz v0, :cond_15
    .line 2
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    if-eqz v0, :cond_b
    .line 3
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->stopDecode()V
    .line 5
    :cond_b
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->getViewfinderView()Lio/dcloud/feature/barcode2/view/ViewfinderView;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/view/ViewfinderView;->stopUpdateScreenTimer()V
    const/4 v0, 0x0
    .line 6
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    :cond_15
    return-void
.end method
.method protected cancel_scan()V
    .registers 3
    .line 1
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    if-eqz v0, :cond_4a
    .line 2
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    if-eqz v0, :cond_e
    .line 3
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->quitSynchronously()V
    const/4 v0, 0x0
    .line 4
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    .line 6
    :cond_e
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->getViewfinderView()Lio/dcloud/feature/barcode2/view/ViewfinderView;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/view/ViewfinderView;->stopUpdateScreenTimer()V
    .line 7
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->removeAutoFocus()V
    .line 8
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->stopPreview()V
    .line 9
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->getLastBitmapData()[B
    move-result-object v0
    .line 10
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v1
    invoke-virtual {v1}, Lio/dcloud/feature/barcode2/camera/CameraManager;->getCameraHandler()Landroid/hardware/Camera;
    move-result-object v1
    if-eqz v0, :cond_3d
    if-eqz v1, :cond_3d
    .line 12
    invoke-direct {p0, v0, v1}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->byte2bitmap([BLandroid/hardware/Camera;)Landroid/graphics/Bitmap;
    move-result-object v0
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    .line 14
    :cond_3d
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->closeDriver()V
    const/4 v0, 0x0
    .line 15
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    const/4 v0, 0x1
    .line 16
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isCancelScan:Z
    :cond_4a
    return-void
.end method
.method protected close_scan()V
    .registers 2
    .line 1
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->dispose()V
    const/4 v0, 0x0
    .line 2
    invoke-virtual {p0, v0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->setMainView(Landroid/view/View;)V
    .line 3
    invoke-static {}, Ljava/lang/System;->gc()V
    return-void
.end method
.method public dispose()V
    .registers 3
    .line 1
    invoke-super {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->dispose()V
    const-string v0, "Barcode"
    const-string v1, "dispose"
    .line 2
    invoke-static {v0, v1}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
    .line 3
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->onPause()V
    .line 4
    invoke-static {}, Lio/dcloud/feature/barcode2/view/DetectorViewConfig;->clearData()V
    .line 5
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mProxy:Lio/dcloud/feature/barcode2/BarcodeProxy;
    const/4 v1, 0x0
    iput-object v1, v0, Lio/dcloud/feature/barcode2/BarcodeProxy;->mBarcodeView:Lio/dcloud/feature/barcode2/BarcodeFrameItem;
    .line 6
    iput-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    .line 7
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    if-eqz v0, :cond_28
    invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
    move-result v0
    if-nez v0, :cond_28
    .line 8
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
    .line 9
    iput-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    .line 11
    :cond_28
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->clearLastBitmapData()V
    .line 12
    invoke-direct {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->resumeOrientationState()V
    .line 13
    invoke-static {}, Lio/dcloud/feature/barcode2/BarcodeProxyMgr;->getBarcodeProxyMgr()Lio/dcloud/feature/barcode2/BarcodeProxyMgr;
    move-result-object v0
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mUuid:Ljava/lang/String;
    invoke-virtual {v0, v1}, Lio/dcloud/feature/barcode2/BarcodeProxyMgr;->removeBarcodeProxy(Ljava/lang/String;)V
    return-void
.end method
.method public drawViewfinder()V
    .registers 2
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->viewfinderView:Lio/dcloud/feature/barcode2/view/ViewfinderView;
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/view/ViewfinderView;->drawViewfinder()V
    return-void
.end method
.method public getHandler()Landroid/os/Handler;
    .registers 2
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    return-object v0
.end method
.method public getJsBarcode()Lorg/json/JSONObject;
    .registers 4
    .line 1
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainMainView()Landroid/view/View;
    move-result-object v0
    if-eqz v0, :cond_2d
    .line 2
    new-instance v0, Lorg/json/JSONObject;
    invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
    const-string v1, "uuid"
    .line 4
    :try_start_d
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mUuid:Ljava/lang/String;
    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
    :try_end_12
    .catch Lorg/json/JSONException; {:try_start_d .. :try_end_12} :catch_28
    const-string v1, "filters"
    .line 5
    :try_start_14
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilters:Lorg/json/JSONArray;
    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
    :try_end_19
    .catch Lorg/json/JSONException; {:try_start_14 .. :try_end_19} :catch_28
    const-string v1, "options"
    .line 6
    :try_start_1b
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mStyles:Lorg/json/JSONObject;
    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
    :try_end_20
    .catch Lorg/json/JSONException; {:try_start_1b .. :try_end_20} :catch_28
    const-string v1, "autoDecodeCharset"
    .line 7
    :try_start_22
    iget-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->autoDecodeCharset:Z
    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
    :try_end_27
    .catch Lorg/json/JSONException; {:try_start_22 .. :try_end_27} :catch_28
    goto :goto_2e
    :catch_28
    move-exception v1
    .line 9
    invoke-virtual {v1}, Lorg/json/JSONException;->printStackTrace()V
    goto :goto_2e
    :cond_2d
    const/4 v0, 0x0
    :goto_2e
    return-object v0
.end method
.method public getViewfinderView()Lio/dcloud/feature/barcode2/view/ViewfinderView;
    .registers 2
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->viewfinderView:Lio/dcloud/feature/barcode2/view/ViewfinderView;
    return-object v0
.end method
.method public handleDecode(Lcom/dcloud/zxing2/Result;Landroid/graphics/Bitmap;)V
    .registers 10
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->inactivityTimer:Lio/dcloud/feature/barcode2/decoding/InactivityTimer;
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/decoding/InactivityTimer;->onActivity()V
    .line 2
    invoke-direct {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->playBeepSoundAndVibrate()V
    .line 4
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mConserve:Z
    const/4 v1, 0x0
    if-eqz v0, :cond_14
    .line 5
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilename:Ljava/lang/String;
    invoke-static {p2, v0}, Lio/dcloud/common/util/PdrUtil;->saveBitmapToFile(Landroid/graphics/Bitmap;Ljava/lang/String;)Z
    move-result p2
    goto :goto_15
    :cond_14
    move p2, v1
    .line 8
    :goto_15
    invoke-virtual {p1}, Lcom/dcloud/zxing2/Result;->getBarcodeFormat()Lcom/dcloud/zxing2/BarcodeFormat;
    move-result-object v0
    invoke-static {v0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->convertTypestrToNum(Lcom/dcloud/zxing2/BarcodeFormat;)I
    move-result v0
    const/4 v2, 0x2
    const/4 v3, 0x3
    const/4 v4, 0x1
    if-eqz p2, :cond_b8
    .line 12
    iget-object p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mWebViewImpl:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p2
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object p2
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IApp;->obtainAppDocPath()Ljava/lang/String;
    move-result-object p2
    .line 13
    new-instance v5, Ljava/lang/StringBuilder;
    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
    const-string v6, "doc:"
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v5
    invoke-static {v5}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;)V
    .line 14
    iget-object v5, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilename:Ljava/lang/String;
    invoke-virtual {v5, p2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
    move-result v5
    if-eqz v5, :cond_6a
    .line 15
    new-instance v5, Ljava/lang/StringBuilder;
    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
    const-string v6, "_doc"
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-object v6, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilename:Ljava/lang/String;
    invoke-virtual {p2}, Ljava/lang/String;->length()I
    move-result p2
    sub-int/2addr p2, v4
    invoke-virtual {v6, p2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
    move-result-object p2
    invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p2
    iput-object p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilename:Ljava/lang/String;
    .line 17
    :cond_6a
    iget-object p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mWebViewImpl:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p2
    invoke-interface {p2}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object p2
    iget-object v5, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilename:Ljava/lang/String;
    invoke-interface {p2, v5}, Lio/dcloud/common/DHInterface/IApp;->convert2RelPath(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p2
    .line 18
    new-instance v5, Ljava/lang/StringBuilder;
    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
    const-string v6, "Filename:"
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-object v6, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mFilename:Ljava/lang/String;
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string v6, ";relPath:"
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v5
    invoke-static {v5}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;)V
    const/4 v5, 0x4
    new-array v5, v5, [Ljava/lang/Object;
    .line 19
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v0
    aput-object v0, v5, v1
    invoke-virtual {p1}, Lcom/dcloud/zxing2/Result;->getText()Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Lio/dcloud/common/util/JSONUtil;->toJSONableString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    aput-object v0, v5, v4
    aput-object p2, v5, v2
    iget-object p1, p1, Lcom/dcloud/zxing2/Result;->textCharset:Ljava/lang/String;
    aput-object p1, v5, v3
    const-string p1, "{type:%d,message:%s,file:\'%s\',charSet:\'%s\'}"
    invoke-static {p1, v5}, Lio/dcloud/common/util/StringUtil;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    move-result-object p1
    goto :goto_d4
    :cond_b8
    new-array p2, v3, [Ljava/lang/Object;
    .line 22
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v0
    aput-object v0, p2, v1
    invoke-virtual {p1}, Lcom/dcloud/zxing2/Result;->getText()Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Lio/dcloud/common/util/JSONUtil;->toJSONableString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v0
    aput-object v0, p2, v4
    iget-object p1, p1, Lcom/dcloud/zxing2/Result;->textCharset:Ljava/lang/String;
    aput-object p1, p2, v2
    const-string p1, "{type:%d,message:%s,charSet:\'%s\'}"
    invoke-static {p1, p2}, Lio/dcloud/common/util/StringUtil;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    move-result-object p1
    .line 24
    :goto_d4
    sget p2, Lio/dcloud/common/util/JSUtil;->OK:I
    invoke-virtual {p0, p1, p2, v4, v4}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->runJsCallBack(Ljava/lang/String;IZZ)V
    .line 25
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->cancel()V
    return-void
.end method
.method public isRunning()Z
    .registers 2
    .line 1
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    return v0
.end method
.method protected onDestroy()V
    .registers 2
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->inactivityTimer:Lio/dcloud/feature/barcode2/decoding/InactivityTimer;
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/decoding/InactivityTimer;->shutdown()V
    const/4 v0, 0x0
    .line 2
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->hasSurface:Z
    const/4 v0, 0x0
    .line 3
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->decodeFormats:Ljava/util/Vector;
    .line 4
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->characterSet:Ljava/lang/String;
    .line 5
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mCallbackIds:Ljava/util/Map;
    invoke-interface {v0}, Ljava/util/Map;->clear()V
    return-void
.end method
.method protected onPause()V
    .registers 2
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    if-eqz v0, :cond_a
    .line 2
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->quitSynchronously()V
    const/4 v0, 0x0
    .line 3
    iput-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    .line 5
    :cond_a
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->noPermission:Z
    if-nez v0, :cond_15
    .line 6
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->closeDriver()V
    .line 8
    :cond_15
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    .line 9
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->cancel()V
    .line 10
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    return-void
.end method
.method public onPopFromStack(Z)V
    .registers 2
    .line 1
    invoke-super {p0, p1}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->onPopFromStack(Z)V
    if-eqz p1, :cond_8
    .line 3
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->onPause()V
    :cond_8
    return-void
.end method
.method public onPushToStack(Z)V
    .registers 2
    .line 1
    invoke-super {p0, p1}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->onPushToStack(Z)V
    if-eqz p1, :cond_9
    const/4 p1, 0x0
    .line 3
    invoke-virtual {p0, p1}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->onResume(Z)V
    :cond_9
    return-void
.end method
.method protected onResume(Z)V
    .registers 7
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    invoke-virtual {v0}, Landroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture;
    move-result-object v0
    .line 2
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    if-eqz v1, :cond_22
    iget-boolean v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isCancelScan:Z
    if-eqz v1, :cond_22
    if-eqz p1, :cond_22
    .line 3
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    new-instance v2, Landroid/graphics/drawable/BitmapDrawable;
    iget-object v3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    move-result-object v3
    iget-object v4, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    invoke-direct {v2, v3, v4}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V
    invoke-virtual {v1, v2}, Landroid/view/TextureView;->setBackground(Landroid/graphics/drawable/Drawable;)V
    .line 5
    :cond_22
    iget-boolean v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->hasSurface:Z
    if-eqz v1, :cond_2a
    .line 6
    invoke-direct {p0, v0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initCamera(Landroid/graphics/SurfaceTexture;)V
    goto :goto_2f
    .line 8
    :cond_2a
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    invoke-virtual {v0, p0}, Landroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V
    .line 14
    :goto_2f
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    const-string v1, "audio"
    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/media/AudioManager;
    .line 15
    invoke-virtual {v0}, Landroid/media/AudioManager;->getRingerMode()I
    move-result v0
    const/4 v1, 0x2
    const/4 v2, 0x0
    if-eq v0, v1, :cond_43
    .line 16
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->playBeep:Z
    .line 18
    :cond_43
    invoke-direct {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initBeepSound()V
    if-eqz p1, :cond_51
    .line 20
    iget-boolean p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    if-eqz p1, :cond_51
    .line 21
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    .line 22
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->start()V
    :cond_51
    return-void
.end method
.method public onSurfaceTextureAvailable(Landroid/graphics/SurfaceTexture;II)V
    .registers 4
    .line 1
    iget-boolean p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->hasSurface:Z
    if-nez p2, :cond_13
    const/4 p2, 0x1
    .line 2
    iput-boolean p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->hasSurface:Z
    .line 3
    iget-boolean p2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isCancelScan:Z
    if-nez p2, :cond_13
    .line 5
    :try_start_b
    invoke-direct {p0, p1}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initCamera(Landroid/graphics/SurfaceTexture;)V
    :try_end_e
    .catch Ljava/lang/Exception; {:try_start_b .. :try_end_e} :catch_f
    goto :goto_13
    :catch_f
    move-exception p1
    .line 7
    invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
    :cond_13
    :goto_13
    return-void
.end method
.method public onSurfaceTextureDestroyed(Landroid/graphics/SurfaceTexture;)Z
    .registers 2
    const/4 p1, 0x0
    .line 1
    iput-boolean p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->hasSurface:Z
    return p1
.end method
.method public onSurfaceTextureSizeChanged(Landroid/graphics/SurfaceTexture;II)V
    .registers 4
    return-void
.end method
.method public onSurfaceTextureUpdated(Landroid/graphics/SurfaceTexture;)V
    .registers 2
    return-void
.end method
.method public removeMapFrameItem(Lio/dcloud/common/DHInterface/IWebview;)V
    .registers 4
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    const-string v1, "absolute"
    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v0
    if-eqz v0, :cond_12
    .line 2
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p1
    invoke-interface {p1, p0}, Lio/dcloud/common/DHInterface/IContainerView;->removeFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;)V
    goto :goto_15
    .line 4
    :cond_12
    invoke-interface {p1, p0}, Lio/dcloud/common/DHInterface/IContainerView;->removeFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;)V
    :goto_15
    return-void
.end method
.method public runJsCallBack(Ljava/lang/String;IZZ)V
    .registers 13
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mCallbackIds:Ljava/util/Map;
    invoke-interface {v0}, Ljava/util/Map;->keySet()Ljava/util/Set;
    move-result-object v0
    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
    move-result-object v0
    :cond_a
    :goto_a
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
    move-result v1
    if-eqz v1, :cond_33
    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
    move-result-object v1
    move-object v3, v1
    check-cast v3, Ljava/lang/String;
    .line 2
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mCallbackIds:Ljava/util/Map;
    invoke-interface {v1, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
    move-result-object v1
    check-cast v1, Ljava/lang/String;
    .line 3
    invoke-static {}, Lio/dcloud/feature/barcode2/BarcodeProxyMgr;->getBarcodeProxyMgr()Lio/dcloud/feature/barcode2/BarcodeProxyMgr;
    move-result-object v2
    iget-object v4, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mWebViewImpl:Lio/dcloud/common/DHInterface/IWebview;
    invoke-virtual {v2, v4, v1}, Lio/dcloud/feature/barcode2/BarcodeProxyMgr;->findWebviewByUuid(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;)Lio/dcloud/common/DHInterface/IWebview;
    move-result-object v2
    if-eqz v2, :cond_a
    move-object v4, p1
    move v5, p2
    move v6, p3
    move v7, p4
    .line 5
    invoke-static/range {v2 .. v7}, Lio/dcloud/common/util/JSUtil;->execCallback(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;IZZ)V
    goto :goto_a
    :cond_33
    return-void
.end method
.method public setFlash(Z)V
    .registers 3
    .line 1
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0, p1}, Lio/dcloud/feature/barcode2/camera/CameraManager;->setFlashlight(Z)V
    return-void
.end method
.method protected start()V
    .registers 4
    .line 1
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    if-nez v0, :cond_4c
    .line 2
    invoke-virtual {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->getViewfinderView()Lio/dcloud/feature/barcode2/view/ViewfinderView;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/view/ViewfinderView;->startUpdateScreenTimer()V
    .line 3
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->handler:Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;
    const/4 v1, 0x0
    if-eqz v0, :cond_14
    .line 4
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->restartPreviewAndDecode()V
    goto :goto_17
    .line 6
    :cond_14
    invoke-virtual {p0, v1}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->onResume(Z)V
    .line 8
    :goto_17
    iget-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isCancelScan:Z
    if-eqz v0, :cond_47
    .line 9
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    const/4 v2, 0x0
    invoke-virtual {v0, v2}, Landroid/view/TextureView;->setBackground(Landroid/graphics/drawable/Drawable;)V
    .line 10
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    if-eqz v0, :cond_32
    invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
    move-result v0
    if-nez v0, :cond_32
    .line 11
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
    .line 12
    iput-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->lastBitmap:Landroid/graphics/Bitmap;
    .line 14
    :cond_32
    invoke-static {}, Lio/dcloud/feature/barcode2/camera/CameraManager;->get()Lio/dcloud/feature/barcode2/camera/CameraManager;
    move-result-object v0
    invoke-virtual {v0}, Lio/dcloud/feature/barcode2/camera/CameraManager;->clearLastBitmapData()V
    .line 15
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    invoke-virtual {v0}, Landroid/view/TextureView;->postInvalidate()V
    .line 16
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    invoke-virtual {v0}, Landroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture;
    move-result-object v0
    invoke-direct {p0, v0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->initCamera(Landroid/graphics/SurfaceTexture;)V
    :cond_47
    const/4 v0, 0x1
    .line 18
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mRunning:Z
    .line 19
    iput-boolean v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isCancelScan:Z
    :cond_4c
    return-void
.end method
.method public toFrameView()V
    .registers 8
    .line 1
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainMainView()Landroid/view/View;
    move-result-object v0
    check-cast v0, Landroid/widget/AbsoluteLayout;
    .line 2
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mDivRectJson:Lorg/json/JSONArray;
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mStyles:Lorg/json/JSONObject;
    invoke-direct {p0, v1, v2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->getFrameLayoutParam(Lorg/json/JSONArray;Lorg/json/JSONObject;)Landroid/widget/AbsoluteLayout$LayoutParams;
    move-result-object v1
    if-nez v1, :cond_11
    return-void
    .line 6
    :cond_11
    new-instance v2, Landroid/view/TextureView;
    iget-object v3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    invoke-direct {v2, v3}, Landroid/view/TextureView;-><init>(Landroid/content/Context;)V
    iput-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->surfaceView:Landroid/view/TextureView;
    .line 7
    new-instance v2, Lio/dcloud/feature/barcode2/view/ViewfinderView;
    iget-object v3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAct:Landroid/content/Context;
    invoke-direct {v2, v3, p0}, Lio/dcloud/feature/barcode2/view/ViewfinderView;-><init>(Landroid/content/Context;Lio/dcloud/feature/barcode2/decoding/IBarHandler;)V
    iput-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->viewfinderView:Lio/dcloud/feature/barcode2/view/ViewfinderView;
    const/4 v2, 0x0
    .line 8
    iput-boolean v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->hasSurface:Z
    .line 9
    new-instance v3, Lio/dcloud/feature/barcode2/decoding/InactivityTimer;
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->getActivity()Landroid/app/Activity;
    move-result-object v4
    invoke-direct {v3, v4}, Lio/dcloud/feature/barcode2/decoding/InactivityTimer;-><init>(Landroid/app/Activity;)V
    iput-object v3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->inactivityTimer:Lio/dcloud/feature/barcode2/decoding/InactivityTimer;
    .line 10
    iget-object v3, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v3}, Lio/dcloud/common/DHInterface/IWebview;->getActivity()Landroid/app/Activity;
    move-result-object v3
    new-instance v4, Lio/dcloud/feature/barcode2/BarcodeFrameItem$2;
    iget-object v5, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v5}, Lio/dcloud/common/DHInterface/IWebview;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object v5
    invoke-direct {v4, p0, v5, v1, v0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem$2;-><init>(Lio/dcloud/feature/barcode2/BarcodeFrameItem;Lio/dcloud/common/DHInterface/IApp;Landroid/widget/AbsoluteLayout$LayoutParams;Landroid/widget/AbsoluteLayout;)V
    const/4 v0, 0x2
    const-string v5, "barcode"
    const-string v6, "CAMERA"
    invoke-static {v3, v5, v6, v0, v4}, Lio/dcloud/common/adapter/util/PermissionUtil;->usePermission(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;ILio/dcloud/common/adapter/util/PermissionUtil$Request;)V
    .line 29
    invoke-virtual {p0, v2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->onResume(Z)V
    .line 30
    invoke-direct {p0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->saveOrientationState()V
    .line 31
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IAppInfo;->isVerticalScreen()Z
    move-result v0
    iput-boolean v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->isVerticalScreen:Z
    if-eqz v0, :cond_62
    .line 33
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    const-string v2, "portrait"
    invoke-interface {v0, v2}, Lio/dcloud/common/DHInterface/IAppInfo;->setRequestedOrientation(Ljava/lang/String;)V
    goto :goto_69
    .line 35
    :cond_62
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mAppHandler:Lio/dcloud/common/DHInterface/IApp;
    const-string v2, "landscape"
    invoke-interface {v0, v2}, Lio/dcloud/common/DHInterface/IAppInfo;->setRequestedOrientation(Ljava/lang/String;)V
    .line 37
    :goto_69
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-direct {p0, v0}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->listenHideAndShow(Lio/dcloud/common/DHInterface/IWebview;)V
    .line 38
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    const-string v2, "absolute"
    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v0
    if-eqz v0, :cond_82
    .line 39
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object v0
    invoke-interface {v0, p0, v1}, Lio/dcloud/common/DHInterface/IContainerView;->addFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;Landroid/view/ViewGroup$LayoutParams;)V
    goto :goto_87
    .line 41
    :cond_82
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v0, p0, v1}, Lio/dcloud/common/DHInterface/IContainerView;->addFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;Landroid/view/ViewGroup$LayoutParams;)V
    :goto_87
    return-void
.end method
.method public upateStyles(Lorg/json/JSONObject;)V
    .registers 5
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mStyles:Lorg/json/JSONObject;
    invoke-static {v0, p1}, Lio/dcloud/common/util/JSONUtil;->combinJSONObject(Lorg/json/JSONObject;Lorg/json/JSONObject;)Lorg/json/JSONObject;
    const-string v0, "top"
    .line 2
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v0
    const-string v1, "position"
    if-nez v0, :cond_2d
    const-string v0, "left"
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v0
    if-nez v0, :cond_2d
    const-string v0, "width"
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v0
    if-nez v0, :cond_2d
    const-string v0, "height"
    invoke-virtual {p1, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v0
    if-nez v0, :cond_2d
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v0
    if-eqz v0, :cond_7b
    .line 3
    :cond_2d
    iget-object v0, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mDivRectJson:Lorg/json/JSONArray;
    iget-object v2, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mStyles:Lorg/json/JSONObject;
    invoke-direct {p0, v0, v2}, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->getFrameLayoutParam(Lorg/json/JSONArray;Lorg/json/JSONObject;)Landroid/widget/AbsoluteLayout$LayoutParams;
    move-result-object v0
    if-nez v0, :cond_38
    return-void
    .line 7
    :cond_38
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
    move-result v2
    if-eqz v2, :cond_74
    .line 8
    invoke-virtual {p1, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object p1
    .line 9
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_7b
    .line 10
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    const-string v2, "absolute"
    invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_63
    .line 11
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object v1
    invoke-interface {v1, p0}, Lio/dcloud/common/DHInterface/IContainerView;->removeFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;)V
    .line 12
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v1, p0, v0}, Lio/dcloud/common/DHInterface/IContainerView;->addFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;Landroid/view/ViewGroup$LayoutParams;)V
    goto :goto_71
    .line 14
    :cond_63
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v1, p0}, Lio/dcloud/common/DHInterface/IContainerView;->removeFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;)V
    .line 15
    iget-object v1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mContainerWebview:Lio/dcloud/common/DHInterface/IWebview;
    invoke-interface {v1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object v1
    invoke-interface {v1, p0, v0}, Lio/dcloud/common/DHInterface/IContainerView;->addFrameItem(Lio/dcloud/common/adapter/ui/AdaFrameItem;Landroid/view/ViewGroup$LayoutParams;)V
    .line 17
    :goto_71
    iput-object p1, p0, Lio/dcloud/feature/barcode2/BarcodeFrameItem;->mPosition:Ljava/lang/String;
    goto :goto_7b
    .line 20
    :cond_74
    invoke-virtual {p0}, Lio/dcloud/common/adapter/ui/AdaFrameItem;->obtainMainView()Landroid/view/View;
    move-result-object p1
    invoke-virtual {p1, v0}, Landroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
    :cond_7b
    :goto_7b
    return-void
.end method