o.smali

.class public Li/o;
.super Ljava/lang/Object;
.source "FusedLocationSource.java"

# interfaces
.implements Lcom/google/android/gms/maps/LocationSource;


# instance fields
.field public final a:Lcom/google/android/gms/location/FusedLocationProviderClient;

.field public final b:Lcom/google/android/gms/location/LocationRequest;

.field public c:Lcom/google/android/gms/location/LocationCallback;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 4

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    invoke-static {p1}, Lcom/google/android/gms/location/LocationServices;->getFusedLocationProviderClient(Landroid/content/Context;)Lcom/google/android/gms/location/FusedLocationProviderClient;

    move-result-object p1

    iput-object p1, p0, Li/o;->a:Lcom/google/android/gms/location/FusedLocationProviderClient;

    invoke-static {}, Lcom/google/android/gms/location/LocationRequest;->create()Lcom/google/android/gms/location/LocationRequest;

    move-result-object p1

    iput-object p1, p0, Li/o;->b:Lcom/google/android/gms/location/LocationRequest;

    const/16 v0, 0x64

    invoke-virtual {p1, v0}, Lcom/google/android/gms/location/LocationRequest;->setPriority(I)Lcom/google/android/gms/location/LocationRequest;

    iget-object p1, p0, Li/o;->b:Lcom/google/android/gms/location/LocationRequest;

    const-wide/16 v0, 0x5000

    invoke-virtual {p1, v0, v1}, Lcom/google/android/gms/location/LocationRequest;->setInterval(J)Lcom/google/android/gms/location/LocationRequest;

    return-void
.end method


# virtual methods
.method public a(I)V
    .registers 5

    iget-object v0, p0, Li/o;->b:Lcom/google/android/gms/location/LocationRequest;

    int-to-long v1, p1

    invoke-virtual {v0, v1, v2}, Lcom/google/android/gms/location/LocationRequest;->setFastestInterval(J)Lcom/google/android/gms/location/LocationRequest;

    return-void
.end method

.method public activate(Lcom/google/android/gms/maps/LocationSource$OnLocationChangedListener;)V
    .registers 5

    :try_start_0
    iget-object v0, p0, Li/o;->a:Lcom/google/android/gms/location/FusedLocationProviderClient;

    invoke-virtual {v0}, Lcom/google/android/gms/location/FusedLocationProviderClient;->getLastLocation()Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    new-instance v1, Li/o$a;

    invoke-direct {v1, p0, p1}, Li/o$a;-><init>(Li/o;Lcom/google/android/gms/maps/LocationSource$OnLocationChangedListener;)V

    invoke-virtual {v0, v1}, Lcom/google/android/gms/tasks/Task;->addOnSuccessListener(Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;

    new-instance v0, Li/o$b;

    invoke-direct {v0, p0, p1}, Li/o$b;-><init>(Li/o;Lcom/google/android/gms/maps/LocationSource$OnLocationChangedListener;)V

    iput-object v0, p0, Li/o;->c:Lcom/google/android/gms/location/LocationCallback;

    iget-object p1, p0, Li/o;->a:Lcom/google/android/gms/location/FusedLocationProviderClient;

    iget-object v1, p0, Li/o;->b:Lcom/google/android/gms/location/LocationRequest;

    invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;

    move-result-object v2

    invoke-virtual {p1, v1, v0, v2}, Lcom/google/android/gms/location/FusedLocationProviderClient;->requestLocationUpdates(Lcom/google/android/gms/location/LocationRequest;Lcom/google/android/gms/location/LocationCallback;Landroid/os/Looper;)Lcom/google/android/gms/tasks/Task;
    :try_end_20
    .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_20} :catch_21

    goto :goto_25

    :catch_21
    move-exception p1

    invoke-virtual {p1}, Ljava/lang/SecurityException;->printStackTrace()V

    :goto_25
    return-void
.end method

.method public b(I)V
    .registers 5

    iget-object v0, p0, Li/o;->b:Lcom/google/android/gms/location/LocationRequest;

    int-to-long v1, p1

    invoke-virtual {v0, v1, v2}, Lcom/google/android/gms/location/LocationRequest;->setInterval(J)Lcom/google/android/gms/location/LocationRequest;

    return-void
.end method

.method public c(I)V
    .registers 3

    iget-object v0, p0, Li/o;->b:Lcom/google/android/gms/location/LocationRequest;

    invoke-virtual {v0, p1}, Lcom/google/android/gms/location/LocationRequest;->setPriority(I)Lcom/google/android/gms/location/LocationRequest;

    return-void
.end method

.method public deactivate()V
    .registers 3

    iget-object v0, p0, Li/o;->a:Lcom/google/android/gms/location/FusedLocationProviderClient;

    iget-object v1, p0, Li/o;->c:Lcom/google/android/gms/location/LocationCallback;

    invoke-virtual {v0, v1}, Lcom/google/android/gms/location/FusedLocationProviderClient;->removeLocationUpdates(Lcom/google/android/gms/location/LocationCallback;)Lcom/google/android/gms/tasks/Task;

    return-void
.end method