ConnectivityChangeReceiver.smali

.class public Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;
.super Landroid/content/BroadcastReceiver;
.source "ConnectivityChangeReceiver.java"


# instance fields
.field private mConnectionListener:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityListener;

.field private mConnectionNotifierHandler:Landroid/os/Handler;

.field private mConnectionNotifierRunnable:Ljava/lang/Runnable;

.field private mGooglePingTest:Z

.field private mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;


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

    .line 25
    invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V

    .line 20
    sget-object v0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;->ONLINE:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    .line 21
    new-instance v0, Landroid/os/Handler;

    invoke-direct {v0}, Landroid/os/Handler;-><init>()V

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierHandler:Landroid/os/Handler;

    const/4 v0, 0x0

    .line 23
    iput-boolean v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mGooglePingTest:Z

    .line 94
    new-instance v0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver$1;

    invoke-direct {v0, p0}, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver$1;-><init>(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;)V

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierRunnable:Ljava/lang/Runnable;

    return-void
.end method

.method public constructor <init>(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityListener;)V
    .registers 3

    .line 29
    invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V

    .line 20
    sget-object v0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;->ONLINE:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    .line 21
    new-instance v0, Landroid/os/Handler;

    invoke-direct {v0}, Landroid/os/Handler;-><init>()V

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierHandler:Landroid/os/Handler;

    const/4 v0, 0x0

    .line 23
    iput-boolean v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mGooglePingTest:Z

    .line 94
    new-instance v0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver$1;

    invoke-direct {v0, p0}, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver$1;-><init>(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;)V

    iput-object v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierRunnable:Ljava/lang/Runnable;

    .line 30
    iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionListener:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityListener;

    return-void
.end method

.method static synthetic access$000(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;)Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityListener;
    .registers 1

    .line 18
    iget-object p0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionListener:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityListener;

    return-object p0
.end method

.method static synthetic access$100(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;)Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;
    .registers 1

    .line 18
    iget-object p0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    return-object p0
.end method

.method static synthetic access$102(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;)Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;
    .registers 2

    .line 18
    iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    return-object p1
.end method

.method static synthetic access$200(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;)Z
    .registers 1

    .line 18
    iget-boolean p0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mGooglePingTest:Z

    return p0
.end method

.method static synthetic access$202(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;Z)Z
    .registers 2

    .line 18
    iput-boolean p1, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mGooglePingTest:Z

    return p1
.end method

.method private sendPingToGoogle()V
    .registers 3

    const/4 v0, 0x0

    .line 108
    iput-boolean v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mGooglePingTest:Z

    .line 109
    new-instance v0, Ljava/lang/Thread;

    new-instance v1, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver$2;

    invoke-direct {v1, p0}, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver$2;-><init>(Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;)V

    invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V

    .line 126
    invoke-virtual {v0}, Ljava/lang/Thread;->start()V

    return-void
.end method


# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
    .registers 7

    .line 35
    invoke-virtual {p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object p1

    if-eqz p1, :cond_be

    const/4 p2, 0x0

    const-string v0, "noConnectivity"

    .line 39
    invoke-virtual {p1, v0}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    if-nez v0, :cond_42

    const-string v1, "networkInfo"

    .line 43
    invoke-virtual {p1, v1}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v2

    if-eqz v2, :cond_42

    .line 44
    invoke-virtual {p1, v1}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "DISCONNECTED"

    invoke-virtual {v1, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_42

    const-string v1, "otherNetwork"

    .line 45
    invoke-virtual {p1, v1}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v3

    if-eqz v3, :cond_3d

    .line 46
    invoke-virtual {p1, v1}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object p1

    invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {p1, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result p1

    if-eqz p1, :cond_42

    :cond_3d
    const/4 p1, 0x1

    .line 48
    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v0

    :cond_42
    if-eqz v0, :cond_5b

    .line 56
    instance-of p1, v0, Ljava/lang/String;

    if-eqz p1, :cond_51

    .line 57
    invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {p1}, Ljava/lang/Boolean;->parseBoolean(Ljava/lang/String;)Z

    move-result p2

    goto :goto_5b

    .line 58
    :cond_51
    instance-of p1, v0, Ljava/lang/Boolean;

    if-eqz p1, :cond_5b

    .line 59
    check-cast v0, Ljava/lang/Boolean;

    invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z

    move-result p2

    :cond_5b
    :goto_5b
    const/4 p1, 0x0

    if-eqz p2, :cond_8d

    .line 63
    iget-object p2, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    sget-object v0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;->ONLINE:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    if-ne p2, v0, :cond_83

    const-string p2, "Temporary Connection Loss."

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

    move-result-object p2

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

    .line 65
    sget-object p2, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;->TEMPORARY_CONNECTION_LOSS:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    iput-object p2, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    .line 66
    iget-object p2, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierHandler:Landroid/os/Handler;

    invoke-virtual {p2, p1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    .line 67
    iget-object p1, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierHandler:Landroid/os/Handler;

    iget-object p2, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierRunnable:Ljava/lang/Runnable;

    const-wide/16 v0, 0x1388

    invoke-virtual {p1, p2, v0, v1}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z

    .line 68
    invoke-direct {p0}, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->sendPingToGoogle()V

    goto :goto_c7

    :cond_83
    const-string p1, "Temporary Connection Loss event is already notified : Ignored"

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

    move-result-object p1

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

    goto :goto_c7

    :cond_8d
    const-string p2, "Connection Gained."

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

    move-result-object p2

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

    .line 74
    sget-object p2, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver$3;->$SwitchMap$hurriyet$mobil$android$hurriyet$features$connectionmonitor$ConnectivityStatus:[I

    iget-object v0, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    invoke-virtual {v0}, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;->ordinal()I

    move-result v0

    aget p2, p2, v0

    const/4 v0, 0x2

    if-eq p2, v0, :cond_b4

    const/4 v0, 0x3

    if-eq p2, v0, :cond_a7

    goto :goto_b9

    .line 81
    :cond_a7
    iget-object p2, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionListener:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityListener;

    if-eqz p2, :cond_ae

    .line 82
    invoke-interface {p2}, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityListener;->onConnectionEstablished()V

    .line 84
    :cond_ae
    iget-object p2, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierHandler:Landroid/os/Handler;

    invoke-virtual {p2, p1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    goto :goto_b9

    .line 78
    :cond_b4
    iget-object p2, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mConnectionNotifierHandler:Landroid/os/Handler;

    invoke-virtual {p2, p1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    .line 87
    :goto_b9
    sget-object p1, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;->ONLINE:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityChangeReceiver;->mStatus:Lhurriyet/mobil/android/hurriyet/features/connectionmonitor/ConnectivityStatus;

    goto :goto_c7

    :cond_be
    const-string p1, "NO EXTRAS FOR CONNECTIVITY INTENT"

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

    move-result-object p1

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

    :goto_c7
    return-void
.end method