f.smali
.class public final Lb/a/a/a/a/f;
.super Lb/a/a/a/a/ag;
# interfaces
.implements Landroid/location/LocationListener;
.implements Ljava/lang/Runnable;
# instance fields
.field public a:J
.field private b:Landroid/os/HandlerThread;
.field private c:Landroid/os/Handler;
# direct methods
.method public constructor <init>(Lb/a/a/a/a/w;Lb/a/a/a/a/y;)V
.registers 5
invoke-direct {p0, p1, p2}, Lb/a/a/a/a/ag;-><init>(Lb/a/a/a/a/w;Lb/a/a/a/a/y;)V
const-wide/16 v0, 0x0
iput-wide v0, p0, Lb/a/a/a/a/f;->a:J
return-void
.end method
.method private static a(D)Z
.registers 6
invoke-static {p0, p1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Double;->longValue()J
move-result-wide v0
long-to-double v0, v0
sub-double/2addr v0, p0
invoke-static {v0, v1}, Ljava/lang/Math;->abs(D)D
move-result-wide v0
const-wide/16 v2, 0x1
cmpg-double v0, v0, v2
if-gez v0, :cond_16
const/4 v0, 0x1
:goto_15
return v0
:cond_16
const/4 v0, 0x0
goto :goto_15
.end method
# virtual methods
.method public final a()V
.registers 3
iget-object v0, p0, Lb/a/a/a/a/f;->g:Lb/a/a/a/a/w;
invoke-virtual {v0}, Lb/a/a/a/a/w;->c()Z
move-result v0
if-eqz v0, :cond_f
:try_start_8
iget-object v0, p0, Lb/a/a/a/a/f;->g:Lb/a/a/a/a/w;
iget-object v0, v0, Lb/a/a/a/a/w;->g:Landroid/location/LocationManager;
invoke-virtual {v0, p0}, Landroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
:try_end_f
.catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_f} :catch_20
:cond_f
:goto_f
iget-object v0, p0, Lb/a/a/a/a/f;->b:Landroid/os/HandlerThread;
if-eqz v0, :cond_1b
iget-object v0, p0, Lb/a/a/a/a/f;->b:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->quit()Z
const/4 v0, 0x0
iput-object v0, p0, Lb/a/a/a/a/f;->b:Landroid/os/HandlerThread;
:cond_1b
const-wide/16 v0, 0x0
iput-wide v0, p0, Lb/a/a/a/a/f;->a:J
return-void
:catch_20
move-exception v0
goto :goto_f
.end method
.method public final a(Landroid/os/Handler;)V
.registers 4
new-instance v0, Landroid/os/HandlerThread;
const-string v1, "gps_provider"
invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lb/a/a/a/a/f;->b:Landroid/os/HandlerThread;
iget-object v0, p0, Lb/a/a/a/a/f;->b:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
new-instance v0, Landroid/os/Handler;
iget-object v1, p0, Lb/a/a/a/a/f;->b:Landroid/os/HandlerThread;
invoke-virtual {v1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lb/a/a/a/a/f;->c:Landroid/os/Handler;
iget-object v0, p0, Lb/a/a/a/a/f;->c:Landroid/os/Handler;
invoke-virtual {v0, p0}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
const-wide/16 v0, 0x0
iput-wide v0, p0, Lb/a/a/a/a/f;->a:J
return-void
.end method
.method public final b()Ljava/lang/String;
.registers 2
const-string v0, "GpsPro"
return-object v0
.end method
.method public final c()Landroid/location/Location;
.registers 4
const/4 v0, 0x0
:try_start_1
iget-object v1, p0, Lb/a/a/a/a/f;->g:Lb/a/a/a/a/w;
invoke-virtual {v1}, Lb/a/a/a/a/w;->c()Z
move-result v1
if-eqz v1, :cond_13
iget-object v1, p0, Lb/a/a/a/a/f;->g:Lb/a/a/a/a/w;
iget-object v1, v1, Lb/a/a/a/a/w;->g:Landroid/location/LocationManager;
const-string v2, "network"
invoke-virtual {v1, v2}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
:try_end_12
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_12} :catch_18
move-result-object v0
:cond_13
:goto_13
if-nez v0, :cond_17
sget-object v0, Lb/a/a/a/a/aa;->a:Landroid/location/Location;
:cond_17
return-object v0
:catch_18
move-exception v1
goto :goto_13
.end method
.method public final d()Z
.registers 4
const/4 v0, 0x0
iget-object v1, p0, Lb/a/a/a/a/f;->g:Lb/a/a/a/a/w;
iget-object v1, v1, Lb/a/a/a/a/w;->g:Landroid/location/LocationManager;
if-nez v1, :cond_8
:goto_7
return v0
:cond_8
:try_start_8
const-string v2, "gps"
invoke-virtual {v1, v2}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
:try_end_d
.catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_d} :catch_f
move-result v0
goto :goto_7
:catch_f
move-exception v1
goto :goto_7
.end method
.method public final onLocationChanged(Landroid/location/Location;)V
.registers 14
const-wide/high16 v10, 0x3ff0000000000000L # 1.0
const-wide v8, 0x3e45798ee2308c3aL # 1.0E-8
const/4 v0, 0x0
if-eqz p1, :cond_2b
:try_start_a
const-string v1, "gps"
invoke-virtual {p1}, Landroid/location/Location;->getProvider()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2b
invoke-virtual {p1}, Landroid/location/Location;->getLatitude()D
move-result-wide v2
invoke-virtual {p1}, Landroid/location/Location;->getLongitude()D
move-result-wide v4
invoke-virtual {p1}, Landroid/location/Location;->getAccuracy()F
move-result v1
const v6, 0x461c4000 # 10000.0f
cmpl-float v1, v1, v6
if-lez v1, :cond_2c
:cond_29
:goto_29
if-nez v0, :cond_82
:cond_2b
:goto_2b
return-void
:cond_2c
invoke-static {v2, v3}, Lb/a/a/a/a/f;->a(D)Z
move-result v1
if-eqz v1, :cond_38
invoke-static {v4, v5}, Lb/a/a/a/a/f;->a(D)Z
move-result v1
if-nez v1, :cond_29
:cond_38
invoke-static {v2, v3}, Ljava/lang/Math;->abs(D)D
move-result-wide v6
cmpg-double v1, v6, v8
if-ltz v1, :cond_29
invoke-static {v4, v5}, Ljava/lang/Math;->abs(D)D
move-result-wide v6
cmpg-double v1, v6, v8
if-ltz v1, :cond_29
sub-double v6, v2, v10
invoke-static {v6, v7}, Ljava/lang/Math;->abs(D)D
move-result-wide v6
cmpg-double v1, v6, v8
if-ltz v1, :cond_29
sub-double v6, v4, v10
invoke-static {v6, v7}, Ljava/lang/Math;->abs(D)D
move-result-wide v6
cmpg-double v1, v6, v8
if-ltz v1, :cond_29
const-wide v6, -0x3fa9800000000000L # -90.0
cmpg-double v1, v2, v6
if-ltz v1, :cond_29
const-wide v6, 0x4056800000000000L # 90.0
cmpl-double v1, v2, v6
if-gtz v1, :cond_29
const-wide v2, -0x3f99800000000000L # -180.0
cmpg-double v1, v4, v2
if-ltz v1, :cond_29
const-wide v2, 0x4066800000000000L # 180.0
cmpl-double v1, v4, v2
if-gtz v1, :cond_29
const/4 v0, 0x1
goto :goto_29
:cond_82
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lb/a/a/a/a/f;->a:J
new-instance v0, Lb/a/a/a/a/aa;
iget-wide v2, p0, Lb/a/a/a/a/f;->a:J
invoke-direct {v0, p1, v2, v3}, Lb/a/a/a/a/aa;-><init>(Landroid/location/Location;J)V
invoke-virtual {p0, v0}, Lb/a/a/a/a/f;->a(Lb/a/a/a/a/ac;)V
:try_end_92
.catch Ljava/lang/Throwable; {:try_start_a .. :try_end_92} :catch_93
goto :goto_2b
:catch_93
move-exception v0
goto :goto_2b
.end method
.method public final onProviderDisabled(Ljava/lang/String;)V
.registers 2
return-void
.end method
.method public final onProviderEnabled(Ljava/lang/String;)V
.registers 2
return-void
.end method
.method public final onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
.registers 4
return-void
.end method
.method public final run()V
.registers 8
iget-object v0, p0, Lb/a/a/a/a/f;->g:Lb/a/a/a/a/w;
invoke-virtual {v0}, Lb/a/a/a/a/w;->c()Z
move-result v0
if-eqz v0, :cond_1b
:try_start_8
iget-object v0, p0, Lb/a/a/a/a/f;->g:Lb/a/a/a/a/w;
iget-object v0, v0, Lb/a/a/a/a/w;->g:Landroid/location/LocationManager;
const-string v1, "passive"
const-wide/16 v2, 0x3e8
const/4 v4, 0x0
iget-object v5, p0, Lb/a/a/a/a/f;->b:Landroid/os/HandlerThread;
invoke-virtual {v5}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v6
move-object v5, p0
invoke-virtual/range {v0 .. v6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
:try_end_1b
.catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_1b} :catch_1c
:cond_1b
:goto_1b
return-void
:catch_1c
move-exception v0
goto :goto_1b
.end method