e.smali
.class public final Lcom/google/android/exoplayer2/scheduler/e;
.super Ljava/lang/Object;
.source "RequirementsWatcher.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/scheduler/e$c;,
Lcom/google/android/exoplayer2/scheduler/e$a;,
Lcom/google/android/exoplayer2/scheduler/e$b;
}
.end annotation
# instance fields
.field private final a:Landroid/content/Context;
.field private final b:Lcom/google/android/exoplayer2/scheduler/e$b;
.field private final c:Lcom/google/android/exoplayer2/scheduler/Requirements;
.field private final d:Landroid/os/Handler;
.field private e:Lcom/google/android/exoplayer2/scheduler/e$a;
.field private f:I
.field private g:Lcom/google/android/exoplayer2/scheduler/e$c;
# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/google/android/exoplayer2/scheduler/e$b;Lcom/google/android/exoplayer2/scheduler/Requirements;)V
.registers 4
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/scheduler/e;->a:Landroid/content/Context;
.line 3
iput-object p2, p0, Lcom/google/android/exoplayer2/scheduler/e;->b:Lcom/google/android/exoplayer2/scheduler/e$b;
.line 4
iput-object p3, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
.line 5
invoke-static {}, Lcom/google/android/exoplayer2/util/L;->b()Landroid/os/Handler;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/scheduler/e;->d:Landroid/os/Handler;
return-void
.end method
.method static synthetic a(Lcom/google/android/exoplayer2/scheduler/e;)V
.registers 1
.line 1
invoke-direct {p0}, Lcom/google/android/exoplayer2/scheduler/e;->d()V
return-void
.end method
.method static synthetic b(Lcom/google/android/exoplayer2/scheduler/e;)Landroid/os/Handler;
.registers 1
.line 1
iget-object p0, p0, Lcom/google/android/exoplayer2/scheduler/e;->d:Landroid/os/Handler;
return-object p0
.end method
.method static synthetic c(Lcom/google/android/exoplayer2/scheduler/e;)Lcom/google/android/exoplayer2/scheduler/e$c;
.registers 1
.line 1
iget-object p0, p0, Lcom/google/android/exoplayer2/scheduler/e;->g:Lcom/google/android/exoplayer2/scheduler/e$c;
return-object p0
.end method
.method private d()V
.registers 3
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->a:Landroid/content/Context;
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/scheduler/Requirements;->c(Landroid/content/Context;)I
move-result v0
.line 3
iget v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->f:I
if-eq v1, v0, :cond_13
.line 4
iput v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->f:I
.line 5
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->b:Lcom/google/android/exoplayer2/scheduler/e$b;
invoke-interface {v1, p0, v0}, Lcom/google/android/exoplayer2/scheduler/e$b;->a(Lcom/google/android/exoplayer2/scheduler/e;I)V
:cond_13
return-void
.end method
.method static synthetic d(Lcom/google/android/exoplayer2/scheduler/e;)V
.registers 1
.line 1
invoke-direct {p0}, Lcom/google/android/exoplayer2/scheduler/e;->e()V
return-void
.end method
.method private e()V
.registers 2
.line 1
iget v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->f:I
and-int/lit8 v0, v0, 0x3
if-nez v0, :cond_7
return-void
.line 2
:cond_7
invoke-direct {p0}, Lcom/google/android/exoplayer2/scheduler/e;->d()V
return-void
.end method
.method private f()V
.registers 4
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->a:Landroid/content/Context;
const-string v1, "connectivity"
.line 2
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Landroid/net/ConnectivityManager;
.line 3
new-instance v1, Lcom/google/android/exoplayer2/scheduler/e$c;
const/4 v2, 0x0
invoke-direct {v1, p0, v2}, Lcom/google/android/exoplayer2/scheduler/e$c;-><init>(Lcom/google/android/exoplayer2/scheduler/e;Lcom/google/android/exoplayer2/scheduler/d;)V
iput-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->g:Lcom/google/android/exoplayer2/scheduler/e$c;
.line 4
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->g:Lcom/google/android/exoplayer2/scheduler/e$c;
invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
return-void
.end method
.method private g()V
.registers 3
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->a:Landroid/content/Context;
const-string v1, "connectivity"
.line 2
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Landroid/net/ConnectivityManager;
.line 3
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->g:Lcom/google/android/exoplayer2/scheduler/e$c;
invoke-static {v1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v1, Landroid/net/ConnectivityManager$NetworkCallback;
invoke-virtual {v0, v1}, Landroid/net/ConnectivityManager;->unregisterNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
const/4 v0, 0x0
.line 4
iput-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->g:Lcom/google/android/exoplayer2/scheduler/e$c;
return-void
.end method
# virtual methods
.method public a()Lcom/google/android/exoplayer2/scheduler/Requirements;
.registers 2
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
return-object v0
.end method
.method public b()I
.registers 6
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->a:Landroid/content/Context;
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/scheduler/Requirements;->c(Landroid/content/Context;)I
move-result v0
iput v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->f:I
.line 3
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
.line 4
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/scheduler/Requirements;->e()Z
move-result v1
if-eqz v1, :cond_26
.line 5
sget v1, Lcom/google/android/exoplayer2/util/L;->a:I
const/16 v2, 0x18
if-lt v1, v2, :cond_21
.line 6
invoke-direct {p0}, Lcom/google/android/exoplayer2/scheduler/e;->f()V
goto :goto_26
:cond_21
const-string v1, "android.net.conn.CONNECTIVITY_CHANGE"
.line 7
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 8
:cond_26
:goto_26
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/scheduler/Requirements;->b()Z
move-result v1
if-eqz v1, :cond_38
const-string v1, "android.intent.action.ACTION_POWER_CONNECTED"
.line 9
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.ACTION_POWER_DISCONNECTED"
.line 10
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 11
:cond_38
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/scheduler/Requirements;->c()Z
move-result v1
if-eqz v1, :cond_56
.line 12
sget v1, Lcom/google/android/exoplayer2/util/L;->a:I
const/16 v2, 0x17
if-lt v1, v2, :cond_4c
const-string v1, "android.os.action.DEVICE_IDLE_MODE_CHANGED"
.line 13
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
goto :goto_56
:cond_4c
const-string v1, "android.intent.action.SCREEN_ON"
.line 14
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.SCREEN_OFF"
.line 15
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 16
:cond_56
:goto_56
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->c:Lcom/google/android/exoplayer2/scheduler/Requirements;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/scheduler/Requirements;->f()Z
move-result v1
if-eqz v1, :cond_68
const-string v1, "android.intent.action.DEVICE_STORAGE_LOW"
.line 17
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.DEVICE_STORAGE_OK"
.line 18
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 19
:cond_68
new-instance v1, Lcom/google/android/exoplayer2/scheduler/e$a;
const/4 v2, 0x0
invoke-direct {v1, p0, v2}, Lcom/google/android/exoplayer2/scheduler/e$a;-><init>(Lcom/google/android/exoplayer2/scheduler/e;Lcom/google/android/exoplayer2/scheduler/d;)V
iput-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->e:Lcom/google/android/exoplayer2/scheduler/e$a;
.line 20
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->a:Landroid/content/Context;
iget-object v3, p0, Lcom/google/android/exoplayer2/scheduler/e;->e:Lcom/google/android/exoplayer2/scheduler/e$a;
iget-object v4, p0, Lcom/google/android/exoplayer2/scheduler/e;->d:Landroid/os/Handler;
invoke-virtual {v1, v3, v0, v2, v4}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
.line 21
iget v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->f:I
return v0
.end method
.method public c()V
.registers 3
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->a:Landroid/content/Context;
iget-object v1, p0, Lcom/google/android/exoplayer2/scheduler/e;->e:Lcom/google/android/exoplayer2/scheduler/e$a;
invoke-static {v1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v1, Landroid/content/BroadcastReceiver;
invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
const/4 v0, 0x0
.line 3
iput-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->e:Lcom/google/android/exoplayer2/scheduler/e$a;
.line 4
sget v0, Lcom/google/android/exoplayer2/util/L;->a:I
const/16 v1, 0x18
if-lt v0, v1, :cond_1c
iget-object v0, p0, Lcom/google/android/exoplayer2/scheduler/e;->g:Lcom/google/android/exoplayer2/scheduler/e$c;
if-eqz v0, :cond_1c
.line 5
invoke-direct {p0}, Lcom/google/android/exoplayer2/scheduler/e;->g()V
:cond_1c
return-void
.end method