NetworkChangeNotifierAutoDetect$MyNetworkCallback.smali

.class Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;
.super Landroid/net/ConnectivityManager$NetworkCallback;


# annotations
.annotation build Landroid/annotation/TargetApi;
    value = 0x15
.end annotation

.annotation system Ldalvik/annotation/EnclosingClass;
    value = Laegon/chrome/net/NetworkChangeNotifierAutoDetect;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x2
    name = "MyNetworkCallback"
.end annotation


# static fields
.field static final synthetic $assertionsDisabled:Z


# instance fields
.field private mVpnInPlace:Landroid/net/Network;

.field final synthetic this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;


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

    const-class v0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z

    move-result v0

    if-nez v0, :cond_c

    const/4 v0, 0x1

    :goto_9
    sput-boolean v0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->$assertionsDisabled:Z

    return-void

    :cond_c
    const/4 v0, 0x0

    goto :goto_9
.end method

.method private constructor <init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)V
    .registers 2

    iput-object p1, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    invoke-direct {p0}, Landroid/net/ConnectivityManager$NetworkCallback;-><init>()V

    return-void
.end method

.method synthetic constructor <init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;Laegon/chrome/net/NetworkChangeNotifierAutoDetect$1;)V
    .registers 3

    invoke-direct {p0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;-><init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)V

    return-void
.end method

.method private ignoreConnectedInaccessibleVpn(Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z
    .registers 4

    if-nez p2, :cond_c

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v0

    invoke-virtual {v0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;

    move-result-object p2

    :cond_c
    if-eqz p2, :cond_21

    const/4 v0, 0x4

    invoke-virtual {p2, v0}, Landroid/net/NetworkCapabilities;->hasTransport(I)Z

    move-result v0

    if-eqz v0, :cond_23

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v0

    invoke-virtual {v0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;->vpnAccessible(Landroid/net/Network;)Z

    move-result v0

    if-nez v0, :cond_23

    :cond_21
    const/4 v0, 0x1

    :goto_22
    return v0

    :cond_23
    const/4 v0, 0x0

    goto :goto_22
.end method

.method private ignoreConnectedNetwork(Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z
    .registers 4

    invoke-direct {p0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->ignoreNetworkDueToVpn(Landroid/net/Network;)Z

    move-result v0

    if-nez v0, :cond_c

    invoke-direct {p0, p1, p2}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->ignoreConnectedInaccessibleVpn(Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z

    move-result v0

    if-eqz v0, :cond_e

    :cond_c
    const/4 v0, 0x1

    :goto_d
    return v0

    :cond_e
    const/4 v0, 0x0

    goto :goto_d
.end method

.method private ignoreNetworkDueToVpn(Landroid/net/Network;)Z
    .registers 3

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    if-eqz v0, :cond_e

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    invoke-virtual {v0, p1}, Landroid/net/Network;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_e

    const/4 v0, 0x1

    :goto_d
    return v0

    :cond_e
    const/4 v0, 0x0

    goto :goto_d
.end method


# virtual methods
.method initializeVpnInPlace()V
    .registers 5

    const/4 v1, 0x0

    const/4 v3, 0x0

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v0

    # invokes: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->getAllNetworksFiltered(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;Landroid/net/Network;)[Landroid/net/Network;
    invoke-static {v0, v1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$100(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;Landroid/net/Network;)[Landroid/net/Network;

    move-result-object v0

    iput-object v1, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    array-length v1, v0

    const/4 v2, 0x1

    if-ne v1, v2, :cond_2b

    iget-object v1, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v1

    aget-object v2, v0, v3

    invoke-virtual {v1, v2}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;

    move-result-object v1

    if-eqz v1, :cond_2b

    const/4 v2, 0x4

    invoke-virtual {v1, v2}, Landroid/net/NetworkCapabilities;->hasTransport(I)Z

    move-result v1

    if-eqz v1, :cond_2b

    aget-object v0, v0, v3

    iput-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    :cond_2b
    return-void
.end method

.method public onAvailable(Landroid/net/Network;)V
    .registers 9

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v0

    invoke-virtual {v0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;

    move-result-object v0

    invoke-direct {p0, p1, v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->ignoreConnectedNetwork(Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z

    move-result v1

    if-eqz v1, :cond_11

    :goto_10
    return-void

    :cond_11
    const/4 v1, 0x4

    invoke-virtual {v0, v1}, Landroid/net/NetworkCapabilities;->hasTransport(I)Z

    move-result v5

    if-eqz v5, :cond_1a

    iput-object p1, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    :cond_1a
    invoke-static {p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->networkToNetId(Landroid/net/Network;)J

    move-result-wide v2

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v0

    invoke-virtual {v0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;->getConnectionType(Landroid/net/Network;)I

    move-result v4

    iget-object v6, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    new-instance v0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$1;

    move-object v1, p0

    invoke-direct/range {v0 .. v5}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$1;-><init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;JIZ)V

    # invokes: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->runOnThread(Ljava/lang/Runnable;)V
    invoke-static {v6, v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$600(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;Ljava/lang/Runnable;)V

    goto :goto_10
.end method

.method public onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
    .registers 8

    invoke-direct {p0, p1, p2}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->ignoreConnectedNetwork(Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z

    move-result v0

    if-eqz v0, :cond_7

    :goto_6
    return-void

    :cond_7
    invoke-static {p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->networkToNetId(Landroid/net/Network;)J

    move-result-wide v0

    iget-object v2, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v2}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v2

    invoke-virtual {v2, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;->getConnectionType(Landroid/net/Network;)I

    move-result v2

    iget-object v3, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    new-instance v4, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$2;

    invoke-direct {v4, p0, v0, v1, v2}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$2;-><init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;JI)V

    # invokes: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->runOnThread(Ljava/lang/Runnable;)V
    invoke-static {v3, v4}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$600(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;Ljava/lang/Runnable;)V

    goto :goto_6
.end method

.method public onLosing(Landroid/net/Network;I)V
    .registers 7

    const/4 v0, 0x0

    invoke-direct {p0, p1, v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->ignoreConnectedNetwork(Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z

    move-result v0

    if-eqz v0, :cond_8

    :goto_7
    return-void

    :cond_8
    invoke-static {p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->networkToNetId(Landroid/net/Network;)J

    move-result-wide v0

    iget-object v2, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    new-instance v3, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$3;

    invoke-direct {v3, p0, v0, v1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$3;-><init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;J)V

    # invokes: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->runOnThread(Ljava/lang/Runnable;)V
    invoke-static {v2, v3}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$600(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;Ljava/lang/Runnable;)V

    goto :goto_7
.end method

.method public onLost(Landroid/net/Network;)V
    .registers 6

    invoke-direct {p0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->ignoreNetworkDueToVpn(Landroid/net/Network;)Z

    move-result v0

    if-eqz v0, :cond_7

    :cond_6
    :goto_6
    return-void

    :cond_7
    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    new-instance v1, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$4;

    invoke-direct {v1, p0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$4;-><init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;Landroid/net/Network;)V

    # invokes: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->runOnThread(Ljava/lang/Runnable;)V
    invoke-static {v0, v1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$600(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;Ljava/lang/Runnable;)V

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    if-eqz v0, :cond_6

    sget-boolean v0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->$assertionsDisabled:Z

    if-nez v0, :cond_27

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    invoke-virtual {p1, v0}, Landroid/net/Network;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_27

    new-instance v0, Ljava/lang/AssertionError;

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

    throw v0

    :cond_27
    const/4 v0, 0x0

    iput-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->mVpnInPlace:Landroid/net/Network;

    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    # getter for: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->mConnectivityManagerDelegate:Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;
    invoke-static {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$400(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;)Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;

    move-result-object v0

    # invokes: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->getAllNetworksFiltered(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;Landroid/net/Network;)[Landroid/net/Network;
    invoke-static {v0, p1}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$100(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$ConnectivityManagerDelegate;Landroid/net/Network;)[Landroid/net/Network;

    move-result-object v1

    array-length v2, v1

    const/4 v0, 0x0

    :goto_36
    if-ge v0, v2, :cond_40

    aget-object v3, v1, v0

    invoke-virtual {p0, v3}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->onAvailable(Landroid/net/Network;)V

    add-int/lit8 v0, v0, 0x1

    goto :goto_36

    :cond_40
    iget-object v0, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    invoke-virtual {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->getCurrentNetworkState()Laegon/chrome/net/NetworkChangeNotifierAutoDetect$NetworkState;

    move-result-object v0

    invoke-virtual {v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$NetworkState;->getConnectionType()I

    move-result v0

    iget-object v1, p0, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;->this$0:Laegon/chrome/net/NetworkChangeNotifierAutoDetect;

    new-instance v2, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$5;

    invoke-direct {v2, p0, v0}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback$5;-><init>(Laegon/chrome/net/NetworkChangeNotifierAutoDetect$MyNetworkCallback;I)V

    # invokes: Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->runOnThread(Ljava/lang/Runnable;)V
    invoke-static {v1, v2}, Laegon/chrome/net/NetworkChangeNotifierAutoDetect;->access$600(Laegon/chrome/net/NetworkChangeNotifierAutoDetect;Ljava/lang/Runnable;)V

    goto :goto_6
.end method