1391 lines
28 KiB
Smali
1391 lines
28 KiB
Smali
.class public final Lcom/loc/dk;
|
|
.super Ljava/lang/Object;
|
|
.source "OffsetUtil.java"
|
|
|
|
|
|
# static fields
|
|
.field static a:D = 3.141592653589793
|
|
|
|
.field private static final b:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Lcom/amap/api/location/DPoint;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 7
|
|
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
const/16 v1, 0x8
|
|
|
|
new-array v1, v1, [Lcom/amap/api/location/DPoint;
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x4037614434e3369cL # 23.379947
|
|
|
|
const-wide v5, 0x405df072b4528284L # 119.757001
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x0
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x4038fbb9496249a1L # 24.983296
|
|
|
|
const-wide v5, 0x405e1e5e2478854dL # 120.474496
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x1
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x403984caf709b739L # 25.518722
|
|
|
|
const-wide v5, 0x405e57080b673c4fL # 121.359866
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x2
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x403969cd5f99c38bL # 25.41329
|
|
|
|
const-wide v5, 0x405e9c63a5c1c609L # 122.443582
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x3
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x4038dcda6e75ff61L # 24.862708
|
|
|
|
const-wide v5, 0x405e92746455eaeeL # 122.288354
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x4
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x403876173b85e80cL # 24.461292
|
|
|
|
const-wide v5, 0x405e8c0d6b228dcaL # 122.188319
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x5
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x403595b2e59af9ecL # 21.584761
|
|
|
|
const-wide v5, 0x405e3e02d59d55e7L # 120.968923
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x6
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
new-instance v2, Lcom/amap/api/location/DPoint;
|
|
|
|
const-wide v3, 0x4035d4b1bbcf4e87L # 21.830837
|
|
|
|
const-wide v5, 0x405e29e26d4801f7L # 120.654445
|
|
|
|
invoke-direct {v2, v3, v4, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
const/4 v3, 0x7
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
|
|
|
|
sput-object v0, Lcom/loc/dk;->b:Ljava/util/List;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private static a(D)D
|
|
.locals 4
|
|
|
|
const-wide v0, 0x40a7700000000000L # 3000.0
|
|
|
|
mul-double p0, p0, v0
|
|
|
|
sget-wide v0, Lcom/loc/dk;->a:D
|
|
|
|
const-wide v2, 0x4066800000000000L # 180.0
|
|
|
|
div-double/2addr v0, v2
|
|
|
|
mul-double p0, p0, v0
|
|
|
|
invoke-static {p0, p1}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide p0
|
|
|
|
const-wide v0, 0x3ef4f8b588e368f1L # 2.0E-5
|
|
|
|
mul-double p0, p0, v0
|
|
|
|
return-wide p0
|
|
.end method
|
|
|
|
.method private static a(DD)D
|
|
.locals 6
|
|
|
|
const-wide v0, 0x40f86a0000000000L # 100000.0
|
|
|
|
div-double v2, p2, v0
|
|
|
|
invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D
|
|
|
|
move-result-wide v2
|
|
|
|
const-wide v4, 0x40d1940000000000L # 18000.0
|
|
|
|
div-double v4, p0, v4
|
|
|
|
mul-double v2, v2, v4
|
|
|
|
div-double/2addr p0, v0
|
|
|
|
invoke-static {p0, p1}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide p0
|
|
|
|
const-wide v0, 0x40c1940000000000L # 9000.0
|
|
|
|
div-double/2addr p2, v0
|
|
|
|
mul-double p0, p0, p2
|
|
|
|
add-double/2addr v2, p0
|
|
|
|
return-wide v2
|
|
.end method
|
|
|
|
.method public static a(Landroid/content/Context;DD)Lcom/amap/api/location/DPoint;
|
|
.locals 1
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
const/4 p0, 0x0
|
|
|
|
return-object p0
|
|
|
|
:cond_0
|
|
new-instance v0, Lcom/amap/api/location/DPoint;
|
|
|
|
invoke-direct {v0, p3, p4, p1, p2}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
invoke-static {p0, v0}, Lcom/loc/dk;->a(Landroid/content/Context;Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static a(Landroid/content/Context;Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
.locals 9
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
return-object v0
|
|
|
|
:cond_0
|
|
const-string v1, "libwgs2gcj.so"
|
|
|
|
invoke-static {p0, v1}, Lcom/loc/o;->a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_2
|
|
|
|
new-instance v2, Ljava/io/File;
|
|
|
|
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v2}, Ljava/io/File;->exists()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_2
|
|
|
|
invoke-static {}, Lcom/amap/api/location/CoordUtil;->isLoadedSo()Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_2
|
|
|
|
const/4 v2, 0x1
|
|
|
|
:try_start_0
|
|
invoke-static {v1}, Ljava/lang/System;->load(Ljava/lang/String;)V
|
|
|
|
invoke-static {v2}, Lcom/amap/api/location/CoordUtil;->setLoadedSo(Z)V
|
|
:try_end_0
|
|
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
goto :goto_0
|
|
|
|
:catch_0
|
|
move-exception v1
|
|
|
|
:try_start_1
|
|
const-class v3, Lcom/loc/o;
|
|
|
|
const-string v4, "loadSoHappenException"
|
|
|
|
const/4 v5, 0x2
|
|
|
|
new-array v6, v5, [Ljava/lang/Class;
|
|
|
|
const-class v7, Landroid/content/Context;
|
|
|
|
const/4 v8, 0x0
|
|
|
|
aput-object v7, v6, v8
|
|
|
|
const-class v7, Ljava/lang/Throwable;
|
|
|
|
aput-object v7, v6, v2
|
|
|
|
invoke-virtual {v3, v4, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {v3}, Ljava/lang/reflect/Method;->isAccessible()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_1
|
|
|
|
invoke-virtual {v3, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
|
|
|
|
:cond_1
|
|
new-array v4, v5, [Ljava/lang/Object;
|
|
|
|
aput-object p0, v4, v8
|
|
|
|
aput-object v1, v4, v2
|
|
|
|
invoke-virtual {v3, v0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
|
|
:try_end_1
|
|
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1} :catch_1
|
|
|
|
:catch_1
|
|
const-string p0, "OffsetUtil"
|
|
|
|
const-string v0, "offset"
|
|
|
|
invoke-static {v1, p0, v0}, Lcom/loc/di;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
:cond_2
|
|
:goto_0
|
|
invoke-static {}, Lcom/amap/api/location/CoordUtil;->isLoadedSo()Z
|
|
|
|
move-result p0
|
|
|
|
invoke-static {p1, p0}, Lcom/loc/dk;->a(Lcom/amap/api/location/DPoint;Z)Lcom/amap/api/location/DPoint;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static a(Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
.locals 39
|
|
|
|
if-eqz p0, :cond_2
|
|
|
|
:try_start_0
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v1
|
|
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v3
|
|
|
|
invoke-static {v1, v2, v3, v4}, Lcom/loc/di;->a(DD)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-static/range {p0 .. p0}, Lcom/loc/dk;->b(Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
|
|
:cond_0
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v1
|
|
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v3
|
|
|
|
new-instance v0, Lcom/amap/api/location/DPoint;
|
|
|
|
invoke-direct {v0, v1, v2, v3, v4}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
sget-object v1, Lcom/loc/dk;->b:Ljava/util/List;
|
|
|
|
invoke-static {v0, v1}, Lcom/loc/di;->a(Lcom/amap/api/location/DPoint;Ljava/util/List;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
invoke-static/range {p0 .. p0}, Lcom/loc/dk;->b(Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v1
|
|
|
|
invoke-virtual {v0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v3
|
|
|
|
const-wide v5, 0x405a400000000000L # 105.0
|
|
|
|
sub-double v5, v3, v5
|
|
|
|
const-wide v7, 0x4041800000000000L # 35.0
|
|
|
|
sub-double v7, v1, v7
|
|
|
|
const-wide/high16 v9, -0x3fa7000000000000L # -100.0
|
|
|
|
const-wide/high16 v11, 0x4000000000000000L # 2.0
|
|
|
|
mul-double v13, v5, v11
|
|
|
|
add-double/2addr v9, v13
|
|
|
|
const-wide/high16 v15, 0x4008000000000000L # 3.0
|
|
|
|
mul-double v17, v7, v15
|
|
|
|
add-double v9, v9, v17
|
|
|
|
const-wide v17, 0x3fc999999999999aL # 0.2
|
|
|
|
mul-double v19, v7, v17
|
|
|
|
mul-double v19, v19, v7
|
|
|
|
add-double v9, v9, v19
|
|
|
|
const-wide v19, 0x3fb999999999999aL # 0.1
|
|
|
|
mul-double v21, v5, v19
|
|
|
|
mul-double v23, v21, v7
|
|
|
|
add-double v9, v9, v23
|
|
|
|
invoke-static {v5, v6}, Ljava/lang/Math;->abs(D)D
|
|
|
|
move-result-wide v25
|
|
|
|
invoke-static/range {v25 .. v26}, Ljava/lang/Math;->sqrt(D)D
|
|
|
|
move-result-wide v25
|
|
|
|
mul-double v25, v25, v17
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double v9, v9, v25
|
|
|
|
const-wide/high16 v17, 0x4018000000000000L # 6.0
|
|
|
|
mul-double v17, v17, v5
|
|
|
|
sget-wide v25, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v25, v25, v17
|
|
|
|
invoke-static/range {v25 .. v26}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v25
|
|
|
|
const-wide/high16 v27, 0x4034000000000000L # 20.0
|
|
|
|
mul-double v25, v25, v27
|
|
|
|
sget-wide v29, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v29, v29, v13
|
|
|
|
invoke-static/range {v29 .. v30}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v29
|
|
|
|
mul-double v29, v29, v27
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double v25, v25, v29
|
|
|
|
mul-double v25, v25, v11
|
|
|
|
div-double v25, v25, v15
|
|
|
|
add-double v9, v9, v25
|
|
|
|
sget-wide v25, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v25, v25, v7
|
|
|
|
invoke-static/range {v25 .. v26}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v25
|
|
|
|
mul-double v25, v25, v27
|
|
|
|
div-double v29, v7, v15
|
|
|
|
sget-wide v31, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v29, v29, v31
|
|
|
|
invoke-static/range {v29 .. v30}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v29
|
|
|
|
const-wide/high16 v31, 0x4044000000000000L # 40.0
|
|
|
|
mul-double v29, v29, v31
|
|
|
|
add-double v25, v25, v29
|
|
|
|
mul-double v25, v25, v11
|
|
|
|
div-double v25, v25, v15
|
|
|
|
add-double v9, v9, v25
|
|
|
|
const-wide/high16 v25, 0x4064000000000000L # 160.0
|
|
|
|
const-wide/high16 v29, 0x4028000000000000L # 12.0
|
|
|
|
div-double v33, v7, v29
|
|
|
|
sget-wide v35, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v33, v33, v35
|
|
|
|
invoke-static/range {v33 .. v34}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v33
|
|
|
|
mul-double v33, v33, v25
|
|
|
|
const-wide/high16 v25, 0x4074000000000000L # 320.0
|
|
|
|
sget-wide v35, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v35, v35, v7
|
|
|
|
const-wide/high16 v37, 0x403e000000000000L # 30.0
|
|
|
|
div-double v35, v35, v37
|
|
|
|
invoke-static/range {v35 .. v36}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v35
|
|
|
|
mul-double v35, v35, v25
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double v33, v33, v35
|
|
|
|
mul-double v33, v33, v11
|
|
|
|
div-double v33, v33, v15
|
|
|
|
add-double v9, v9, v33
|
|
|
|
const-wide v25, 0x4072c00000000000L # 300.0
|
|
|
|
add-double v33, v5, v25
|
|
|
|
mul-double v7, v7, v11
|
|
|
|
add-double v33, v33, v7
|
|
|
|
mul-double v21, v21, v5
|
|
|
|
add-double v33, v33, v21
|
|
|
|
add-double v33, v33, v23
|
|
|
|
invoke-static {v5, v6}, Ljava/lang/Math;->abs(D)D
|
|
|
|
move-result-wide v7
|
|
|
|
invoke-static {v7, v8}, Ljava/lang/Math;->sqrt(D)D
|
|
|
|
move-result-wide v7
|
|
|
|
mul-double v7, v7, v19
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double v33, v33, v7
|
|
|
|
sget-wide v7, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v17, v17, v7
|
|
|
|
invoke-static/range {v17 .. v18}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v7
|
|
|
|
mul-double v7, v7, v27
|
|
|
|
sget-wide v17, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v13, v13, v17
|
|
|
|
invoke-static {v13, v14}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
mul-double v13, v13, v27
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double/2addr v7, v13
|
|
|
|
mul-double v7, v7, v11
|
|
|
|
div-double/2addr v7, v15
|
|
|
|
add-double v33, v33, v7
|
|
|
|
sget-wide v7, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v7, v7, v5
|
|
|
|
invoke-static {v7, v8}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v7
|
|
|
|
mul-double v7, v7, v27
|
|
|
|
div-double v13, v5, v15
|
|
|
|
sget-wide v17, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v13, v13, v17
|
|
|
|
invoke-static {v13, v14}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
mul-double v13, v13, v31
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double/2addr v7, v13
|
|
|
|
mul-double v7, v7, v11
|
|
|
|
div-double/2addr v7, v15
|
|
|
|
add-double v33, v33, v7
|
|
|
|
const-wide v7, 0x4062c00000000000L # 150.0
|
|
|
|
div-double v13, v5, v29
|
|
|
|
sget-wide v17, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v13, v13, v17
|
|
|
|
invoke-static {v13, v14}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
mul-double v13, v13, v7
|
|
|
|
div-double v5, v5, v37
|
|
|
|
sget-wide v7, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v5, v5, v7
|
|
|
|
invoke-static {v5, v6}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v5
|
|
|
|
mul-double v5, v5, v25
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double/2addr v13, v5
|
|
|
|
mul-double v13, v13, v11
|
|
|
|
div-double/2addr v13, v15
|
|
|
|
add-double v33, v33, v13
|
|
|
|
const-wide v5, 0x4066800000000000L # 180.0
|
|
|
|
div-double v7, v1, v5
|
|
|
|
sget-wide v13, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v7, v7, v13
|
|
|
|
invoke-static {v7, v8}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
const-wide/high16 v15, 0x3ff0000000000000L # 1.0
|
|
|
|
const-wide v17, 0x3f7b6a8faf80ef0bL # 0.006693421622965943
|
|
|
|
mul-double v17, v17, v13
|
|
|
|
mul-double v17, v17, v13
|
|
|
|
sub-double v15, v15, v17
|
|
|
|
invoke-static/range {v15 .. v16}, Ljava/lang/Math;->sqrt(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
mul-double v9, v9, v5
|
|
|
|
const-wide v17, 0x41582b102de355c1L # 6335552.717000426
|
|
|
|
mul-double v15, v15, v13
|
|
|
|
div-double v17, v17, v15
|
|
|
|
sget-wide v15, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v17, v17, v15
|
|
|
|
div-double v9, v9, v17
|
|
|
|
mul-double v33, v33, v5
|
|
|
|
const-wide v5, 0x415854c140000000L # 6378245.0
|
|
|
|
div-double/2addr v5, v13
|
|
|
|
invoke-static {v7, v8}, Ljava/lang/Math;->cos(D)D
|
|
|
|
move-result-wide v7
|
|
|
|
mul-double v5, v5, v7
|
|
|
|
sget-wide v7, Lcom/loc/dk;->a:D
|
|
|
|
mul-double v5, v5, v7
|
|
|
|
div-double v33, v33, v5
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double/2addr v9, v1
|
|
|
|
add-double v5, v3, v33
|
|
|
|
new-instance v0, Lcom/amap/api/location/DPoint;
|
|
|
|
invoke-direct {v0, v9, v10, v5, v6}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
mul-double v3, v3, v11
|
|
|
|
invoke-virtual {v0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v5
|
|
|
|
const/4 v7, 0x0
|
|
|
|
sub-double/2addr v3, v5
|
|
|
|
mul-double v1, v1, v11
|
|
|
|
invoke-virtual {v0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v5
|
|
|
|
const/4 v0, 0x0
|
|
|
|
sub-double/2addr v1, v5
|
|
|
|
new-instance v0, Lcom/amap/api/location/DPoint;
|
|
|
|
invoke-direct {v0, v1, v2, v3, v4}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
:try_end_0
|
|
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
return-object v0
|
|
|
|
:cond_1
|
|
return-object p0
|
|
|
|
:catch_0
|
|
move-exception v0
|
|
|
|
const-string v1, "OffsetUtil"
|
|
|
|
const-string v2, "b2G"
|
|
|
|
invoke-static {v0, v1, v2}, Lcom/loc/di;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
:cond_2
|
|
return-object p0
|
|
.end method
|
|
|
|
.method private static a(Lcom/amap/api/location/DPoint;Z)Lcom/amap/api/location/DPoint;
|
|
.locals 6
|
|
|
|
:try_start_0
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v2
|
|
|
|
invoke-static {v0, v1, v2, v3}, Lcom/loc/di;->a(DD)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
const/4 v0, 0x2
|
|
|
|
new-array v1, v0, [D
|
|
|
|
const/4 v2, 0x1
|
|
|
|
const/4 v3, 0x0
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
new-array p1, v0, [D
|
|
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v4
|
|
|
|
aput-wide v4, p1, v3
|
|
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v4
|
|
|
|
aput-wide v4, p1, v2
|
|
:try_end_0
|
|
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_1
|
|
|
|
:try_start_1
|
|
invoke-static {p1, v1}, Lcom/amap/api/location/CoordUtil;->convertToGcj([D[D)I
|
|
|
|
move-result p1
|
|
:try_end_1
|
|
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1} :catch_0
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
:try_start_2
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v4
|
|
|
|
:goto_0
|
|
invoke-static {v0, v1, v4, v5}, Lcom/loc/ds;->a(DD)[D
|
|
|
|
move-result-object v1
|
|
:try_end_2
|
|
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_1
|
|
|
|
goto :goto_2
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
goto :goto_1
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
:try_start_3
|
|
const-string v0, "OffsetUtil"
|
|
|
|
const-string v1, "cover part1"
|
|
|
|
invoke-static {p1, v0, v1}, Lcom/loc/di;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
|
|
:try_end_3
|
|
.catchall {:try_start_3 .. :try_end_3} :catchall_0
|
|
|
|
:try_start_4
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v4
|
|
|
|
goto :goto_0
|
|
|
|
:goto_1
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v2
|
|
|
|
invoke-static {v0, v1, v2, v3}, Lcom/loc/ds;->a(DD)[D
|
|
|
|
throw p1
|
|
|
|
:cond_0
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v4
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
:goto_2
|
|
new-instance p1, Lcom/amap/api/location/DPoint;
|
|
|
|
aget-wide v4, v1, v2
|
|
|
|
aget-wide v0, v1, v3
|
|
|
|
invoke-direct {p1, v4, v5, v0, v1}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
:try_end_4
|
|
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_4} :catch_1
|
|
|
|
return-object p1
|
|
|
|
:cond_2
|
|
return-object p0
|
|
|
|
:catch_1
|
|
move-exception p1
|
|
|
|
const-string v0, "OffsetUtil"
|
|
|
|
const-string v1, "cover part2"
|
|
|
|
invoke-static {p1, v0, v1}, Lcom/loc/di;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method private static b(D)D
|
|
.locals 4
|
|
|
|
const-wide v0, 0x40a7700000000000L # 3000.0
|
|
|
|
mul-double p0, p0, v0
|
|
|
|
sget-wide v0, Lcom/loc/dk;->a:D
|
|
|
|
const-wide v2, 0x4066800000000000L # 180.0
|
|
|
|
div-double/2addr v0, v2
|
|
|
|
mul-double p0, p0, v0
|
|
|
|
invoke-static {p0, p1}, Ljava/lang/Math;->cos(D)D
|
|
|
|
move-result-wide p0
|
|
|
|
const-wide v0, 0x3ec92a737110e454L # 3.0E-6
|
|
|
|
mul-double p0, p0, v0
|
|
|
|
return-wide p0
|
|
.end method
|
|
|
|
.method private static b(DD)D
|
|
.locals 6
|
|
|
|
const-wide v0, 0x40f86a0000000000L # 100000.0
|
|
|
|
div-double v2, p2, v0
|
|
|
|
invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v2
|
|
|
|
const-wide v4, 0x40d1940000000000L # 18000.0
|
|
|
|
div-double v4, p0, v4
|
|
|
|
mul-double v2, v2, v4
|
|
|
|
div-double/2addr p0, v0
|
|
|
|
invoke-static {p0, p1}, Ljava/lang/Math;->cos(D)D
|
|
|
|
move-result-wide p0
|
|
|
|
const-wide v0, 0x40c1940000000000L # 9000.0
|
|
|
|
div-double/2addr p2, v0
|
|
|
|
mul-double p0, p0, p2
|
|
|
|
add-double/2addr v2, p0
|
|
|
|
return-wide v2
|
|
.end method
|
|
|
|
.method public static b(Landroid/content/Context;Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
.locals 15
|
|
|
|
:try_start_0
|
|
invoke-virtual/range {p1 .. p1}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v1
|
|
|
|
invoke-virtual/range {p1 .. p1}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v3
|
|
|
|
invoke-static {v1, v2, v3, v4}, Lcom/loc/di;->a(DD)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-object p1
|
|
|
|
:cond_0
|
|
invoke-virtual/range {p1 .. p1}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v1
|
|
|
|
invoke-virtual/range {p1 .. p1}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v3
|
|
|
|
const-wide v5, 0x40f86a0000000000L # 100000.0
|
|
|
|
mul-double v1, v1, v5
|
|
|
|
double-to-long v1, v1
|
|
|
|
const-wide/32 v7, 0x2255100
|
|
|
|
rem-long/2addr v1, v7
|
|
|
|
long-to-double v1, v1
|
|
|
|
mul-double v3, v3, v5
|
|
|
|
double-to-long v3, v3
|
|
|
|
rem-long/2addr v3, v7
|
|
|
|
long-to-double v3, v3
|
|
|
|
invoke-static {v1, v2, v3, v4}, Lcom/loc/dk;->a(DD)D
|
|
|
|
move-result-wide v7
|
|
:try_end_0
|
|
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
neg-double v7, v7
|
|
|
|
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double/2addr v7, v1
|
|
|
|
double-to-int v0, v7
|
|
|
|
:try_start_1
|
|
invoke-static {v1, v2, v3, v4}, Lcom/loc/dk;->b(DD)D
|
|
|
|
move-result-wide v7
|
|
:try_end_1
|
|
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1} :catch_0
|
|
|
|
neg-double v7, v7
|
|
|
|
invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
const/4 v9, 0x0
|
|
|
|
add-double/2addr v7, v3
|
|
|
|
double-to-int v7, v7
|
|
|
|
int-to-double v8, v0
|
|
|
|
int-to-double v10, v7
|
|
|
|
:try_start_2
|
|
invoke-static {v8, v9, v10, v11}, Lcom/loc/dk;->a(DD)D
|
|
|
|
move-result-wide v7
|
|
:try_end_2
|
|
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_0
|
|
|
|
neg-double v7, v7
|
|
|
|
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
add-double/2addr v7, v1
|
|
|
|
const/4 v0, -0x1
|
|
|
|
const/4 v9, 0x1
|
|
|
|
const-wide/16 v12, 0x0
|
|
|
|
cmpl-double v14, v1, v12
|
|
|
|
if-lez v14, :cond_1
|
|
|
|
const/4 v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 v1, -0x1
|
|
|
|
:goto_0
|
|
int-to-double v1, v1
|
|
|
|
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
const/4 v14, 0x0
|
|
|
|
add-double/2addr v7, v1
|
|
|
|
double-to-int v1, v7
|
|
|
|
int-to-double v1, v1
|
|
|
|
:try_start_3
|
|
invoke-static {v1, v2, v10, v11}, Lcom/loc/dk;->b(DD)D
|
|
|
|
move-result-wide v7
|
|
:try_end_3
|
|
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_0
|
|
|
|
neg-double v7, v7
|
|
|
|
invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
add-double/2addr v7, v3
|
|
|
|
cmpl-double v10, v3, v12
|
|
|
|
if-lez v10, :cond_2
|
|
|
|
const/4 v0, 0x1
|
|
|
|
:cond_2
|
|
int-to-double v3, v0
|
|
|
|
invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
const/4 v0, 0x0
|
|
|
|
add-double/2addr v7, v3
|
|
|
|
double-to-int v0, v7
|
|
|
|
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
div-double/2addr v1, v5
|
|
|
|
int-to-double v3, v0
|
|
|
|
invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z
|
|
|
|
div-double/2addr v3, v5
|
|
|
|
:try_start_4
|
|
new-instance v0, Lcom/amap/api/location/DPoint;
|
|
|
|
invoke-direct {v0, v3, v4, v1, v2}, Lcom/amap/api/location/DPoint;-><init>(DD)V
|
|
|
|
move-object v1, p0
|
|
|
|
invoke-static {p0, v0}, Lcom/loc/dk;->a(Landroid/content/Context;Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
|
|
move-result-object v0
|
|
:try_end_4
|
|
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_4} :catch_0
|
|
|
|
return-object v0
|
|
|
|
:catch_0
|
|
move-exception v0
|
|
|
|
const-string v1, "OffsetUtil"
|
|
|
|
const-string v2, "marbar2G"
|
|
|
|
invoke-static {v0, v1, v2}, Lcom/loc/di;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method private static b(Lcom/amap/api/location/DPoint;)Lcom/amap/api/location/DPoint;
|
|
.locals 19
|
|
|
|
const-wide v0, 0x3f7a37ffff31d771L # 0.006401062
|
|
|
|
const-wide v2, 0x3f78c0000225c17dL # 0.0060424805
|
|
|
|
const/4 v4, 0x0
|
|
|
|
const/4 v5, 0x0
|
|
|
|
:goto_0
|
|
const/4 v6, 0x2
|
|
|
|
if-ge v5, v6, :cond_0
|
|
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v6
|
|
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v8
|
|
|
|
new-instance v4, Lcom/amap/api/location/DPoint;
|
|
|
|
invoke-direct {v4}, Lcom/amap/api/location/DPoint;-><init>()V
|
|
|
|
sub-double v0, v6, v0
|
|
|
|
sub-double v2, v8, v2
|
|
|
|
new-instance v10, Lcom/amap/api/location/DPoint;
|
|
|
|
invoke-direct {v10}, Lcom/amap/api/location/DPoint;-><init>()V
|
|
|
|
invoke-static {v0, v1}, Lcom/loc/dk;->b(D)D
|
|
|
|
move-result-wide v11
|
|
|
|
invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->atan2(DD)D
|
|
|
|
move-result-wide v13
|
|
|
|
add-double/2addr v11, v13
|
|
|
|
invoke-static {v11, v12}, Ljava/lang/Math;->cos(D)D
|
|
|
|
move-result-wide v11
|
|
|
|
invoke-static {v2, v3}, Lcom/loc/dk;->a(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
mul-double v15, v0, v0
|
|
|
|
mul-double v17, v2, v2
|
|
|
|
add-double v15, v15, v17
|
|
|
|
invoke-static/range {v15 .. v16}, Ljava/lang/Math;->sqrt(D)D
|
|
|
|
move-result-wide v17
|
|
|
|
add-double v13, v13, v17
|
|
|
|
mul-double v11, v11, v13
|
|
|
|
const-wide v13, 0x3f7a9fbe76c8b439L # 0.0065
|
|
|
|
add-double/2addr v11, v13
|
|
|
|
invoke-static {v0, v1}, Lcom/loc/dk;->b(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->atan2(DD)D
|
|
|
|
move-result-wide v17
|
|
|
|
add-double v13, v13, v17
|
|
|
|
invoke-static {v13, v14}, Ljava/lang/Math;->sin(D)D
|
|
|
|
move-result-wide v13
|
|
|
|
invoke-static {v2, v3}, Lcom/loc/dk;->a(D)D
|
|
|
|
move-result-wide v17
|
|
|
|
invoke-static/range {v15 .. v16}, Ljava/lang/Math;->sqrt(D)D
|
|
|
|
move-result-wide v15
|
|
|
|
add-double v17, v17, v15
|
|
|
|
mul-double v13, v13, v17
|
|
|
|
const-wide v15, 0x3f789374bc6a7efaL # 0.006
|
|
|
|
add-double/2addr v13, v15
|
|
|
|
invoke-static {v11, v12}, Lcom/loc/dk;->c(D)D
|
|
|
|
move-result-wide v11
|
|
|
|
invoke-virtual {v10, v11, v12}, Lcom/amap/api/location/DPoint;->setLongitude(D)V
|
|
|
|
invoke-static {v13, v14}, Lcom/loc/dk;->c(D)D
|
|
|
|
move-result-wide v11
|
|
|
|
invoke-virtual {v10, v11, v12}, Lcom/amap/api/location/DPoint;->setLatitude(D)V
|
|
|
|
add-double/2addr v6, v0
|
|
|
|
invoke-virtual {v10}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
sub-double/2addr v6, v0
|
|
|
|
invoke-static {v6, v7}, Lcom/loc/dk;->c(D)D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {v4, v0, v1}, Lcom/amap/api/location/DPoint;->setLongitude(D)V
|
|
|
|
add-double/2addr v8, v2
|
|
|
|
invoke-virtual {v10}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
sub-double/2addr v8, v0
|
|
|
|
invoke-static {v8, v9}, Lcom/loc/dk;->c(D)D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {v4, v0, v1}, Lcom/amap/api/location/DPoint;->setLatitude(D)V
|
|
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v0
|
|
|
|
invoke-virtual {v4}, Lcom/amap/api/location/DPoint;->getLongitude()D
|
|
|
|
move-result-wide v2
|
|
|
|
sub-double/2addr v0, v2
|
|
|
|
invoke-virtual/range {p0 .. p0}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v2
|
|
|
|
invoke-virtual {v4}, Lcom/amap/api/location/DPoint;->getLatitude()D
|
|
|
|
move-result-wide v6
|
|
|
|
sub-double/2addr v2, v6
|
|
|
|
add-int/lit8 v5, v5, 0x1
|
|
|
|
goto/16 :goto_0
|
|
|
|
:cond_0
|
|
return-object v4
|
|
.end method
|
|
|
|
.method private static c(D)D
|
|
.locals 1
|
|
|
|
new-instance v0, Ljava/math/BigDecimal;
|
|
|
|
invoke-direct {v0, p0, p1}, Ljava/math/BigDecimal;-><init>(D)V
|
|
|
|
const/16 p0, 0x8
|
|
|
|
const/4 p1, 0x4
|
|
|
|
invoke-virtual {v0, p0, p1}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/math/BigDecimal;->doubleValue()D
|
|
|
|
move-result-wide p0
|
|
|
|
return-wide p0
|
|
.end method
|