BarcodeModule.smali
.class public Lio/dcloud/feature/weex_barcode/BarcodeModule;
.super Lcom/taobao/weex/common/WXModule;
.source "BarcodeModule.java"
# direct methods
.method public constructor <init>()V
.registers 1
.line 21
invoke-direct {p0}, Lcom/taobao/weex/common/WXModule;-><init>()V
return-void
.end method
# virtual methods
.method public scan(Ljava/lang/String;Lcom/taobao/weex/bridge/JSCallback;Lcom/alibaba/fastjson/JSONArray;Z)V
.registers 14
.annotation runtime Lcom/taobao/weex/annotation/JSMethod;
.end annotation
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0
}
names = {
"filepath",
"callback",
"filter",
"needAutoCharset"
}
.end annotation
const-string p3, "fail"
const-string v0, "detail"
const-string v1, "message"
const-string v2, "code"
const-string v3, "type"
const/16 v4, 0x8
.line 26
:try_start_c
iget-object v5, p0, Lio/dcloud/feature/weex_barcode/BarcodeModule;->mWXSDKInstance:Lcom/taobao/weex/WXSDKInstance;
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p1
const-string v6, "image"
invoke-virtual {v5, p1, v6}, Lcom/taobao/weex/WXSDKInstance;->rewriteUri(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
move-result-object p1
invoke-virtual {p1}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object p1
.line 27
invoke-static {p1}, Landroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;
move-result-object v5
.line 28
invoke-static {v5, p4}, Lio/dcloud/feature/barcode2/decoding/CaptureActivityHandler;->decode(Landroid/graphics/Bitmap;Z)Lcom/dcloud/zxing2/Result;
move-result-object p4
:try_end_24
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_24} :catch_86
const-string v5, "charSet"
const-string v6, ""
if-eqz p4, :cond_63
.line 30
:try_start_2a
new-instance v7, Ljava/util/HashMap;
invoke-direct {v7}, Ljava/util/HashMap;-><init>()V
const-string v8, "success"
.line 31
invoke-interface {v7, v3, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 32
invoke-virtual {p4}, Lcom/dcloud/zxing2/Result;->getBarcodeFormat()Lcom/dcloud/zxing2/BarcodeFormat;
move-result-object v8
invoke-virtual {v8}, Lcom/dcloud/zxing2/BarcodeFormat;->toString()Ljava/lang/String;
move-result-object v8
invoke-interface {v7, v2, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 33
invoke-virtual {p4}, Lcom/dcloud/zxing2/Result;->getText()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Lio/dcloud/common/util/JSONUtil;->toJSONableString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-interface {v7, v1, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v8, "file"
if-nez p1, :cond_4f
move-object p1, v6
.line 34
:cond_4f
invoke-interface {v7, v8, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 35
iget-object p1, p4, Lcom/dcloud/zxing2/Result;->textCharset:Ljava/lang/String;
invoke-interface {v7, v5, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 36
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
.line 37
invoke-interface {p1, v0, v7}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 38
invoke-interface {p2, p1}, Lcom/taobao/weex/bridge/JSCallback;->invoke(Ljava/lang/Object;)V
goto :goto_a8
.line 40
:cond_63
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
.line 41
invoke-interface {p1, v3, p3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 42
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
invoke-interface {p1, v2, v7}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 43
invoke-interface {p1, v1, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 44
iget-object p4, p4, Lcom/dcloud/zxing2/Result;->textCharset:Ljava/lang/String;
invoke-interface {p1, v5, p4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 45
new-instance p4, Ljava/util/HashMap;
invoke-direct {p4}, Ljava/util/HashMap;-><init>()V
.line 46
invoke-interface {p4, v0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 47
invoke-interface {p2, p4}, Lcom/taobao/weex/bridge/JSCallback;->invoke(Ljava/lang/Object;)V
:try_end_85
.catch Ljava/lang/Exception; {:try_start_2a .. :try_end_85} :catch_86
goto :goto_a8
:catch_86
move-exception p1
.line 50
new-instance p4, Ljava/util/HashMap;
invoke-direct {p4}, Ljava/util/HashMap;-><init>()V
.line 51
invoke-interface {p4, v3, p3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 52
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
invoke-interface {p4, v2, p3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 53
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-interface {p4, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 54
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
.line 55
invoke-interface {p1, v0, p4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 56
invoke-interface {p2, p1}, Lcom/taobao/weex/bridge/JSCallback;->invoke(Ljava/lang/Object;)V
:goto_a8
return-void
.end method