LBSManager.smali
.class public Lcom/tencent/mm/sdk/platformtools/LBSManager;
.super Landroid/content/BroadcastReceiver;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/mm/sdk/platformtools/LBSManager$a;,
Lcom/tencent/mm/sdk/platformtools/LBSManager$b;
}
.end annotation
# static fields
.field private static e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
# instance fields
.field a:Z
.field b:Z
.field c:Z
.field d:I
.field private f:Lcom/tencent/mm/sdk/platformtools/LBSManager$b;
.field private g:Landroid/content/Context;
.field private h:Ldxoptimizer/ckf;
# direct methods
.method public static a(FFII)V
.registers 8
if-nez p2, :cond_3
:goto_2
return-void
:cond_3
const-string v0, "MicroMsg.LBSManager"
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "setLocationCache ["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ","
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "] acc:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " source:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Ldxoptimizer/ckd;->d(Ljava/lang/String;Ljava/lang/String;)V
sget-object v0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
if-nez v0, :cond_40
new-instance v0, Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
invoke-direct {v0}, Lcom/tencent/mm/sdk/platformtools/LBSManager$a;-><init>()V
sput-object v0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
:cond_40
sget-object v0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
iput p0, v0, Lcom/tencent/mm/sdk/platformtools/LBSManager$a;->a:F
sget-object v0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
iput p1, v0, Lcom/tencent/mm/sdk/platformtools/LBSManager$a;->b:F
sget-object v0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
iput p2, v0, Lcom/tencent/mm/sdk/platformtools/LBSManager$a;->c:I
sget-object v0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
iput-wide v2, v0, Lcom/tencent/mm/sdk/platformtools/LBSManager$a;->d:J
sget-object v0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->e:Lcom/tencent/mm/sdk/platformtools/LBSManager$a;
iput p3, v0, Lcom/tencent/mm/sdk/platformtools/LBSManager$a;->e:I
goto :goto_2
.end method
.method private c()V
.registers 2
iget-object v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->h:Ldxoptimizer/ckf;
invoke-virtual {v0}, Ldxoptimizer/ckf;->a()V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->a:Z
return-void
.end method
# virtual methods
.method public a()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->g:Landroid/content/Context;
invoke-static {v0}, Ldxoptimizer/ckg;->a(Landroid/content/Context;)Ljava/util/List;
move-result-object v0
invoke-static {v0}, Ldxoptimizer/ckg;->b(Ljava/util/List;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public b()Ljava/lang/String;
.registers 8
iget-object v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->g:Landroid/content/Context;
const-string v1, "wifi"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/wifi/WifiManager;
if-nez v0, :cond_16
const-string v0, "MicroMsg.LBSManager"
const-string v1, "no wifi service"
invoke-static {v0, v1}, Ldxoptimizer/ckd;->a(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, ""
:goto_15
return-object v0
:cond_16
invoke-virtual {v0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
move-result-object v1
if-nez v1, :cond_26
const-string v0, "MicroMsg.LBSManager"
const-string v1, "WIFILocation wifi info null"
invoke-static {v0, v1}, Ldxoptimizer/ckd;->a(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, ""
goto :goto_15
:cond_26
new-instance v2, Ljava/util/LinkedList;
invoke-direct {v2}, Ljava/util/LinkedList;-><init>()V
invoke-virtual {v0}, Landroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
move-result-object v3
if-eqz v3, :cond_62
const/4 v0, 0x0
move v1, v0
:goto_33
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v0
if-ge v1, v0, :cond_62
new-instance v4, Ldxoptimizer/ckg$b;
invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/wifi/ScanResult;
iget-object v5, v0, Landroid/net/wifi/ScanResult;->BSSID:Ljava/lang/String;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/wifi/ScanResult;
iget v0, v0, Landroid/net/wifi/ScanResult;->level:I
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v4, v5, v0}, Ldxoptimizer/ckg$b;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_33
:cond_62
invoke-static {v2}, Ldxoptimizer/ckg;->a(Ljava/util/List;)Ljava/lang/String;
move-result-object v0
goto :goto_15
.end method
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.registers 13
const/4 v7, 0x1
invoke-virtual {p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v0
const-string v1, "location"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
move-object v3, v0
check-cast v3, Landroid/location/Location;
iget v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->d:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->d:I
if-eqz v3, :cond_dd
const-string v0, "gps"
invoke-virtual {v3}, Landroid/location/Location;->getProvider()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2c
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v1
const/high16 v2, 0x43480000 # 200.0f
cmpg-float v1, v1, v2
if-lez v1, :cond_38
:cond_2c
if-nez v0, :cond_dd
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v1
const/high16 v2, 0x447a0000 # 1000.0f
cmpg-float v1, v1, v2
if-gtz v1, :cond_dd
:cond_38
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v1
const/4 v2, 0x0
cmpl-float v1, v1, v2
if-lez v1, :cond_dd
if-eqz v0, :cond_de
const/4 v4, 0x0
:goto_44
invoke-virtual {v3}, Landroid/location/Location;->getLatitude()D
move-result-wide v8
double-to-float v1, v8
invoke-virtual {v3}, Landroid/location/Location;->getLongitude()D
move-result-wide v8
double-to-float v2, v8
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v5
float-to-int v5, v5
invoke-static {v1, v2, v5, v4}, Lcom/tencent/mm/sdk/platformtools/LBSManager;->a(FFII)V
iget-object v1, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->f:Lcom/tencent/mm/sdk/platformtools/LBSManager$b;
if-eqz v1, :cond_dd
iget-boolean v1, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->a:Z
if-eqz v1, :cond_66
iget-boolean v1, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->b:Z
if-eqz v1, :cond_66
iget-boolean v1, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->c:Z
if-nez v1, :cond_dd
:cond_66
invoke-virtual {p0}, Lcom/tencent/mm/sdk/platformtools/LBSManager;->b()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ldxoptimizer/ckl;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
invoke-virtual {p0}, Lcom/tencent/mm/sdk/platformtools/LBSManager;->a()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ldxoptimizer/ckl;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
iget-boolean v1, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->a:Z
if-nez v1, :cond_e1
invoke-direct {p0}, Lcom/tencent/mm/sdk/platformtools/LBSManager;->c()V
iput-boolean v7, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->a:Z
const-string v1, "MicroMsg.LBSManager"
new-instance v2, Ljava/lang/StringBuilder;
const-string v8, "location by provider ok:["
invoke-direct {v2, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3}, Landroid/location/Location;->getLatitude()D
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v2
const-string v8, " , "
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v3}, Landroid/location/Location;->getLongitude()D
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v2
const-string v8, "] accuracy:"
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v8
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
move-result-object v2
const-string v8, " retry count:"
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
iget v8, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->d:I
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v8, " isGpsProvider:"
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Ldxoptimizer/ckd;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->f:Lcom/tencent/mm/sdk/platformtools/LBSManager$b;
invoke-virtual {v3}, Landroid/location/Location;->getLatitude()D
move-result-wide v8
double-to-float v1, v8
invoke-virtual {v3}, Landroid/location/Location;->getLongitude()D
move-result-wide v8
double-to-float v2, v8
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v3
float-to-int v3, v3
invoke-interface/range {v0 .. v7}, Lcom/tencent/mm/sdk/platformtools/LBSManager$b;->a(FFIILjava/lang/String;Ljava/lang/String;Z)V
:cond_dd
:goto_dd
return-void
:cond_de
move v4, v7
goto/16 :goto_44
:cond_e1
iget-boolean v1, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->b:Z
if-nez v1, :cond_149
if-nez v4, :cond_149
iput-boolean v7, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->b:Z
const-string v1, "MicroMsg.LBSManager"
new-instance v2, Ljava/lang/StringBuilder;
const-string v4, "report location by GPS ok:["
invoke-direct {v2, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3}, Landroid/location/Location;->getLatitude()D
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, " , "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v3}, Landroid/location/Location;->getLongitude()D
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, "] accuracy:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, " retry count:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
iget v4, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->d:I
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, " isGpsProvider:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Ldxoptimizer/ckd;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->f:Lcom/tencent/mm/sdk/platformtools/LBSManager$b;
invoke-virtual {v3}, Landroid/location/Location;->getLatitude()D
move-result-wide v8
double-to-float v1, v8
invoke-virtual {v3}, Landroid/location/Location;->getLongitude()D
move-result-wide v8
double-to-float v2, v8
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v3
float-to-int v3, v3
const/4 v4, 0x3
invoke-interface/range {v0 .. v7}, Lcom/tencent/mm/sdk/platformtools/LBSManager$b;->a(FFIILjava/lang/String;Ljava/lang/String;Z)V
goto :goto_dd
:cond_149
iget-boolean v1, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->c:Z
if-nez v1, :cond_dd
if-ne v4, v7, :cond_dd
iput-boolean v7, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->c:Z
const-string v1, "MicroMsg.LBSManager"
new-instance v2, Ljava/lang/StringBuilder;
const-string v4, "report location by Network ok:["
invoke-direct {v2, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3}, Landroid/location/Location;->getLatitude()D
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, " , "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v3}, Landroid/location/Location;->getLongitude()D
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, "] accuracy:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, " retry count:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
iget v4, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->d:I
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, " isGpsProvider:"
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Ldxoptimizer/ckd;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcom/tencent/mm/sdk/platformtools/LBSManager;->f:Lcom/tencent/mm/sdk/platformtools/LBSManager$b;
invoke-virtual {v3}, Landroid/location/Location;->getLatitude()D
move-result-wide v8
double-to-float v1, v8
invoke-virtual {v3}, Landroid/location/Location;->getLongitude()D
move-result-wide v8
double-to-float v2, v8
invoke-virtual {v3}, Landroid/location/Location;->getAccuracy()F
move-result v3
float-to-int v3, v3
const/4 v4, 0x4
invoke-interface/range {v0 .. v7}, Lcom/tencent/mm/sdk/platformtools/LBSManager$b;->a(FFIILjava/lang/String;Ljava/lang/String;Z)V
goto/16 :goto_dd
.end method