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