k.smali
.class public final Lcom/garena/location/LocationService/k;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/location/LocationListener;
# instance fields
.field public a:Lcom/garena/location/LocationService/e;
.field public b:Landroid/location/Location;
.field public c:Landroid/location/LocationManager;
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a(ZZLcom/garena/location/LocationService/e;)I
.registers 11
.line 1
iput-object p3, p0, Lcom/garena/location/LocationService/k;->a:Lcom/garena/location/LocationService/e;
.line 2
iget-object p3, p0, Lcom/garena/location/LocationService/k;->c:Landroid/location/LocationManager;
if-nez p3, :cond_16
.line 3
sget-object p3, Lcom/bumptech/glide/load/resource/transcode/f;->b:Landroid/app/Application;
invoke-virtual {p3}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p3
const-string v0, "location"
.line 4
invoke-virtual {p3, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p3
check-cast p3, Landroid/location/LocationManager;
iput-object p3, p0, Lcom/garena/location/LocationService/k;->c:Landroid/location/LocationManager;
.line 5
:cond_16
iget-object p3, p0, Lcom/garena/location/LocationService/k;->c:Landroid/location/LocationManager;
const/4 v0, 0x0
if-nez p3, :cond_2c
new-array p1, v0, [Ljava/lang/Object;
const-string p2, "legacy location service: can not get the location manager."
.line 6
invoke-static {p2, p1}, Lcom/garena/android/appkit/logging/a;->A(Ljava/lang/String;[Ljava/lang/Object;)V
.line 7
iget-object p1, p0, Lcom/garena/location/LocationService/k;->a:Lcom/garena/location/LocationService/e;
const/16 p2, 0x1002
if-eqz p1, :cond_2b
.line 8
invoke-interface {p1}, Lcom/garena/location/LocationService/e;->onError()V
:cond_2b
return p2
:cond_2c
const-string v1, "gps"
const-string v2, "network"
if-eqz p1, :cond_37
.line 9
invoke-virtual {p3, v1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
move-result p3
goto :goto_3b
.line 10
:cond_37
invoke-virtual {p3, v2}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
move-result p3
:goto_3b
if-nez p3, :cond_4c
new-array p2, v0, [Ljava/lang/Object;
const-string p3, "legacy location service: required service is disabled"
.line 11
invoke-static {p3, p2}, Lcom/garena/android/appkit/logging/a;->A(Ljava/lang/String;[Ljava/lang/Object;)V
if-eqz p1, :cond_49
const/16 p1, 0x1001
goto :goto_4b
:cond_49
const/16 p1, 0x1003
:goto_4b
return p1
:cond_4c
const p3, 0x493e0
const v3, 0xea60
if-eqz p1, :cond_8a
.line 12
iget-object p1, p0, Lcom/garena/location/LocationService/k;->c:Landroid/location/LocationManager;
invoke-virtual {p1, v1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
move-result-object p1
iput-object p1, p0, Lcom/garena/location/LocationService/k;->b:Landroid/location/Location;
if-eqz p1, :cond_7d
.line 13
invoke-virtual {p1}, Landroid/location/Location;->getTime()J
move-result-wide v1
sget-object p1, Lcom/garena/android/appkit/tools/helper/a;->a:Lcom/garena/android/appkit/tools/helper/a$a;
.line 14
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
if-eqz p2, :cond_6b
goto :goto_6e
:cond_6b
const p3, 0xea60
:goto_6e
int-to-long p1, p3
sub-long/2addr v4, p1
cmp-long p1, v1, v4
if-lez p1, :cond_75
goto :goto_7d
.line 15
:cond_75
iget-object p1, p0, Lcom/garena/location/LocationService/k;->a:Lcom/garena/location/LocationService/e;
if-eqz p1, :cond_bf
.line 16
invoke-interface {p1}, Lcom/garena/location/LocationService/e;->a()V
goto :goto_bf
.line 17
:cond_7d
:goto_7d
iget-object v1, p0, Lcom/garena/location/LocationService/k;->c:Landroid/location/LocationManager;
const-wide/16 v3, 0x7d0
const/high16 v5, 0x42c80000 # 100.0f
const-string v2, "gps"
move-object v6, p0
invoke-virtual/range {v1 .. v6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
goto :goto_bf
.line 18
:cond_8a
iget-object p1, p0, Lcom/garena/location/LocationService/k;->c:Landroid/location/LocationManager;
invoke-virtual {p1, v2}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
move-result-object p1
iput-object p1, p0, Lcom/garena/location/LocationService/k;->b:Landroid/location/Location;
if-eqz p1, :cond_b3
.line 19
invoke-virtual {p1}, Landroid/location/Location;->getTime()J
move-result-wide v1
sget-object p1, Lcom/garena/android/appkit/tools/helper/a;->a:Lcom/garena/android/appkit/tools/helper/a$a;
.line 20
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
if-eqz p2, :cond_a1
goto :goto_a4
:cond_a1
const p3, 0xea60
:goto_a4
int-to-long p1, p3
sub-long/2addr v4, p1
cmp-long p1, v1, v4
if-lez p1, :cond_ab
goto :goto_b3
.line 21
:cond_ab
iget-object p1, p0, Lcom/garena/location/LocationService/k;->a:Lcom/garena/location/LocationService/e;
if-eqz p1, :cond_bf
.line 22
invoke-interface {p1}, Lcom/garena/location/LocationService/e;->a()V
goto :goto_bf
.line 23
:cond_b3
:goto_b3
iget-object v1, p0, Lcom/garena/location/LocationService/k;->c:Landroid/location/LocationManager;
const-wide/16 v3, 0x7d0
const/high16 v5, 0x43fa0000 # 500.0f
const-string v2, "network"
move-object v6, p0
invoke-virtual/range {v1 .. v6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
:cond_bf
:goto_bf
return v0
.end method
.method public final onLocationChanged(Landroid/location/Location;)V
.registers 11
const/4 v0, 0x1
new-array v1, v0, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const-string v3, "legacy location service :onLocationChanged:%s"
.line 1
invoke-static {v3, v1}, Lcom/garena/android/appkit/logging/a;->T(Ljava/lang/String;[Ljava/lang/Object;)V
if-nez p1, :cond_e
return-void
.line 2
:cond_e
iget-object v1, p0, Lcom/garena/location/LocationService/k;->b:Landroid/location/Location;
if-nez v1, :cond_14
goto/16 :goto_84
.line 3
:cond_14
invoke-virtual {p1}, Landroid/location/Location;->getTime()J
move-result-wide v3
iget-object v1, p0, Lcom/garena/location/LocationService/k;->b:Landroid/location/Location;
invoke-virtual {v1}, Landroid/location/Location;->getTime()J
move-result-wide v5
sub-long/2addr v3, v5
const-wide/32 v5, 0xea60
cmp-long v1, v3, v5
if-lez v1, :cond_28
const/4 v1, 0x1
goto :goto_29
:cond_28
const/4 v1, 0x0
:goto_29
const-wide/32 v5, -0xea60
cmp-long v7, v3, v5
if-gez v7, :cond_32
const/4 v5, 0x1
goto :goto_33
:cond_32
const/4 v5, 0x0
:goto_33
const-wide/16 v6, 0x0
cmp-long v8, v3, v6
if-lez v8, :cond_3b
const/4 v3, 0x1
goto :goto_3c
:cond_3b
const/4 v3, 0x0
:goto_3c
if-eqz v1, :cond_3f
goto :goto_84
:cond_3f
if-eqz v5, :cond_43
:cond_41
const/4 v0, 0x0
goto :goto_84
.line 4
:cond_43
invoke-virtual {p1}, Landroid/location/Location;->getAccuracy()F
move-result v1
iget-object v4, p0, Lcom/garena/location/LocationService/k;->b:Landroid/location/Location;
.line 5
invoke-virtual {v4}, Landroid/location/Location;->getAccuracy()F
move-result v4
sub-float/2addr v1, v4
float-to-int v1, v1
if-lez v1, :cond_53
const/4 v4, 0x1
goto :goto_54
:cond_53
const/4 v4, 0x0
:goto_54
if-gez v1, :cond_58
const/4 v5, 0x1
goto :goto_59
:cond_58
const/4 v5, 0x0
:goto_59
const/16 v6, 0xc8
if-le v1, v6, :cond_5f
const/4 v1, 0x1
goto :goto_60
:cond_5f
const/4 v1, 0x0
.line 6
:goto_60
invoke-virtual {p1}, Landroid/location/Location;->getProvider()Ljava/lang/String;
move-result-object v6
iget-object v7, p0, Lcom/garena/location/LocationService/k;->b:Landroid/location/Location;
.line 7
invoke-virtual {v7}, Landroid/location/Location;->getProvider()Ljava/lang/String;
move-result-object v7
if-nez v6, :cond_72
if-nez v7, :cond_70
const/4 v6, 0x1
goto :goto_76
:cond_70
const/4 v6, 0x0
goto :goto_76
.line 8
:cond_72
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
:goto_76
if-eqz v5, :cond_79
goto :goto_84
:cond_79
if-eqz v3, :cond_7e
if-nez v4, :cond_7e
goto :goto_84
:cond_7e
if-eqz v3, :cond_41
if-nez v1, :cond_41
if-eqz v6, :cond_41
:goto_84
if-eqz v0, :cond_97
new-array v0, v2, [Ljava/lang/Object;
const-string v1, "GPS:find the better location"
.line 9
invoke-static {v1, v0}, Lcom/garena/android/appkit/logging/a;->A(Ljava/lang/String;[Ljava/lang/Object;)V
.line 10
iput-object p1, p0, Lcom/garena/location/LocationService/k;->b:Landroid/location/Location;
.line 11
iget-object p1, p0, Lcom/garena/location/LocationService/k;->a:Lcom/garena/location/LocationService/e;
if-eqz p1, :cond_9e
.line 12
invoke-interface {p1}, Lcom/garena/location/LocationService/e;->a()V
goto :goto_9e
:cond_97
new-array p1, v2, [Ljava/lang/Object;
const-string v0, "legacy location service:find the not nice location"
.line 13
invoke-static {v0, p1}, Lcom/garena/android/appkit/logging/a;->T(Ljava/lang/String;[Ljava/lang/Object;)V
:cond_9e
:goto_9e
return-void
.end method
.method public final onProviderDisabled(Ljava/lang/String;)V
.registers 4
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
aput-object p1, v0, v1
const-string p1, "GPS:onProviderDisabled:%s"
invoke-static {p1, v0}, Lcom/garena/android/appkit/logging/a;->A(Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method public final onProviderEnabled(Ljava/lang/String;)V
.registers 4
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
aput-object p1, v0, v1
const-string p1, "GPS:onProviderEnabled:%s"
invoke-static {p1, v0}, Lcom/garena/android/appkit/logging/a;->T(Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method public final onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
.registers 4
const/4 p2, 0x1
new-array p2, p2, [Ljava/lang/Object;
const/4 p3, 0x0
aput-object p1, p2, p3
const-string p1, "GPS:onStatusChanged:%s"
invoke-static {p1, p2}, Lcom/garena/android/appkit/logging/a;->T(Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method