.class final Lcom/bumptech/glide/manager/DefaultConnectivityMonitor; .super Ljava/lang/Object; .source "DefaultConnectivityMonitor.java" # interfaces .implements Lcom/bumptech/glide/manager/ConnectivityMonitor; # static fields .field private static final TAG:Ljava/lang/String; = "ConnectivityMonitor" # instance fields .field private final connectivityReceiver:Landroid/content/BroadcastReceiver; .field private final context:Landroid/content/Context; .field isConnected:Z .field private isRegistered:Z .field final listener:Lcom/bumptech/glide/manager/ConnectivityMonitor$ConnectivityListener; # direct methods .method constructor (Landroid/content/Context;Lcom/bumptech/glide/manager/ConnectivityMonitor$ConnectivityListener;)V .registers 4 .line 41 invoke-direct {p0}, Ljava/lang/Object;->()V .line 26 new-instance v0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor$1; invoke-direct {v0, p0}, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor$1;->(Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;)V iput-object v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->connectivityReceiver:Landroid/content/BroadcastReceiver; .line 42 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p1 iput-object p1, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->context:Landroid/content/Context; .line 43 iput-object p2, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->listener:Lcom/bumptech/glide/manager/ConnectivityMonitor$ConnectivityListener; return-void .end method .method private register()V .registers 5 .line 47 iget-boolean v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->isRegistered:Z if-eqz v0, :cond_5 return-void .line 52 :cond_5 iget-object v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->context:Landroid/content/Context; invoke-virtual {p0, v0}, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->isConnected(Landroid/content/Context;)Z move-result v0 iput-boolean v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->isConnected:Z .line 55 :try_start_d iget-object v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->context:Landroid/content/Context; iget-object v1, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->connectivityReceiver:Landroid/content/BroadcastReceiver; new-instance v2, Landroid/content/IntentFilter; const-string v3, "android.net.conn.CONNECTIVITY_CHANGE" invoke-direct {v2, v3}, Landroid/content/IntentFilter;->(Ljava/lang/String;)V invoke-virtual {v0, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent; const/4 v0, 0x1 .line 57 iput-boolean v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->isRegistered:Z :try_end_1e .catch Ljava/lang/SecurityException; {:try_start_d .. :try_end_1e} :catch_1f goto :goto_2e :catch_1f move-exception v0 const/4 v1, 0x5 .line 60 const-string v2, "ConnectivityMonitor" invoke-static {v2, v1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result v1 if-eqz v1, :cond_2e .line 61 const-string v1, "Failed to register" invoke-static {v2, v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_2e :goto_2e return-void .end method .method private unregister()V .registers 3 .line 67 iget-boolean v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->isRegistered:Z if-nez v0, :cond_5 return-void .line 71 :cond_5 iget-object v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->context:Landroid/content/Context; iget-object v1, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->connectivityReceiver:Landroid/content/BroadcastReceiver; invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V const/4 v0, 0x0 .line 72 iput-boolean v0, p0, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->isRegistered:Z return-void .end method # virtual methods .method isConnected(Landroid/content/Context;)Z .registers 5 .line 80 const-string v0, "connectivity" .line 82 invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroid/net/ConnectivityManager; .line 81 invoke-static {p1}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroid/net/ConnectivityManager; const/4 v0, 0x1 .line 85 :try_start_f invoke-virtual {p1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo; move-result-object p1 :try_end_13 .catch Ljava/lang/RuntimeException; {:try_start_f .. :try_end_13} :catch_1e if-eqz p1, :cond_1c .line 96 invoke-virtual {p1}, Landroid/net/NetworkInfo;->isConnected()Z move-result p1 if-eqz p1, :cond_1c goto :goto_1d :cond_1c const/4 v0, 0x0 :goto_1d return v0 :catch_1e move-exception p1 const/4 v1, 0x5 .line 90 const-string v2, "ConnectivityMonitor" invoke-static {v2, v1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result v1 if-eqz v1, :cond_2d .line 91 const-string v1, "Failed to determine connectivity status when connectivity changed" invoke-static {v2, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_2d return v0 .end method .method public onDestroy()V .registers 1 return-void .end method .method public onStart()V .registers 1 .line 101 invoke-direct {p0}, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->register()V return-void .end method .method public onStop()V .registers 1 .line 106 invoke-direct {p0}, Lcom/bumptech/glide/manager/DefaultConnectivityMonitor;->unregister()V return-void .end method