SendMessagesHelper$LocationProvider.smali
.class public Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;
.super Ljava/lang/Object;
.source "SendMessagesHelper.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lim/tpelyyftgw/messenger/SendMessagesHelper;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "LocationProvider"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;,
Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
}
.end annotation
# instance fields
.field private delegate:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
.field private gpsLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
.field private lastKnownLocation:Landroid/location/Location;
.field private locationManager:Landroid/location/LocationManager;
.field private locationQueryCancelRunnable:Ljava/lang/Runnable;
.field private networkLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 3
.line 175
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 132
new-instance v0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;-><init>(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;Lim/tpelyyftgw/messenger/SendMessagesHelper$1;)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->gpsLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
.line 133
new-instance v0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
invoke-direct {v0, p0, v1}, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;-><init>(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;Lim/tpelyyftgw/messenger/SendMessagesHelper$1;)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->networkLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
.line 177
return-void
.end method
.method public constructor <init>(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;)V
.registers 4
.param p1, "locationProviderDelegate" # Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
.line 179
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 132
new-instance v0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;-><init>(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;Lim/tpelyyftgw/messenger/SendMessagesHelper$1;)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->gpsLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
.line 133
new-instance v0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
invoke-direct {v0, p0, v1}, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;-><init>(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;Lim/tpelyyftgw/messenger/SendMessagesHelper$1;)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->networkLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
.line 180
iput-object p1, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->delegate:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
.line 181
return-void
.end method
.method static synthetic access$300(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;)Ljava/lang/Runnable;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;
.line 122
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationQueryCancelRunnable:Ljava/lang/Runnable;
return-object v0
.end method
.method static synthetic access$400(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;)Landroid/location/Location;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;
.line 122
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->lastKnownLocation:Landroid/location/Location;
return-object v0
.end method
.method static synthetic access$402(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;Landroid/location/Location;)Landroid/location/Location;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;
.param p1, "x1" # Landroid/location/Location;
.line 122
iput-object p1, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->lastKnownLocation:Landroid/location/Location;
return-object p1
.end method
.method static synthetic access$500(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;)Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;
.line 122
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->delegate:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
return-object v0
.end method
.method static synthetic access$600(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;)V
.registers 1
.param p0, "x0" # Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;
.line 122
invoke-direct {p0}, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->cleanup()V
return-void
.end method
.method private cleanup()V
.registers 3
.line 188
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
iget-object v1, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->gpsLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
invoke-virtual {v0, v1}, Landroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
.line 189
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
iget-object v1, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->networkLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
invoke-virtual {v0, v1}, Landroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
.line 190
const/4 v0, 0x0
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->lastKnownLocation:Landroid/location/Location;
.line 191
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationQueryCancelRunnable:Ljava/lang/Runnable;
.line 192
return-void
.end method
# virtual methods
.method public setDelegate(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;)V
.registers 2
.param p1, "locationProviderDelegate" # Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
.line 184
iput-object p1, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->delegate:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$LocationProviderDelegate;
.line 185
return-void
.end method
.method public start()V
.registers 8
.line 195
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
if-nez v0, :cond_10
.line 196
sget-object v0, Lim/tpelyyftgw/messenger/ApplicationLoader;->applicationContext:Landroid/content/Context;
const-string v1, "location"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/location/LocationManager;
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
.line 199
:cond_10
:try_start_10
iget-object v1, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
const-string v2, "gps"
const-wide/16 v3, 0x1
const/4 v5, 0x0
iget-object v6, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->gpsLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
invoke-virtual/range {v1 .. v6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
:try_end_1c
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_1c} :catch_1d
.line 202
goto :goto_21
.line 200
:catch_1d
move-exception v0
.line 201
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 204
.end local v0 # "e":Ljava/lang/Exception;
:goto_21
:try_start_21
iget-object v1, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
const-string v2, "network"
const-wide/16 v3, 0x1
const/4 v5, 0x0
iget-object v6, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->networkLocationListener:Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$GpsLocationListener;
invoke-virtual/range {v1 .. v6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_21 .. :try_end_2d} :catch_2e
.line 207
goto :goto_32
.line 205
:catch_2e
move-exception v0
.line 206
.restart local v0 # "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 209
.end local v0 # "e":Ljava/lang/Exception;
:goto_32
:try_start_32
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
const-string v1, "gps"
invoke-virtual {v0, v1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->lastKnownLocation:Landroid/location/Location;
.line 210
if-nez v0, :cond_48
.line 211
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
const-string v1, "network"
invoke-virtual {v0, v1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->lastKnownLocation:Landroid/location/Location;
:try_end_48
.catch Ljava/lang/Exception; {:try_start_32 .. :try_end_48} :catch_49
.line 215
:cond_48
goto :goto_4d
.line 213
:catch_49
move-exception v0
.line 214
.restart local v0 # "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 216
.end local v0 # "e":Ljava/lang/Exception;
:goto_4d
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationQueryCancelRunnable:Ljava/lang/Runnable;
if-eqz v0, :cond_54
.line 217
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->cancelRunOnUIThread(Ljava/lang/Runnable;)V
.line 219
:cond_54
new-instance v0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$1;
invoke-direct {v0, p0}, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider$1;-><init>(Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationQueryCancelRunnable:Ljava/lang/Runnable;
.line 235
const-wide/16 v1, 0x1388
invoke-static {v0, v1, v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->runOnUIThread(Ljava/lang/Runnable;J)V
.line 236
return-void
.end method
.method public stop()V
.registers 2
.line 239
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationManager:Landroid/location/LocationManager;
if-nez v0, :cond_5
.line 240
return-void
.line 242
:cond_5
iget-object v0, p0, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->locationQueryCancelRunnable:Ljava/lang/Runnable;
if-eqz v0, :cond_c
.line 243
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->cancelRunOnUIThread(Ljava/lang/Runnable;)V
.line 246
:cond_c
invoke-direct {p0}, Lim/tpelyyftgw/messenger/SendMessagesHelper$LocationProvider;->cleanup()V
.line 247
return-void
.end method