DownloadService$DownloadManagerHelper.smali
.class final Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;
.super Ljava/lang/Object;
.source "DownloadService.java"
# interfaces
.implements Lcom/google/android/exoplayer2/offline/DownloadManager$Listener;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/offline/DownloadService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "DownloadManagerHelper"
.end annotation
# instance fields
.field private final context:Landroid/content/Context;
.field private final downloadManager:Lcom/google/android/exoplayer2/offline/DownloadManager;
.field private downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
.field private final scheduler:Lcom/google/android/exoplayer2/scheduler/Scheduler;
.field private final serviceClass:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"+",
"Lcom/google/android/exoplayer2/offline/DownloadService;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method private constructor <init>(Landroid/content/Context;Lcom/google/android/exoplayer2/offline/DownloadManager;Lcom/google/android/exoplayer2/scheduler/Scheduler;Ljava/lang/Class;)V
.registers 7
.param p1, "context" # Landroid/content/Context;
.param p2, "downloadManager" # Lcom/google/android/exoplayer2/offline/DownloadManager;
.param p3, "scheduler" # Lcom/google/android/exoplayer2/scheduler/Scheduler;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/google/android/exoplayer2/offline/DownloadManager;",
"Lcom/google/android/exoplayer2/scheduler/Scheduler;",
"Ljava/lang/Class<",
"+",
"Lcom/google/android/exoplayer2/offline/DownloadService;",
">;)V"
}
.end annotation
.line 445
.local p4, "serviceClass":Ljava/lang/Class;, "Ljava/lang/Class<+Lcom/google/android/exoplayer2/offline/DownloadService;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 446
iput-object p1, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->context:Landroid/content/Context;
.line 447
iput-object p2, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadManager:Lcom/google/android/exoplayer2/offline/DownloadManager;
.line 448
iput-object p3, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->scheduler:Lcom/google/android/exoplayer2/scheduler/Scheduler;
.line 449
iput-object p4, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->serviceClass:Ljava/lang/Class;
.line 450
invoke-virtual {p2, p0}, Lcom/google/android/exoplayer2/offline/DownloadManager;->addListener(Lcom/google/android/exoplayer2/offline/DownloadManager$Listener;)V
.line 451
if-eqz p3, :cond_1d
.line 452
invoke-virtual {p2}, Lcom/google/android/exoplayer2/offline/DownloadManager;->getRequirements()Lcom/google/android/exoplayer2/scheduler/Requirements;
move-result-object v0
.line 453
.local v0, "requirements":Lcom/google/android/exoplayer2/scheduler/Requirements;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/scheduler/Requirements;->checkRequirements(Landroid/content/Context;)Z
move-result v1
xor-int/lit8 v1, v1, 0x1
invoke-direct {p0, v1, v0}, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->setSchedulerEnabled(ZLcom/google/android/exoplayer2/scheduler/Requirements;)V
.line 455
.end local v0 # "requirements":Lcom/google/android/exoplayer2/scheduler/Requirements;
:cond_1d
return-void
.end method
.method synthetic constructor <init>(Landroid/content/Context;Lcom/google/android/exoplayer2/offline/DownloadManager;Lcom/google/android/exoplayer2/scheduler/Scheduler;Ljava/lang/Class;Lcom/google/android/exoplayer2/offline/DownloadService$1;)V
.registers 6
.param p1, "x0" # Landroid/content/Context;
.param p2, "x1" # Lcom/google/android/exoplayer2/offline/DownloadManager;
.param p3, "x2" # Lcom/google/android/exoplayer2/scheduler/Scheduler;
.param p4, "x3" # Ljava/lang/Class;
.param p5, "x4" # Lcom/google/android/exoplayer2/offline/DownloadService$1;
.line 433
invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;-><init>(Landroid/content/Context;Lcom/google/android/exoplayer2/offline/DownloadManager;Lcom/google/android/exoplayer2/scheduler/Scheduler;Ljava/lang/Class;)V
return-void
.end method
.method static synthetic access$100(Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;)Lcom/google/android/exoplayer2/offline/DownloadManager;
.registers 2
.param p0, "x0" # Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;
.line 433
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadManager:Lcom/google/android/exoplayer2/offline/DownloadManager;
return-object v0
.end method
.method private setSchedulerEnabled(ZLcom/google/android/exoplayer2/scheduler/Requirements;)V
.registers 7
.param p1, "enabled" # Z
.param p2, "requirements" # Lcom/google/android/exoplayer2/scheduler/Requirements;
.line 511
if-nez p1, :cond_8
.line 512
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->scheduler:Lcom/google/android/exoplayer2/scheduler/Scheduler;
invoke-interface {v0}, Lcom/google/android/exoplayer2/scheduler/Scheduler;->cancel()Z
goto :goto_1f
.line 514
:cond_8
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->context:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
.line 515
.local v0, "servicePackage":Ljava/lang/String;
iget-object v1, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->scheduler:Lcom/google/android/exoplayer2/scheduler/Scheduler;
const-string v2, "com.google.android.exoplayer.downloadService.action.RESTART"
invoke-interface {v1, p2, v0, v2}, Lcom/google/android/exoplayer2/scheduler/Scheduler;->schedule(Lcom/google/android/exoplayer2/scheduler/Requirements;Ljava/lang/String;Ljava/lang/String;)Z
move-result v1
.line 516
.local v1, "success":Z
if-nez v1, :cond_1f
.line 517
const-string v2, "DownloadService"
const-string v3, "Scheduling downloads failed."
invoke-static {v2, v3}, Lcom/google/android/exoplayer2/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 520
.end local v0 # "servicePackage":Ljava/lang/String;
.end local v1 # "success":Z
:cond_1f
:goto_1f
return-void
.end method
# virtual methods
.method public attachService(Lcom/google/android/exoplayer2/offline/DownloadService;)V
.registers 3
.param p1, "downloadService" # Lcom/google/android/exoplayer2/offline/DownloadService;
.line 458
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
if-nez v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 459
iput-object p1, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
.line 460
return-void
.end method
.method public detachService(Lcom/google/android/exoplayer2/offline/DownloadService;Z)V
.registers 4
.param p1, "downloadService" # Lcom/google/android/exoplayer2/offline/DownloadService;
.param p2, "unschedule" # Z
.line 463
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
if-ne v0, p1, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 464
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
.line 465
if-eqz p2, :cond_14
.line 466
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->scheduler:Lcom/google/android/exoplayer2/scheduler/Scheduler;
invoke-interface {v0}, Lcom/google/android/exoplayer2/scheduler/Scheduler;->cancel()Z
.line 468
:cond_14
return-void
.end method
.method public onDownloadStateChanged(Lcom/google/android/exoplayer2/offline/DownloadManager;Lcom/google/android/exoplayer2/offline/DownloadState;)V
.registers 4
.param p1, "downloadManager" # Lcom/google/android/exoplayer2/offline/DownloadManager;
.param p2, "downloadState" # Lcom/google/android/exoplayer2/offline/DownloadState;
.line 478
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
if-eqz v0, :cond_7
.line 479
invoke-static {v0, p2}, Lcom/google/android/exoplayer2/offline/DownloadService;->access$300(Lcom/google/android/exoplayer2/offline/DownloadService;Lcom/google/android/exoplayer2/offline/DownloadState;)V
.line 481
:cond_7
return-void
.end method
.method public final onIdle(Lcom/google/android/exoplayer2/offline/DownloadManager;)V
.registers 3
.param p1, "downloadManager" # Lcom/google/android/exoplayer2/offline/DownloadManager;
.line 485
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
if-eqz v0, :cond_7
.line 486
invoke-static {v0}, Lcom/google/android/exoplayer2/offline/DownloadService;->access$400(Lcom/google/android/exoplayer2/offline/DownloadService;)V
.line 488
:cond_7
return-void
.end method
.method public onInitialized(Lcom/google/android/exoplayer2/offline/DownloadManager;)V
.registers 2
.param p1, "downloadManager" # Lcom/google/android/exoplayer2/offline/DownloadManager;
.line 473
return-void
.end method
.method public onRequirementsStateChanged(Lcom/google/android/exoplayer2/offline/DownloadManager;Lcom/google/android/exoplayer2/scheduler/Requirements;I)V
.registers 10
.param p1, "downloadManager" # Lcom/google/android/exoplayer2/offline/DownloadManager;
.param p2, "requirements" # Lcom/google/android/exoplayer2/scheduler/Requirements;
.param p3, "notMetRequirements" # I
.line 495
const/4 v0, 0x1
const/4 v1, 0x0
if-nez p3, :cond_6
const/4 v2, 0x1
goto :goto_7
:cond_6
const/4 v2, 0x0
.line 496
.local v2, "requirementsMet":Z
:goto_7
iget-object v3, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->downloadService:Lcom/google/android/exoplayer2/offline/DownloadService;
if-nez v3, :cond_20
if-eqz v2, :cond_20
.line 498
:try_start_d
iget-object v3, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->context:Landroid/content/Context;
iget-object v4, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->serviceClass:Ljava/lang/Class;
const-string v5, "com.google.android.exoplayer.downloadService.action.INIT"
invoke-static {v3, v4, v5}, Lcom/google/android/exoplayer2/offline/DownloadService;->access$500(Landroid/content/Context;Ljava/lang/Class;Ljava/lang/String;)Landroid/content/Intent;
move-result-object v3
.line 499
.local v3, "intent":Landroid/content/Intent;
iget-object v4, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->context:Landroid/content/Context;
invoke-virtual {v4, v3}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
:try_end_1c
.catch Ljava/lang/IllegalStateException; {:try_start_d .. :try_end_1c} :catch_1e
.line 503
nop
.end local v3 # "intent":Landroid/content/Intent;
goto :goto_20
.line 500
:catch_1e
move-exception v0
.line 502
.local v0, "e":Ljava/lang/IllegalStateException;
return-void
.line 505
.end local v0 # "e":Ljava/lang/IllegalStateException;
:cond_20
:goto_20
iget-object v3, p0, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->scheduler:Lcom/google/android/exoplayer2/scheduler/Scheduler;
if-eqz v3, :cond_2b
.line 506
if-nez v2, :cond_27
goto :goto_28
:cond_27
const/4 v0, 0x0
:goto_28
invoke-direct {p0, v0, p2}, Lcom/google/android/exoplayer2/offline/DownloadService$DownloadManagerHelper;->setSchedulerEnabled(ZLcom/google/android/exoplayer2/scheduler/Requirements;)V
.line 508
:cond_2b
return-void
.end method