HurriyetLocationHelper.smali

.class public Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;
.super Ljava/lang/Object;
.source "HurriyetLocationHelper.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$CityNameListener;
    }
.end annotation


# static fields
.field private static mInstance:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;


# instance fields
.field private mCityNameListener:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$CityNameListener;

.field private mConnectionCallbacks:Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;

.field private mConnectionFailedListener:Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;

.field private mExternalPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

.field private mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

.field private final mGoogleApiConnectionPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

.field private mLastLocation:Landroid/location/Location;

.field private mLocationRequest:Lcom/google/android/gms/location/LocationRequest;


# direct methods
.method private constructor <init>()V
    .registers 2

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

    .line 131
    new-instance v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$2;

    invoke-direct {v0, p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$2;-><init>(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)V

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mConnectionCallbacks:Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;

    .line 168
    new-instance v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$3;

    invoke-direct {v0, p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$3;-><init>(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)V

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mConnectionFailedListener:Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;

    .line 188
    new-instance v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$4;

    invoke-direct {v0, p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$4;-><init>(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)V

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiConnectionPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

    return-void
.end method

.method static synthetic access$000(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)Lcom/google/android/gms/common/api/GoogleApiClient;
    .registers 1

    .line 50
    iget-object p0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    return-object p0
.end method

.method static synthetic access$100(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)Landroid/location/Location;
    .registers 1

    .line 50
    iget-object p0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLastLocation:Landroid/location/Location;

    return-object p0
.end method

.method static synthetic access$102(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;Landroid/location/Location;)Landroid/location/Location;
    .registers 2

    .line 50
    iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLastLocation:Landroid/location/Location;

    return-object p1
.end method

.method static synthetic access$200(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)Z
    .registers 1

    .line 50
    invoke-direct {p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->isLocationEnabled()Z

    move-result p0

    return p0
.end method

.method static synthetic access$300(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;Z)V
    .registers 2

    .line 50
    invoke-direct {p0, p1}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->requestLocationUpdates(Z)V

    return-void
.end method

.method static synthetic access$400(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$CityNameListener;
    .registers 1

    .line 50
    iget-object p0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mCityNameListener:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$CityNameListener;

    return-object p0
.end method

.method static synthetic access$500(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)Lcom/appcore/utils/permissions/CorePermission$PermissionListener;
    .registers 1

    .line 50
    iget-object p0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mExternalPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

    return-object p0
.end method

.method public static getInstance()Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;
    .registers 1

    .line 72
    sget-object v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mInstance:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;

    return-object v0
.end method

.method public static getInstance(Landroid/app/Activity;)Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;
    .registers 2

    .line 63
    sget-object v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mInstance:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;

    if-nez v0, :cond_e

    .line 64
    new-instance v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;

    invoke-direct {v0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;-><init>()V

    sput-object v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mInstance:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;

    .line 65
    invoke-direct {v0, p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->initialize(Landroid/app/Activity;)V

    .line 67
    :cond_e
    sget-object p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mInstance:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;

    return-object p0
.end method

.method private initialize(Landroid/app/Activity;)V
    .registers 3

    .line 77
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    if-nez v0, :cond_21

    .line 78
    new-instance v0, Lcom/google/android/gms/common/api/GoogleApiClient$Builder;

    invoke-direct {v0, p1}, Lcom/google/android/gms/common/api/GoogleApiClient$Builder;-><init>(Landroid/content/Context;)V

    iget-object p1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mConnectionCallbacks:Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;

    .line 79
    invoke-virtual {v0, p1}, Lcom/google/android/gms/common/api/GoogleApiClient$Builder;->addConnectionCallbacks(Lcom/google/android/gms/common/api/GoogleApiClient$ConnectionCallbacks;)Lcom/google/android/gms/common/api/GoogleApiClient$Builder;

    move-result-object p1

    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mConnectionFailedListener:Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;

    .line 80
    invoke-virtual {p1, v0}, Lcom/google/android/gms/common/api/GoogleApiClient$Builder;->addOnConnectionFailedListener(Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)Lcom/google/android/gms/common/api/GoogleApiClient$Builder;

    move-result-object p1

    sget-object v0, Lcom/google/android/gms/location/LocationServices;->API:Lcom/google/android/gms/common/api/Api;

    .line 81
    invoke-virtual {p1, v0}, Lcom/google/android/gms/common/api/GoogleApiClient$Builder;->addApi(Lcom/google/android/gms/common/api/Api;)Lcom/google/android/gms/common/api/GoogleApiClient$Builder;

    move-result-object p1

    .line 82
    invoke-virtual {p1}, Lcom/google/android/gms/common/api/GoogleApiClient$Builder;->build()Lcom/google/android/gms/common/api/GoogleApiClient;

    move-result-object p1

    iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    :cond_21
    return-void
.end method

.method private isLocationEnabled()Z
    .registers 5

    const/4 v0, 0x0

    .line 369
    :try_start_1
    invoke-static {}, Lhurriyet/mobil/android/hurriyet/HApp;->getAppContext()Landroid/content/Context;

    move-result-object v1

    const-string v2, "location"

    invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/location/LocationManager;

    const-string v2, "gps"

    .line 370
    invoke-virtual {v1, v2}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z

    move-result v2
    :try_end_13
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_13} :catch_1c

    :try_start_13
    const-string v3, "network"

    .line 371
    invoke-virtual {v1, v3}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z

    move-result v1
    :try_end_19
    .catch Ljava/lang/Exception; {:try_start_13 .. :try_end_19} :catch_1a

    goto :goto_22

    :catch_1a
    move-exception v1

    goto :goto_1e

    :catch_1c
    move-exception v1

    const/4 v2, 0x0

    .line 373
    :goto_1e
    invoke-static {v1}, Lcom/appcore/utils/L;->ex(Ljava/lang/Exception;)V

    const/4 v1, 0x0

    :goto_22
    if-nez v2, :cond_26

    if-eqz v1, :cond_27

    :cond_26
    const/4 v0, 0x1

    :cond_27
    return v0
.end method

.method private notifyLocationIsDisabled(Landroid/app/Activity;)V
    .registers 5

    .line 379
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiConnectionPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

    invoke-interface {v0}, Lcom/appcore/utils/permissions/CorePermission$PermissionListener;->onPermissionAllowed()I

    const/4 v0, 0x0

    .line 380
    invoke-direct {p0, v0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->requestLocationUpdates(Z)V

    .line 381
    new-instance v0, Lcom/google/android/gms/location/LocationSettingsRequest$Builder;

    invoke-direct {v0}, Lcom/google/android/gms/location/LocationSettingsRequest$Builder;-><init>()V

    iget-object v1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLocationRequest:Lcom/google/android/gms/location/LocationRequest;

    .line 383
    invoke-virtual {v0, v1}, Lcom/google/android/gms/location/LocationSettingsRequest$Builder;->addLocationRequest(Lcom/google/android/gms/location/LocationRequest;)Lcom/google/android/gms/location/LocationSettingsRequest$Builder;

    move-result-object v0

    const/4 v1, 0x1

    .line 384
    invoke-virtual {v0, v1}, Lcom/google/android/gms/location/LocationSettingsRequest$Builder;->setAlwaysShow(Z)Lcom/google/android/gms/location/LocationSettingsRequest$Builder;

    move-result-object v0

    .line 385
    invoke-virtual {v0}, Lcom/google/android/gms/location/LocationSettingsRequest$Builder;->build()Lcom/google/android/gms/location/LocationSettingsRequest;

    move-result-object v0

    .line 386
    sget-object v1, Lcom/google/android/gms/location/LocationServices;->SettingsApi:Lcom/google/android/gms/location/SettingsApi;

    iget-object v2, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    invoke-interface {v1, v2, v0}, Lcom/google/android/gms/location/SettingsApi;->checkLocationSettings(Lcom/google/android/gms/common/api/GoogleApiClient;Lcom/google/android/gms/location/LocationSettingsRequest;)Lcom/google/android/gms/common/api/PendingResult;

    move-result-object v0

    .line 387
    new-instance v1, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$6;

    invoke-direct {v1, p0, p1}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$6;-><init>(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;Landroid/app/Activity;)V

    invoke-virtual {v0, v1}, Lcom/google/android/gms/common/api/PendingResult;->setResultCallback(Lcom/google/android/gms/common/api/ResultCallback;)V

    return-void
.end method

.method private notifyLocationServiceIsNotReady(Landroid/app/Activity;)V
    .registers 9

    .line 449
    :try_start_0
    new-instance v6, Lcom/appcore/ui/alerts/CoreAlertDialog;

    const v0, 0x7f10002f

    .line 451
    invoke-static {v0}, Lhurriyet/mobil/android/hurriyet/HApp;->getStrWithID(I)Ljava/lang/String;

    move-result-object v2

    const/4 v3, 0x0

    const/4 v4, 0x0

    const v5, 0x7f0c0021

    move-object v0, v6

    move-object v1, p1

    invoke-direct/range {v0 .. v5}, Lcom/appcore/ui/alerts/CoreAlertDialog;-><init>(Landroid/content/Context;Ljava/lang/String;Lcom/appcore/ui/alerts/CoreAlertDialog$CustomAlertDialogButtonListener;ZI)V

    const p1, 0x7f100239

    .line 453
    invoke-static {p1}, Lhurriyet/mobil/android/hurriyet/HApp;->getStrWithID(I)Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v6, p1}, Lcom/appcore/ui/alerts/CoreAlertDialog;->setPositiveText(Ljava/lang/String;)V

    .line 454
    invoke-virtual {v6}, Lcom/appcore/ui/alerts/CoreAlertDialog;->show()V
    :try_end_20
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_20} :catch_21

    goto :goto_25

    :catch_21
    move-exception p1

    .line 456
    invoke-static {p1}, Lcom/appcore/utils/L;->ex(Ljava/lang/Exception;)V

    :goto_25
    return-void
.end method

.method private requestLocationUpdates(Z)V
    .registers 5

    .line 87
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLocationRequest:Lcom/google/android/gms/location/LocationRequest;

    if-nez v0, :cond_1c

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

    move-result-object v0

    const/16 v1, 0x66

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

    move-result-object v0

    const-wide/16 v1, 0x2710

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

    move-result-object v0

    const-wide/16 v1, 0x3e8

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

    move-result-object v0

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLocationRequest:Lcom/google/android/gms/location/LocationRequest;

    :cond_1c
    if-eqz p1, :cond_62

    .line 95
    iget-object p1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    if-eqz p1, :cond_62

    invoke-virtual {p1}, Lcom/google/android/gms/common/api/GoogleApiClient;->isConnected()Z

    move-result p1

    if-eqz p1, :cond_62

    .line 96
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result p1

    if-eqz p1, :cond_3b

    sget-boolean p1, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz p1, :cond_3b

    const-string p1, "Location services : Location is being requested"

    .line 97
    filled-new-array {p1}, [Ljava/lang/String;

    move-result-object p1

    invoke-static {p1}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V

    .line 100
    :cond_3b
    invoke-static {}, Lhurriyet/mobil/android/hurriyet/HApp;->getAppContext()Landroid/content/Context;

    move-result-object p1

    const-string v0, "android.permission.ACCESS_FINE_LOCATION"

    invoke-static {p1, v0}, Landroidx/core/app/ActivityCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I

    move-result p1

    if-eqz p1, :cond_54

    .line 101
    invoke-static {}, Lhurriyet/mobil/android/hurriyet/HApp;->getAppContext()Landroid/content/Context;

    move-result-object p1

    const-string v0, "android.permission.ACCESS_COARSE_LOCATION"

    invoke-static {p1, v0}, Landroidx/core/app/ActivityCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I

    move-result p1

    if-eqz p1, :cond_54

    return-void

    .line 111
    :cond_54
    sget-object p1, Lcom/google/android/gms/location/LocationServices;->FusedLocationApi:Lcom/google/android/gms/location/FusedLocationProviderApi;

    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    iget-object v1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLocationRequest:Lcom/google/android/gms/location/LocationRequest;

    new-instance v2, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$1;

    invoke-direct {v2, p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$1;-><init>(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)V

    invoke-interface {p1, v0, v1, v2}, Lcom/google/android/gms/location/FusedLocationProviderApi;->requestLocationUpdates(Lcom/google/android/gms/common/api/GoogleApiClient;Lcom/google/android/gms/location/LocationRequest;Lcom/google/android/gms/location/LocationListener;)Lcom/google/android/gms/common/api/PendingResult;

    :cond_62
    return-void
.end method


# virtual methods
.method public connect(Lcom/appcore/ui/base/CoreActivity;Z)V
    .registers 8

    .line 334
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result v0

    const/4 v1, 0x1

    if-eqz v0, :cond_24

    sget-boolean v0, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz v0, :cond_24

    new-array v0, v1, [Ljava/lang/String;

    const/4 v2, 0x0

    .line 335
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "Location services : Connect; isSilent:"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v0, v2

    invoke-static {v0}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V

    :cond_24
    const-string v0, "android.permission.ACCESS_COARSE_LOCATION"

    .line 337
    filled-new-array {v0}, [Ljava/lang/String;

    move-result-object v0

    .line 338
    invoke-static {p1, v0}, Lcom/appcore/utils/permissions/CorePermission;->isPermissionsGranted(Lcom/appcore/ui/base/CoreActivity;[Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_70

    .line 339
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result v0

    if-eqz v0, :cond_43

    sget-boolean v0, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz v0, :cond_43

    const-string v0, "Location services : Permission granted"

    .line 340
    filled-new-array {v0}, [Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V

    .line 342
    :cond_43
    invoke-direct {p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->isLocationEnabled()Z

    move-result v0

    if-eqz v0, :cond_6a

    .line 343
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result v0

    if-eqz v0, :cond_5c

    sget-boolean v0, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz v0, :cond_5c

    const-string v0, "Location services : Location enabled"

    .line 344
    filled-new-array {v0}, [Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V

    .line 347
    :cond_5c
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiConnectionPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

    invoke-interface {v0}, Lcom/appcore/utils/permissions/CorePermission$PermissionListener;->onPermissionAllowed()I

    move-result v0

    if-ne v0, v1, :cond_6f

    if-nez p2, :cond_6f

    .line 350
    invoke-direct {p0, p1}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->notifyLocationServiceIsNotReady(Landroid/app/Activity;)V

    goto :goto_6f

    :cond_6a
    if-nez p2, :cond_6f

    .line 355
    invoke-direct {p0, p1}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->notifyLocationIsDisabled(Landroid/app/Activity;)V

    :cond_6f
    :goto_6f
    return-void

    .line 359
    :cond_70
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result p2

    if-eqz p2, :cond_83

    sget-boolean p2, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz p2, :cond_83

    const-string p2, "Location services : Permission required. Requesting."

    .line 360
    filled-new-array {p2}, [Ljava/lang/String;

    move-result-object p2

    invoke-static {p2}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V

    .line 363
    :cond_83
    iget-object p2, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiConnectionPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

    invoke-static {p1, v0, p2}, Lcom/appcore/utils/permissions/CorePermission;->requestPermissions(Lcom/appcore/ui/base/CoreActivity;[Ljava/lang/String;Lcom/appcore/utils/permissions/CorePermission$PermissionListener;)V

    return-void
.end method

.method public disconnect()V
    .registers 2

    .line 322
    :try_start_0
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    if-eqz v0, :cond_31

    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    invoke-virtual {v0}, Lcom/google/android/gms/common/api/GoogleApiClient;->isConnected()Z

    move-result v0

    if-nez v0, :cond_14

    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    invoke-virtual {v0}, Lcom/google/android/gms/common/api/GoogleApiClient;->isConnecting()Z

    move-result v0

    if-eqz v0, :cond_31

    .line 323
    :cond_14
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mGoogleApiClient:Lcom/google/android/gms/common/api/GoogleApiClient;

    invoke-virtual {v0}, Lcom/google/android/gms/common/api/GoogleApiClient;->disconnect()V

    .line 324
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result v0

    if-eqz v0, :cond_31

    sget-boolean v0, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz v0, :cond_31

    const-string v0, "Location services : Disconnected"

    .line 325
    filled-new-array {v0}, [Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V
    :try_end_2c
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2c} :catch_2d

    goto :goto_31

    :catch_2d
    move-exception v0

    .line 329
    invoke-static {v0}, Lcom/appcore/utils/L;->ex(Ljava/lang/Exception;)V

    :cond_31
    :goto_31
    return-void
.end method

.method public getLocation()Landroid/location/Location;
    .registers 2

    .line 265
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLastLocation:Landroid/location/Location;

    return-object v0
.end method

.method public getLocationName(Lcom/appcore/ui/base/CoreActivity;)V
    .registers 4

    .line 277
    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mCityNameListener:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$CityNameListener;

    if-eqz v0, :cond_2c

    .line 278
    new-instance v0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$5;

    invoke-direct {v0, p0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$5;-><init>(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;)V

    .line 304
    iget-object v1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mLastLocation:Landroid/location/Location;

    if-eqz v1, :cond_11

    .line 306
    invoke-interface {v0}, Ljava/lang/Runnable;->run()V

    goto :goto_3f

    :cond_11
    if-eqz p1, :cond_18

    const/4 v0, 0x0

    .line 308
    invoke-virtual {p0, p1, v0}, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->connect(Lcom/appcore/ui/base/CoreActivity;Z)V

    goto :goto_3f

    .line 309
    :cond_18
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result p1

    if-eqz p1, :cond_3f

    sget-boolean p1, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz p1, :cond_3f

    const-string p1, "Location name : Activity was null"

    .line 310
    filled-new-array {p1}, [Ljava/lang/String;

    move-result-object p1

    invoke-static {p1}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V

    goto :goto_3f

    .line 312
    :cond_2c
    invoke-static {}, Lcom/appcore/CoreApp;->isDevEnabled()Z

    move-result p1

    if-eqz p1, :cond_3f

    sget-boolean p1, Lhurriyet/mobil/android/hurriyet/HConstants;->LOGS_ENABLED_FOR_LOCATION_SERVICES:Z

    if-eqz p1, :cond_3f

    const-string p1, "Location name : City name listener was null"

    .line 313
    filled-new-array {p1}, [Ljava/lang/String;

    move-result-object p1

    invoke-static {p1}, Lcom/appcore/utils/L;->wtf([Ljava/lang/String;)V

    :cond_3f
    :goto_3f
    return-void
.end method

.method public setCityNameListener(Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$CityNameListener;)V
    .registers 2

    .line 273
    iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mCityNameListener:Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper$CityNameListener;

    return-void
.end method

.method public setPermissionListener(Lcom/appcore/utils/permissions/CorePermission$PermissionListener;)V
    .registers 2

    .line 269
    iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/utils/HurriyetLocationHelper;->mExternalPermissionListener:Lcom/appcore/utils/permissions/CorePermission$PermissionListener;

    return-void
.end method