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