LocalGeoManager.smali
.class public Lio/dcloud/js/geolocation/system/LocalGeoManager;
.super Lio/dcloud/js/geolocation/GeoManagerBase;
# static fields
.field public static final TAG:Ljava/lang/String; = "LocalGeoManager"
# instance fields
.field private a:Lio/dcloud/js/geolocation/system/a;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lio/dcloud/js/geolocation/GeoManagerBase;-><init>(Landroid/content/Context;)V
return-void
.end method
.method static synthetic a(Lio/dcloud/js/geolocation/system/LocalGeoManager;)Lio/dcloud/js/geolocation/system/a;
.registers 1
.line 1
iget-object p0, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
return-object p0
.end method
# virtual methods
.method b()Lio/dcloud/js/geolocation/system/a;
.registers 4
.line 1
iget-object v0, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
if-nez v0, :cond_f
.line 2
new-instance v0, Lio/dcloud/js/geolocation/system/a;
iget-object v1, p0, Lio/dcloud/js/geolocation/GeoManagerBase;->mContext:Landroid/content/Context;
const-string v2, ""
invoke-direct {v0, v1, v2}, Lio/dcloud/js/geolocation/system/a;-><init>(Landroid/content/Context;Ljava/lang/String;)V
iput-object v0, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
.line 4
:cond_f
iget-object v0, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
return-object v0
.end method
.method public execute(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
.registers 26
move-object/from16 v7, p0
move-object/from16 v0, p2
move-object/from16 v1, p3
const-string v8, ""
:try_start_8
const-string v2, "getCurrentPosition"
.line 1
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
:try_end_e
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_e} :catch_11c
const-string v3, "only support wgs84"
const/16 v4, 0x11
const-string v5, "{code:%d,message:\'%s\'}"
const-string v6, "wgs84"
const/4 v9, 0x6
const/4 v10, 0x7
const/4 v11, 0x3
const/4 v12, 0x2
const-string v13, "null"
const/4 v14, 0x1
const/4 v15, 0x0
if-eqz v2, :cond_83
.line 3
:try_start_20
aget-object v0, v1, v14
invoke-static {v0}, Ljava/lang/Boolean;->parseBoolean(Ljava/lang/String;)Z
move-result v16
.line 4
aget-object v0, v1, v12
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v17
const/16 v0, 0x7530
.line 12
array-length v2, v1
if-le v2, v10, :cond_34
aget-object v2, v1, v9
goto :goto_35
:cond_34
move-object v2, v13
.line 13
:goto_35
invoke-virtual {v13, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_3f
.line 14
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
:cond_3f
move v9, v0
.line 16
aget-object v0, v1, v11
invoke-static {v0, v6}, Lio/dcloud/common/util/PdrUtil;->isEquals(Ljava/lang/String;Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_53
aget-object v0, v1, v11
invoke-static {v0}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_51
goto :goto_53
:cond_51
move v0, v15
goto :goto_54
:cond_53
:goto_53
move v0, v14
:goto_54
if-eqz v0, :cond_66
.line 18
aget-object v2, v1, v15
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v3, v16
move/from16 v4, v17
move v5, v9
invoke-virtual/range {v0 .. v5}, Lio/dcloud/js/geolocation/system/LocalGeoManager;->getCurrentLocation(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;ZII)V
goto/16 :goto_11c
:cond_66
new-array v0, v12, [Ljava/lang/Object;
.line 20
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v15
aput-object v3, v0, v14
invoke-static {v5, v0}, Lio/dcloud/common/util/StringUtil;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v18
.line 21
aget-object v17, v1, v15
sget v19, Lio/dcloud/common/util/JSUtil;->ERROR:I
const/16 v20, 0x1
const/16 v21, 0x0
move-object/from16 v16, p1
invoke-static/range {v16 .. v21}, Lio/dcloud/common/util/JSUtil;->execCallback(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;IZZ)V
goto/16 :goto_11c
:cond_83
const-string v2, "watchPosition"
.line 24
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_10f
.line 25
aget-object v0, v1, v12
invoke-static {v0}, Ljava/lang/Boolean;->parseBoolean(Ljava/lang/String;)Z
move-result v16
.line 26
invoke-interface/range {p1 .. p1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
move-result-object v0
new-instance v2, Lio/dcloud/js/geolocation/system/LocalGeoManager$a;
invoke-direct {v2, v7}, Lio/dcloud/js/geolocation/system/LocalGeoManager$a;-><init>(Lio/dcloud/js/geolocation/system/LocalGeoManager;)V
invoke-interface {v0, v2}, Lio/dcloud/common/DHInterface/IFrameViewStatus;->addFrameViewListener(Lio/dcloud/common/DHInterface/IEventCallback;)V
.line 36
aget-object v0, v1, v11
invoke-static {v0, v6}, Lio/dcloud/common/util/PdrUtil;->isEquals(Ljava/lang/String;Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_b0
aget-object v0, v1, v11
invoke-static {v0}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_ae
goto :goto_b0
:cond_ae
move v0, v15
goto :goto_b1
:cond_b0
:goto_b0
move v0, v14
.line 37
:goto_b1
array-length v2, v1
if-le v2, v10, :cond_b7
aget-object v2, v1, v9
goto :goto_b8
:cond_b7
move-object v2, v13
:goto_b8
const v6, 0x7fffffff
.line 39
invoke-virtual {v13, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_c6
.line 40
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
move v6, v2
.line 42
:cond_c6
array-length v2, v1
const/16 v9, 0x8
if-le v2, v9, :cond_ce
aget-object v2, v1, v10
:try_end_cd
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_cd} :catch_11c
goto :goto_d0
:cond_ce
const-string v2, "5000"
:goto_d0
const/16 v9, 0x1388
.line 44
:try_start_d2
invoke-virtual {v2, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-nez v10, :cond_dc
.line 45
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v9
:cond_dc
const/16 v2, 0x3e8
if-ge v9, v2, :cond_e1
move v9, v2
:cond_e1
if-eqz v0, :cond_f3
.line 51
aget-object v2, v1, v15
aget-object v3, v1, v14
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v4, v16
move v5, v6
move v6, v9
invoke-virtual/range {v0 .. v6}, Lio/dcloud/js/geolocation/system/LocalGeoManager;->start(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;ZII)V
goto :goto_11c
:cond_f3
new-array v0, v12, [Ljava/lang/Object;
.line 53
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v15
aput-object v3, v0, v14
invoke-static {v5, v0}, Lio/dcloud/common/util/StringUtil;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v18
.line 54
aget-object v17, v1, v15
sget v19, Lio/dcloud/common/util/JSUtil;->ERROR:I
const/16 v20, 0x1
const/16 v21, 0x0
move-object/from16 v16, p1
invoke-static/range {v16 .. v21}, Lio/dcloud/common/util/JSUtil;->execCallback(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;IZZ)V
goto :goto_11c
:cond_10f
const-string v2, "clearWatch"
.line 57
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_11c
.line 58
aget-object v0, v1, v15
invoke-virtual {v7, v0}, Lio/dcloud/js/geolocation/system/LocalGeoManager;->stop(Ljava/lang/String;)V
:try_end_11c
.catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_11c} :catch_11c
:catch_11c
:cond_11c
:goto_11c
return-object v8
.end method
.method public getCurrentLocation(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;ZII)V
.registers 6
.line 1
invoke-virtual {p0}, Lio/dcloud/js/geolocation/system/LocalGeoManager;->b()Lio/dcloud/js/geolocation/system/a;
move-result-object p3
invoke-virtual {p3, p1, p4, p2, p5}, Lio/dcloud/js/geolocation/system/a;->a(Lio/dcloud/common/DHInterface/IWebview;ILjava/lang/String;I)V
return-void
.end method
.method public onDestroy()V
.registers 2
.line 1
iget-object v0, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
if-eqz v0, :cond_7
.line 2
invoke-virtual {v0}, Lio/dcloud/js/geolocation/system/a;->a()V
:cond_7
const/4 v0, 0x0
.line 4
iput-object v0, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
return-void
.end method
.method public start(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;ZII)V
.registers 7
.line 1
invoke-virtual {p0}, Lio/dcloud/js/geolocation/system/LocalGeoManager;->b()Lio/dcloud/js/geolocation/system/a;
move-result-object p4
invoke-virtual {p4, p1, p6, p2, p5}, Lio/dcloud/js/geolocation/system/a;->b(Lio/dcloud/common/DHInterface/IWebview;ILjava/lang/String;I)Z
move-result p1
if-eqz p1, :cond_f
.line 2
iget-object p1, p0, Lio/dcloud/js/geolocation/GeoManagerBase;->keySet:Ljava/util/ArrayList;
invoke-virtual {p1, p3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_f
return-void
.end method
.method public stop(Ljava/lang/String;)V
.registers 3
.line 1
iget-object v0, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
if-eqz v0, :cond_18
iget-object v0, p0, Lio/dcloud/js/geolocation/GeoManagerBase;->keySet:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_18
.line 2
iget-object v0, p0, Lio/dcloud/js/geolocation/GeoManagerBase;->keySet:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 3
iget-object p1, p0, Lio/dcloud/js/geolocation/system/LocalGeoManager;->a:Lio/dcloud/js/geolocation/system/a;
sget v0, Lio/dcloud/js/geolocation/system/a;->f:I
invoke-virtual {p1, v0}, Lio/dcloud/js/geolocation/system/a;->c(I)V
:cond_18
return-void
.end method