This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,32 @@
.class public Lcom/google/android/exoplayer2/drm/DecryptionException;
.super Ljava/lang/Exception;
.source "DecryptionException.java"
# instance fields
.field private final errorCode:I
# direct methods
.method public constructor <init>(ILjava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0, p2}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 2
iput p1, p0, Lcom/google/android/exoplayer2/drm/DecryptionException;->errorCode:I
return-void
.end method
# virtual methods
.method public getErrorCode()I
.locals 1
.line 1
iget v0, p0, Lcom/google/android/exoplayer2/drm/DecryptionException;->errorCode:I
return v0
.end method
@@ -0,0 +1,51 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$1;
.super Ljava/lang/Object;
.source "DefaultDrmSessionManager.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->doLicense()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$1;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$1;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$100(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;
move-result-object v0
invoke-interface {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;->onDrmKeysRestored()V
return-void
.end method
@@ -0,0 +1,51 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$2;
.super Ljava/lang/Object;
.source "DefaultDrmSessionManager.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->onKeyResponse(Ljava/lang/Object;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$2;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$2;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$100(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;
move-result-object v0
invoke-interface {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;->onDrmKeysRemoved()V
return-void
.end method
@@ -0,0 +1,51 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$3;
.super Ljava/lang/Object;
.source "DefaultDrmSessionManager.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->onKeyResponse(Ljava/lang/Object;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$3;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$3;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$100(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;
move-result-object v0
invoke-interface {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;->onDrmKeysLoaded()V
return-void
.end method
@@ -0,0 +1,57 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$4;
.super Ljava/lang/Object;
.source "DefaultDrmSessionManager.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->onError(Ljava/lang/Exception;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.field public final synthetic val$e:Ljava/lang/Exception;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Ljava/lang/Exception;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$4;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iput-object p2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$4;->val$e:Ljava/lang/Exception;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$4;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$100(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;
move-result-object v0
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$4;->val$e:Ljava/lang/Exception;
invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;->onDrmSessionManagerError(Ljava/lang/Exception;)V
return-void
.end method
@@ -0,0 +1,28 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;
.super Ljava/lang/Object;
.source "DefaultDrmSessionManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "EventListener"
.end annotation
# virtual methods
.method public abstract onDrmKeysLoaded()V
.end method
.method public abstract onDrmKeysRemoved()V
.end method
.method public abstract onDrmKeysRestored()V
.end method
.method public abstract onDrmSessionManagerError(Ljava/lang/Exception;)V
.end method
@@ -0,0 +1,83 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmEventListener;
.super Ljava/lang/Object;
.source "DefaultDrmSessionManager.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "MediaDrmEventListener"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener<",
"TT;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
# direct methods
.method private constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmEventListener;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$1;)V
.locals 0
.line 2
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmEventListener;-><init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)V
return-void
.end method
# virtual methods
.method public onEvent(Lcom/google/android/exoplayer2/drm/ExoMediaDrm;[BII[B)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm<",
"+TT;>;[BII[B)V"
}
.end annotation
.line 1
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmEventListener;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$700(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)I
move-result p1
if-nez p1, :cond_0
.line 2
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmEventListener;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iget-object p1, p1, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->mediaDrmHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;
invoke-virtual {p1, p3}, Landroid/os/Handler;->sendEmptyMessage(I)Z
:cond_0
return-void
.end method
@@ -0,0 +1,140 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;
.super Landroid/os/Handler;
.source "DefaultDrmSessionManager.java"
# annotations
.annotation build Landroid/annotation/SuppressLint;
value = {
"HandlerLeak"
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "MediaDrmHandler"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Landroid/os/Looper;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.line 2
invoke-direct {p0, p2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-void
.end method
# virtual methods
.method public handleMessage(Landroid/os/Message;)V
.locals 3
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$200(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)I
move-result v0
if-eqz v0, :cond_4
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$300(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)I
move-result v0
const/4 v1, 0x4
const/4 v2, 0x3
if-eq v0, v2, :cond_0
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$300(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)I
move-result v0
if-eq v0, v1, :cond_0
goto :goto_0
.line 2
:cond_0
iget p1, p1, Landroid/os/Message;->what:I
const/4 v0, 0x1
if-eq p1, v0, :cond_3
const/4 v0, 0x2
if-eq p1, v0, :cond_2
if-eq p1, v2, :cond_1
goto :goto_0
.line 3
:cond_1
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$300(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)I
move-result p1
if-ne p1, v1, :cond_4
.line 4
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {p1, v2}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$302(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;I)I
.line 5
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
new-instance v0, Lcom/google/android/exoplayer2/drm/KeysExpiredException;
invoke-direct {v0}, Lcom/google/android/exoplayer2/drm/KeysExpiredException;-><init>()V
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$500(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Ljava/lang/Exception;)V
goto :goto_0
.line 6
:cond_2
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$400(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)V
goto :goto_0
.line 7
:cond_3
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {p1, v2}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$302(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;I)I
.line 8
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$MediaDrmHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$600(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;)V
:cond_4
:goto_0
return-void
.end method
@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$Mode;
.super Ljava/lang/Object;
.source "DefaultDrmSessionManager.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "Mode"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation
@@ -0,0 +1,118 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostRequestHandler;
.super Landroid/os/Handler;
.source "DefaultDrmSessionManager.java"
# annotations
.annotation build Landroid/annotation/SuppressLint;
value = {
"HandlerLeak"
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "PostRequestHandler"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Landroid/os/Looper;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostRequestHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.line 2
invoke-direct {p0, p2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-void
.end method
# virtual methods
.method public handleMessage(Landroid/os/Message;)V
.locals 3
.line 1
:try_start_0
iget v0, p1, Landroid/os/Message;->what:I
if-eqz v0, :cond_1
const/4 v1, 0x1
if-ne v0, v1, :cond_0
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostRequestHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iget-object v1, v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->callback:Lcom/google/android/exoplayer2/drm/MediaDrmCallback;
iget-object v0, v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->uuid:Ljava/util/UUID;
iget-object v2, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast v2, Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
invoke-interface {v1, v0, v2}, Lcom/google/android/exoplayer2/drm/MediaDrmCallback;->executeKeyRequest(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;)[B
move-result-object v0
goto :goto_0
.line 3
:cond_0
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0}, Ljava/lang/RuntimeException;-><init>()V
throw v0
.line 4
:cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostRequestHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iget-object v1, v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->callback:Lcom/google/android/exoplayer2/drm/MediaDrmCallback;
iget-object v0, v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->uuid:Ljava/util/UUID;
iget-object v2, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast v2, Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
invoke-interface {v1, v0, v2}, Lcom/google/android/exoplayer2/drm/MediaDrmCallback;->executeProvisionRequest(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;)[B
move-result-object v0
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
.line 5
:goto_0
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostRequestHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iget-object v1, v1, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->postResponseHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostResponseHandler;
iget p1, p1, Landroid/os/Message;->what:I
invoke-virtual {v1, p1, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
move-result-object p1
invoke-virtual {p1}, Landroid/os/Message;->sendToTarget()V
return-void
.end method
@@ -0,0 +1,76 @@
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostResponseHandler;
.super Landroid/os/Handler;
.source "DefaultDrmSessionManager.java"
# annotations
.annotation build Landroid/annotation/SuppressLint;
value = {
"HandlerLeak"
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "PostResponseHandler"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Landroid/os/Looper;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostResponseHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.line 2
invoke-direct {p0, p2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-void
.end method
# virtual methods
.method public handleMessage(Landroid/os/Message;)V
.locals 2
.line 1
iget v0, p1, Landroid/os/Message;->what:I
if-eqz v0, :cond_1
const/4 v1, 0x1
if-eq v0, v1, :cond_0
goto :goto_0
.line 2
:cond_0
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostResponseHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
invoke-static {v0, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$900(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Ljava/lang/Object;)V
goto :goto_0
.line 3
:cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$PostResponseHandler;->this$0:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
invoke-static {v0, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->access$800(Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;Ljava/lang/Object;)V
:goto_0
return-void
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,81 @@
.class final Lcom/google/android/exoplayer2/drm/DrmInitData$1;
.super Ljava/lang/Object;
.source "DrmInitData.java"
# interfaces
.implements Landroid/os/Parcelable$Creator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DrmInitData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroid/os/Parcelable$Creator<",
"Lcom/google/android/exoplayer2/drm/DrmInitData;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createFromParcel(Landroid/os/Parcel;)Lcom/google/android/exoplayer2/drm/DrmInitData;
.locals 1
.line 2
new-instance v0, Lcom/google/android/exoplayer2/drm/DrmInitData;
invoke-direct {v0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData;-><init>(Landroid/os/Parcel;)V
return-object v0
.end method
.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$1;->createFromParcel(Landroid/os/Parcel;)Lcom/google/android/exoplayer2/drm/DrmInitData;
move-result-object p1
return-object p1
.end method
.method public newArray(I)[Lcom/google/android/exoplayer2/drm/DrmInitData;
.locals 0
.line 2
new-array p1, p1, [Lcom/google/android/exoplayer2/drm/DrmInitData;
return-object p1
.end method
.method public bridge synthetic newArray(I)[Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$1;->newArray(I)[Lcom/google/android/exoplayer2/drm/DrmInitData;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,81 @@
.class final Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData$1;
.super Ljava/lang/Object;
.source "DrmInitData.java"
# interfaces
.implements Landroid/os/Parcelable$Creator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroid/os/Parcelable$Creator<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createFromParcel(Landroid/os/Parcel;)Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.locals 1
.line 2
new-instance v0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
invoke-direct {v0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;-><init>(Landroid/os/Parcel;)V
return-object v0
.end method
.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData$1;->createFromParcel(Landroid/os/Parcel;)Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
move-result-object p1
return-object p1
.end method
.method public newArray(I)[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.locals 0
.line 2
new-array p1, p1, [Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
return-object p1
.end method
.method public bridge synthetic newArray(I)[Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData$1;->newArray(I)[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,364 @@
.class public final Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.super Ljava/lang/Object;
.source "DrmInitData.java"
# interfaces
.implements Landroid/os/Parcelable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DrmInitData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SchemeData"
.end annotation
# static fields
.field public static final CREATOR:Landroid/os/Parcelable$Creator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/os/Parcelable$Creator<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;"
}
.end annotation
.end field
# instance fields
.field public final data:[B
.field private hashCode:I
.field public final mimeType:Ljava/lang/String;
.field public final requiresSecureDecryption:Z
.field private final uuid:Ljava/util/UUID;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData$1;
invoke-direct {v0}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData$1;-><init>()V
sput-object v0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->CREATOR:Landroid/os/Parcelable$Creator;
return-void
.end method
.method public constructor <init>(Landroid/os/Parcel;)V
.locals 5
.line 7
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 8
new-instance v0, Ljava/util/UUID;
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v1
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v3
invoke-direct {v0, v1, v2, v3, v4}, Ljava/util/UUID;-><init>(JJ)V
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
.line 9
invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->mimeType:Ljava/lang/String;
.line 10
invoke-virtual {p1}, Landroid/os/Parcel;->createByteArray()[B
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->data:[B
.line 11
invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
iput-boolean p1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->requiresSecureDecryption:Z
return-void
.end method
.method public constructor <init>(Ljava/util/UUID;Ljava/lang/String;[B)V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, p2, p3, v0}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;-><init>(Ljava/util/UUID;Ljava/lang/String;[BZ)V
return-void
.end method
.method public constructor <init>(Ljava/util/UUID;Ljava/lang/String;[BZ)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/UUID;
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
.line 4
invoke-static {p2}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->mimeType:Ljava/lang/String;
.line 5
invoke-static {p3}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [B
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->data:[B
.line 6
iput-boolean p4, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->requiresSecureDecryption:Z
return-void
.end method
.method public static synthetic access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
return-object p0
.end method
# virtual methods
.method public describeContents()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 4
.line 1
instance-of v0, p1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
const/4 v0, 0x1
if-ne p1, p0, :cond_1
return v0
.line 2
:cond_1
check-cast p1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.line 3
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->mimeType:Ljava/lang/String;
iget-object v3, p1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->mimeType:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
iget-object v3, p1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
invoke-static {v2, v3}, Lcom/google/android/exoplayer2/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->data:[B
iget-object p1, p1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->data:[B
.line 4
invoke-static {v2, p1}, Ljava/util/Arrays;->equals([B[B)Z
move-result p1
if-eqz p1, :cond_2
move v1, v0
:cond_2
return v1
.end method
.method public hashCode()I
.locals 3
.line 1
iget v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->hashCode:I
if-nez v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
invoke-virtual {v0}, Ljava/util/UUID;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
.line 3
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->mimeType:Ljava/lang/String;
const/16 v2, 0x1f
invoke-static {v1, v0, v2}, Lb3/k;->a(Ljava/lang/String;II)I
move-result v0
.line 4
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->data:[B
invoke-static {v1}, Ljava/util/Arrays;->hashCode([B)I
move-result v1
add-int/2addr v1, v0
.line 5
iput v1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->hashCode:I
.line 6
:cond_0
iget v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->hashCode:I
return v0
.end method
.method public matches(Ljava/util/UUID;)Z
.locals 2
.line 1
sget-object v0, Lcom/google/android/exoplayer2/C;->UUID_NIL:Ljava/util/UUID;
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
invoke-virtual {v0, v1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
invoke-virtual {p1, v0}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
.method public writeToParcel(Landroid/os/Parcel;I)V
.locals 2
.line 1
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
invoke-virtual {p2}, Ljava/util/UUID;->getMostSignificantBits()J
move-result-wide v0
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
.line 2
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->uuid:Ljava/util/UUID;
invoke-virtual {p2}, Ljava/util/UUID;->getLeastSignificantBits()J
move-result-wide v0
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
.line 3
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->mimeType:Ljava/lang/String;
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
.line 4
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->data:[B
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeByteArray([B)V
.line 5
iget-boolean p2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->requiresSecureDecryption:Z
int-to-byte p2, p2
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeByte(B)V
return-void
.end method
@@ -0,0 +1,424 @@
.class public final Lcom/google/android/exoplayer2/drm/DrmInitData;
.super Ljava/lang/Object;
.source "DrmInitData.java"
# interfaces
.implements Ljava/util/Comparator;
.implements Landroid/os/Parcelable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;",
"Landroid/os/Parcelable;"
}
.end annotation
# static fields
.field public static final CREATOR:Landroid/os/Parcelable$Creator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/os/Parcelable$Creator<",
"Lcom/google/android/exoplayer2/drm/DrmInitData;",
">;"
}
.end annotation
.end field
# instance fields
.field private hashCode:I
.field public final schemeDataCount:I
.field private final schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/android/exoplayer2/drm/DrmInitData$1;
invoke-direct {v0}, Lcom/google/android/exoplayer2/drm/DrmInitData$1;-><init>()V
sput-object v0, Lcom/google/android/exoplayer2/drm/DrmInitData;->CREATOR:Landroid/os/Parcelable$Creator;
return-void
.end method
.method public constructor <init>(Landroid/os/Parcel;)V
.locals 1
.line 11
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 12
sget-object v0, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->CREATOR:Landroid/os/Parcelable$Creator;
invoke-virtual {p1, v0}, Landroid/os/Parcel;->createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;
move-result-object p1
check-cast p1, [Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.line 13
array-length p1, p1
iput p1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDataCount:I
return-void
.end method
.method public constructor <init>(Ljava/util/List;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;)V"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
new-array v0, v0, [Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
invoke-interface {p1, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
check-cast p1, [Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
const/4 v0, 0x0
invoke-direct {p0, v0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData;-><init>(Z[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)V
return-void
.end method
.method private varargs constructor <init>(Z[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)V
.locals 2
.line 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
.line 4
invoke-virtual {p2}, [Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->clone()Ljava/lang/Object;
move-result-object p1
move-object p2, p1
check-cast p2, [Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.line 5
:cond_0
invoke-static {p2, p0}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V
const/4 p1, 0x1
.line 6
:goto_0
array-length v0, p2
if-ge p1, v0, :cond_2
add-int/lit8 v0, p1, -0x1
.line 7
aget-object v0, p2, v0
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
move-result-object v0
aget-object v1, p2, p1
invoke-static {v1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1
add-int/lit8 p1, p1, 0x1
goto :goto_0
.line 8
:cond_1
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Duplicate data for uuid: "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
aget-object p1, p2, p1
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 9
:cond_2
iput-object p2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.line 10
array-length p1, p2
iput p1, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDataCount:I
return-void
.end method
.method public varargs constructor <init>([Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)V
.locals 1
const/4 v0, 0x1
.line 2
invoke-direct {p0, v0, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData;-><init>(Z[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)V
return-void
.end method
# virtual methods
.method public compare(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)I
.locals 2
.line 2
sget-object v0, Lcom/google/android/exoplayer2/C;->UUID_NIL:Ljava/util/UUID;
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
invoke-static {p2}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
const/4 p1, 0x1
goto :goto_0
.line 3
:cond_1
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
move-result-object p1
invoke-static {p2}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->access$000(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)Ljava/util/UUID;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/util/UUID;->compareTo(Ljava/util/UUID;)I
move-result p1
:goto_0
return p1
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
check-cast p2, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/drm/DrmInitData;->compare(Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;)I
move-result p1
return p1
.end method
.method public describeContents()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 2
if-ne p0, p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
if-eqz p1, :cond_2
.line 1
const-class v0, Lcom/google/android/exoplayer2/drm/DrmInitData;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
if-eq v0, v1, :cond_1
goto :goto_0
.line 2
:cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
check-cast p1, Lcom/google/android/exoplayer2/drm/DrmInitData;
iget-object p1, p1, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
invoke-static {v0, p1}, Ljava/util/Arrays;->equals([Ljava/lang/Object;[Ljava/lang/Object;)Z
move-result p1
return p1
:cond_2
:goto_0
const/4 p1, 0x0
return p1
.end method
.method public get(I)Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.locals 1
.line 3
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
aget-object p1, v0, p1
return-object p1
.end method
.method public get(Ljava/util/UUID;)Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
.locals 5
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_1
aget-object v3, v0, v2
.line 2
invoke-virtual {v3, p1}, Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;->matches(Ljava/util/UUID;)Z
move-result v4
if-eqz v4, :cond_0
return-object v3
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
return-object p1
.end method
.method public hashCode()I
.locals 1
.line 1
iget v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->hashCode:I
if-nez v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
invoke-static {v0}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I
move-result v0
iput v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->hashCode:I
.line 3
:cond_0
iget v0, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->hashCode:I
return v0
.end method
.method public writeToParcel(Landroid/os/Parcel;I)V
.locals 1
.line 1
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/DrmInitData;->schemeDatas:[Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;
const/4 v0, 0x0
invoke-virtual {p1, p2, v0}, Landroid/os/Parcel;->writeTypedArray([Landroid/os/Parcelable;I)V
return-void
.end method
@@ -0,0 +1,25 @@
.class public Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
.super Ljava/lang/Exception;
.source "DrmSession.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/DrmSession;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DrmSessionException"
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/Throwable;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Ljava/lang/Exception;-><init>(Ljava/lang/Throwable;)V
return-void
.end method
@@ -0,0 +1,70 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/DrmSession;
.super Ljava/lang/Object;
.source "DrmSession.java"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field public static final STATE_CLOSED:I = 0x1
.field public static final STATE_ERROR:I = 0x0
.field public static final STATE_OPENED:I = 0x3
.field public static final STATE_OPENED_WITH_KEYS:I = 0x4
.field public static final STATE_OPENING:I = 0x2
# virtual methods
.method public abstract getError()Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
.end method
.method public abstract getMediaCrypto()Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.end method
.method public abstract getOfflineLicenseKeySetId()[B
.end method
.method public abstract getState()I
.end method
.method public abstract queryKeyStatus()Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract requiresSecureDecoderComponent(Ljava/lang/String;)Z
.end method
@@ -0,0 +1,43 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/DrmSessionManager;
.super Ljava/lang/Object;
.source "DrmSessionManager.java"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract acquireSession(Landroid/os/Looper;Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/drm/DrmSession;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/os/Looper;",
"Lcom/google/android/exoplayer2/drm/DrmInitData;",
")",
"Lcom/google/android/exoplayer2/drm/DrmSession<",
"TT;>;"
}
.end annotation
.end method
.method public abstract releaseSession(Lcom/google/android/exoplayer2/drm/DrmSession;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/DrmSession<",
"TT;>;)V"
}
.end annotation
.end method
@@ -0,0 +1,8 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.super Ljava/lang/Object;
.source "ExoMediaCrypto.java"
# virtual methods
.method public abstract requiresSecureDecoderComponent(Ljava/lang/String;)Z
.end method
@@ -0,0 +1,22 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.super Ljava/lang/Object;
.source "ExoMediaDrm.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "KeyRequest"
.end annotation
# virtual methods
.method public abstract getData()[B
.end method
.method public abstract getDefaultUrl()Ljava/lang/String;
.end method
@@ -0,0 +1,35 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;
.super Ljava/lang/Object;
.source "ExoMediaDrm.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "OnEventListener"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract onEvent(Lcom/google/android/exoplayer2/drm/ExoMediaDrm;[BII[B)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm<",
"+TT;>;[BII[B)V"
}
.end annotation
.end method
@@ -0,0 +1,22 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.super Ljava/lang/Object;
.source "ExoMediaDrm.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "ProvisionRequest"
.end annotation
# virtual methods
.method public abstract getData()[B
.end method
.method public abstract getDefaultUrl()Ljava/lang/String;
.end method
@@ -0,0 +1,133 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
.super Ljava/lang/Object;
.source "ExoMediaDrm.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;,
Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;,
Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract closeSession([B)V
.end method
.method public abstract createMediaCrypto(Ljava/util/UUID;[B)Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/UUID;",
"[B)TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/MediaCryptoException;
}
.end annotation
.end method
.method public abstract getKeyRequest([B[BLjava/lang/String;ILjava/util/HashMap;)Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.annotation system Ldalvik/annotation/Signature;
value = {
"([B[B",
"Ljava/lang/String;",
"I",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/NotProvisionedException;
}
.end annotation
.end method
.method public abstract getPropertyByteArray(Ljava/lang/String;)[B
.end method
.method public abstract getPropertyString(Ljava/lang/String;)Ljava/lang/String;
.end method
.method public abstract getProvisionRequest()Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.end method
.method public abstract openSession()[B
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/NotProvisionedException;,
Landroid/media/ResourceBusyException;
}
.end annotation
.end method
.method public abstract provideKeyResponse([B[B)[B
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/NotProvisionedException;,
Landroid/media/DeniedByServerException;
}
.end annotation
.end method
.method public abstract provideProvisionResponse([B)V
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/DeniedByServerException;
}
.end annotation
.end method
.method public abstract queryKeyStatus([B)Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"([B)",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract release()V
.end method
.method public abstract restoreKeys([B[B)V
.end method
.method public abstract setOnEventListener(Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener<",
"-TT;>;)V"
}
.end annotation
.end method
.method public abstract setPropertyByteArray(Ljava/lang/String;[B)V
.end method
.method public abstract setPropertyString(Ljava/lang/String;Ljava/lang/String;)V
.end method
@@ -0,0 +1,60 @@
.class public final Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;
.super Ljava/lang/Object;
.source "FrameworkMediaCrypto.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
# instance fields
.field private final mediaCrypto:Landroid/media/MediaCrypto;
# direct methods
.method public constructor <init>(Landroid/media/MediaCrypto;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/media/MediaCrypto;
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;->mediaCrypto:Landroid/media/MediaCrypto;
return-void
.end method
# virtual methods
.method public getWrappedMediaCrypto()Landroid/media/MediaCrypto;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;->mediaCrypto:Landroid/media/MediaCrypto;
return-object v0
.end method
.method public requiresSecureDecoderComponent(Ljava/lang/String;)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;->mediaCrypto:Landroid/media/MediaCrypto;
invoke-virtual {v0, p1}, Landroid/media/MediaCrypto;->requiresSecureDecoderComponent(Ljava/lang/String;)Z
move-result p1
return p1
.end method
@@ -0,0 +1,65 @@
.class Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$1;
.super Ljava/lang/Object;
.source "FrameworkMediaDrm.java"
# interfaces
.implements Landroid/media/MediaDrm$OnEventListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->setOnEventListener(Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
.field public final synthetic val$listener:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$1;->this$0:Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
iput-object p2, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$1;->val$listener:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onEvent(Landroid/media/MediaDrm;[BII[B)V
.locals 6
.param p1 # Landroid/media/MediaDrm;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$1;->val$listener:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$1;->this$0:Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
move-object v2, p2
move v3, p3
move v4, p4
move-object v5, p5
invoke-interface/range {v0 .. v5}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;->onEvent(Lcom/google/android/exoplayer2/drm/ExoMediaDrm;[BII[B)V
return-void
.end method
@@ -0,0 +1,66 @@
.class Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$2;
.super Ljava/lang/Object;
.source "FrameworkMediaDrm.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->getKeyRequest([B[BLjava/lang/String;ILjava/util/HashMap;)Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
.field public final synthetic val$request:Landroid/media/MediaDrm$KeyRequest;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;Landroid/media/MediaDrm$KeyRequest;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$2;->this$0:Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
iput-object p2, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$2;->val$request:Landroid/media/MediaDrm$KeyRequest;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getData()[B
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$2;->val$request:Landroid/media/MediaDrm$KeyRequest;
invoke-virtual {v0}, Landroid/media/MediaDrm$KeyRequest;->getData()[B
move-result-object v0
return-object v0
.end method
.method public getDefaultUrl()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$2;->val$request:Landroid/media/MediaDrm$KeyRequest;
invoke-virtual {v0}, Landroid/media/MediaDrm$KeyRequest;->getDefaultUrl()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,66 @@
.class Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$3;
.super Ljava/lang/Object;
.source "FrameworkMediaDrm.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->getProvisionRequest()Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
.field public final synthetic val$provisionRequest:Landroid/media/MediaDrm$ProvisionRequest;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;Landroid/media/MediaDrm$ProvisionRequest;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$3;->this$0:Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
iput-object p2, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$3;->val$provisionRequest:Landroid/media/MediaDrm$ProvisionRequest;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getData()[B
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$3;->val$provisionRequest:Landroid/media/MediaDrm$ProvisionRequest;
invoke-virtual {v0}, Landroid/media/MediaDrm$ProvisionRequest;->getData()[B
move-result-object v0
return-object v0
.end method
.method public getDefaultUrl()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$3;->val$provisionRequest:Landroid/media/MediaDrm$ProvisionRequest;
invoke-virtual {v0}, Landroid/media/MediaDrm$ProvisionRequest;->getDefaultUrl()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,391 @@
.class public final Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
.super Ljava/lang/Object;
.source "FrameworkMediaDrm.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0x12
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm<",
"Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;",
">;"
}
.end annotation
# instance fields
.field private final mediaDrm:Landroid/media/MediaDrm;
# direct methods
.method private constructor <init>(Ljava/util/UUID;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/UnsupportedSchemeException;
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Landroid/media/MediaDrm;
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/UUID;
invoke-direct {v0, p1}, Landroid/media/MediaDrm;-><init>(Ljava/util/UUID;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
return-void
.end method
.method public static newInstance(Ljava/util/UUID;)Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;
}
.end annotation
.line 1
:try_start_0
new-instance v0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
invoke-direct {v0, p0}, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;-><init>(Ljava/util/UUID;)V
:try_end_0
.catch Landroid/media/UnsupportedSchemeException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
move-exception p0
.line 2
new-instance v0, Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;
const/4 v1, 0x2
invoke-direct {v0, v1, p0}, Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;-><init>(ILjava/lang/Exception;)V
throw v0
:catch_1
move-exception p0
.line 3
new-instance v0, Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;
const/4 v1, 0x1
invoke-direct {v0, v1, p0}, Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;-><init>(ILjava/lang/Exception;)V
throw v0
.end method
# virtual methods
.method public closeSession([B)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1}, Landroid/media/MediaDrm;->closeSession([B)V
return-void
.end method
.method public bridge synthetic createMediaCrypto(Ljava/util/UUID;[B)Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/MediaCryptoException;
}
.end annotation
.line 1
invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->createMediaCrypto(Ljava/util/UUID;[B)Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;
move-result-object p1
return-object p1
.end method
.method public createMediaCrypto(Ljava/util/UUID;[B)Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/MediaCryptoException;
}
.end annotation
.line 2
new-instance v0, Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;
new-instance v1, Landroid/media/MediaCrypto;
invoke-direct {v1, p1, p2}, Landroid/media/MediaCrypto;-><init>(Ljava/util/UUID;[B)V
invoke-direct {v0, v1}, Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;-><init>(Landroid/media/MediaCrypto;)V
return-object v0
.end method
.method public getKeyRequest([B[BLjava/lang/String;ILjava/util/HashMap;)Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"([B[B",
"Ljava/lang/String;",
"I",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/NotProvisionedException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
move-object v1, p1
move-object v2, p2
move-object v3, p3
move v4, p4
move-object v5, p5
invoke-virtual/range {v0 .. v5}, Landroid/media/MediaDrm;->getKeyRequest([B[BLjava/lang/String;ILjava/util/HashMap;)Landroid/media/MediaDrm$KeyRequest;
move-result-object p1
.line 2
new-instance p2, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$2;
invoke-direct {p2, p0, p1}, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$2;-><init>(Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;Landroid/media/MediaDrm$KeyRequest;)V
return-object p2
.end method
.method public getPropertyByteArray(Ljava/lang/String;)[B
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1}, Landroid/media/MediaDrm;->getPropertyByteArray(Ljava/lang/String;)[B
move-result-object p1
return-object p1
.end method
.method public getPropertyString(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1}, Landroid/media/MediaDrm;->getPropertyString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getProvisionRequest()Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.locals 2
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0}, Landroid/media/MediaDrm;->getProvisionRequest()Landroid/media/MediaDrm$ProvisionRequest;
move-result-object v0
.line 2
new-instance v1, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$3;
invoke-direct {v1, p0, v0}, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$3;-><init>(Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;Landroid/media/MediaDrm$ProvisionRequest;)V
return-object v1
.end method
.method public openSession()[B
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/NotProvisionedException;,
Landroid/media/ResourceBusyException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0}, Landroid/media/MediaDrm;->openSession()[B
move-result-object v0
return-object v0
.end method
.method public provideKeyResponse([B[B)[B
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/NotProvisionedException;,
Landroid/media/DeniedByServerException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1, p2}, Landroid/media/MediaDrm;->provideKeyResponse([B[B)[B
move-result-object p1
return-object p1
.end method
.method public provideProvisionResponse([B)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/media/DeniedByServerException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1}, Landroid/media/MediaDrm;->provideProvisionResponse([B)V
return-void
.end method
.method public queryKeyStatus([B)Ljava/util/Map;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"([B)",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1}, Landroid/media/MediaDrm;->queryKeyStatus([B)Ljava/util/HashMap;
move-result-object p1
return-object p1
.end method
.method public release()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0}, Landroid/media/MediaDrm;->release()V
return-void
.end method
.method public restoreKeys([B[B)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1, p2}, Landroid/media/MediaDrm;->restoreKeys([B[B)V
return-void
.end method
.method public setOnEventListener(Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener<",
"-",
"Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;",
">;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
if-nez p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
new-instance v1, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$1;
invoke-direct {v1, p0, p1}, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm$1;-><init>(Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$OnEventListener;)V
move-object p1, v1
:goto_0
invoke-virtual {v0, p1}, Landroid/media/MediaDrm;->setOnEventListener(Landroid/media/MediaDrm$OnEventListener;)V
return-void
.end method
.method public setPropertyByteArray(Ljava/lang/String;[B)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1, p2}, Landroid/media/MediaDrm;->setPropertyByteArray(Ljava/lang/String;[B)V
return-void
.end method
.method public setPropertyString(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->mediaDrm:Landroid/media/MediaDrm;
invoke-virtual {v0, p1, p2}, Landroid/media/MediaDrm;->setPropertyString(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
@@ -0,0 +1,483 @@
.class public final Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;
.super Ljava/lang/Object;
.source "HttpMediaDrmCallback.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/MediaDrmCallback;
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0x12
.end annotation
# static fields
.field private static final PLAYREADY_KEY_REQUEST_PROPERTIES:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# instance fields
.field private final dataSourceFactory:Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;
.field private final defaultUrl:Ljava/lang/String;
.field private final keyRequestProperties:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->PLAYREADY_KEY_REQUEST_PROPERTIES:Ljava/util/Map;
const-string v1, "Content-Type"
const-string v2, "text/xml"
.line 2
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "SOAPAction"
const-string v2, "http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"
.line 3
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;)V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, p2, v0}, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;-><init>(Ljava/lang/String;Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;Ljava/util/Map;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;Ljava/util/Map;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
iput-object p2, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->dataSourceFactory:Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;
.line 4
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->defaultUrl:Ljava/lang/String;
.line 5
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
if-eqz p3, :cond_0
.line 6
invoke-interface {p1, p3}, Ljava/util/Map;->putAll(Ljava/util/Map;)V
:cond_0
return-void
.end method
.method private static executePost(Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;Ljava/lang/String;[BLjava/util/Map;)[B
.locals 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;",
"Ljava/lang/String;",
"[B",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)[B"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p0}, Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;->createDataSource()Lcom/google/android/exoplayer2/upstream/HttpDataSource;
move-result-object v0
if-eqz p3, :cond_0
.line 2
invoke-interface/range {p3 .. p3}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 3
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-interface {v0, v3, v2}, Lcom/google/android/exoplayer2/upstream/HttpDataSource;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_0
.line 4
:cond_0
new-instance v1, Lcom/google/android/exoplayer2/upstream/DataSpec;
invoke-static/range {p1 .. p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v5
const-wide/16 v7, 0x0
const-wide/16 v9, 0x0
const-wide/16 v11, -0x1
const/4 v13, 0x0
const/4 v14, 0x1
move-object v4, v1
move-object/from16 v6, p2
invoke-direct/range {v4 .. v14}, Lcom/google/android/exoplayer2/upstream/DataSpec;-><init>(Landroid/net/Uri;[BJJJLjava/lang/String;I)V
.line 5
new-instance v2, Lcom/google/android/exoplayer2/upstream/DataSourceInputStream;
invoke-direct {v2, v0, v1}, Lcom/google/android/exoplayer2/upstream/DataSourceInputStream;-><init>(Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSpec;)V
.line 6
:try_start_0
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Util;->toByteArray(Ljava/io/InputStream;)[B
move-result-object v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 7
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Util;->closeQuietly(Ljava/io/Closeable;)V
return-object v0
:catchall_0
move-exception v0
move-object v1, v0
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Util;->closeQuietly(Ljava/io/Closeable;)V
throw v1
.end method
# virtual methods
.method public clearAllKeyRequestProperties()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
monitor-enter v0
.line 2
:try_start_0
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->clear()V
.line 3
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
.method public clearKeyRequestProperty(Ljava/lang/String;)V
.locals 2
.line 1
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
monitor-enter v0
.line 3
:try_start_0
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public executeKeyRequest(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;)[B
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
invoke-interface {p2}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;->getDefaultUrl()Ljava/lang/String;
move-result-object v0
.line 2
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_0
.line 3
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->defaultUrl:Ljava/lang/String;
:cond_0
const-string v1, "Content-Type"
const-string v2, "application/octet-stream"
.line 4
invoke-static {v1, v2}, Lcom/amazonaws/mobileconnectors/cognitoidentityprovider/a;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/util/HashMap;
move-result-object v1
.line 5
sget-object v2, Lcom/google/android/exoplayer2/C;->PLAYREADY_UUID:Ljava/util/UUID;
invoke-virtual {v2, p1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
.line 6
sget-object p1, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->PLAYREADY_KEY_REQUEST_PROPERTIES:Ljava/util/Map;
invoke-virtual {v1, p1}, Ljava/util/HashMap;->putAll(Ljava/util/Map;)V
.line 7
:cond_1
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
monitor-enter p1
.line 8
:try_start_0
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
invoke-virtual {v1, v2}, Ljava/util/HashMap;->putAll(Ljava/util/Map;)V
.line 9
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 10
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->dataSourceFactory:Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;
invoke-interface {p2}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;->getData()[B
move-result-object p2
invoke-static {p1, v0, p2, v1}, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->executePost(Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;Ljava/lang/String;[BLjava/util/Map;)[B
move-result-object p1
return-object p1
:catchall_0
move-exception p2
.line 11
:try_start_1
monitor-exit p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p2
.end method
.method public executeProvisionRequest(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;)[B
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p2}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;->getDefaultUrl()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "&signedRequest="
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v0, Ljava/lang/String;
invoke-interface {p2}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;->getData()[B
move-result-object p2
invoke-direct {v0, p2}, Ljava/lang/String;-><init>([B)V
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 2
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->dataSourceFactory:Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;
const/4 v0, 0x0
new-array v0, v0, [B
const/4 v1, 0x0
invoke-static {p2, p1, v0, v1}, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->executePost(Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;Ljava/lang/String;[BLjava/util/Map;)[B
move-result-object p1
return-object p1
.end method
.method public setKeyRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.locals 2
.line 1
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p2}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
monitor-enter v0
.line 4
:try_start_0
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;->keyRequestProperties:Ljava/util/Map;
invoke-interface {v1, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
@@ -0,0 +1,14 @@
.class public final Lcom/google/android/exoplayer2/drm/KeysExpiredException;
.super Ljava/lang/Exception;
.source "KeysExpiredException.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Exception;-><init>()V
return-void
.end method
@@ -0,0 +1,21 @@
.class public interface abstract Lcom/google/android/exoplayer2/drm/MediaDrmCallback;
.super Ljava/lang/Object;
.source "MediaDrmCallback.java"
# virtual methods
.method public abstract executeKeyRequest(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;)[B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public abstract executeProvisionRequest(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;)[B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
@@ -0,0 +1,96 @@
.class Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;
.super Ljava/lang/Object;
.source "OfflineLicenseHelper.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;-><init>(Lcom/google/android/exoplayer2/drm/ExoMediaDrm;Lcom/google/android/exoplayer2/drm/MediaDrmCallback;Ljava/util/HashMap;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;->this$0:Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onDrmKeysLoaded()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;->this$0:Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->access$000(Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;)Landroid/os/ConditionVariable;
move-result-object v0
invoke-virtual {v0}, Landroid/os/ConditionVariable;->open()V
return-void
.end method
.method public onDrmKeysRemoved()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;->this$0:Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->access$000(Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;)Landroid/os/ConditionVariable;
move-result-object v0
invoke-virtual {v0}, Landroid/os/ConditionVariable;->open()V
return-void
.end method
.method public onDrmKeysRestored()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;->this$0:Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
invoke-static {v0}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->access$000(Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;)Landroid/os/ConditionVariable;
move-result-object v0
invoke-virtual {v0}, Landroid/os/ConditionVariable;->open()V
return-void
.end method
.method public onDrmSessionManagerError(Ljava/lang/Exception;)V
.locals 0
.line 1
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;->this$0:Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->access$000(Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;)Landroid/os/ConditionVariable;
move-result-object p1
invoke-virtual {p1}, Landroid/os/ConditionVariable;->open()V
return-void
.end method
@@ -0,0 +1,497 @@
.class public final Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
.super Ljava/lang/Object;
.source "OfflineLicenseHelper.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field private final conditionVariable:Landroid/os/ConditionVariable;
.field private final drmSessionManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager<",
"TT;>;"
}
.end annotation
.end field
.field private final handlerThread:Landroid/os/HandlerThread;
# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/drm/ExoMediaDrm;Lcom/google/android/exoplayer2/drm/MediaDrmCallback;Ljava/util/HashMap;)V
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm<",
"TT;>;",
"Lcom/google/android/exoplayer2/drm/MediaDrmCallback;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Landroid/os/HandlerThread;
const-string v1, "OfflineLicenseHelper"
invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->handlerThread:Landroid/os/HandlerThread;
.line 3
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
.line 4
new-instance v1, Landroid/os/ConditionVariable;
invoke-direct {v1}, Landroid/os/ConditionVariable;-><init>()V
iput-object v1, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->conditionVariable:Landroid/os/ConditionVariable;
.line 5
new-instance v8, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;
invoke-direct {v8, p0}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper$1;-><init>(Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;)V
.line 6
new-instance v1, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
sget-object v3, Lcom/google/android/exoplayer2/C;->WIDEVINE_UUID:Ljava/util/UUID;
new-instance v7, Landroid/os/Handler;
.line 7
invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-direct {v7, v0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
move-object v2, v1
move-object v4, p1
move-object v5, p2
move-object v6, p3
invoke-direct/range {v2 .. v8}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;-><init>(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm;Lcom/google/android/exoplayer2/drm/MediaDrmCallback;Ljava/util/HashMap;Landroid/os/Handler;Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager$EventListener;)V
iput-object v1, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->drmSessionManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
return-void
.end method
.method public static synthetic access$000(Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;)Landroid/os/ConditionVariable;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->conditionVariable:Landroid/os/ConditionVariable;
return-object p0
.end method
.method private blockingKeyRequest(I[BLcom/google/android/exoplayer2/drm/DrmInitData;)[B
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
}
.end annotation
.line 1
invoke-direct {p0, p1, p2, p3}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->openBlockingKeyRequest(I[BLcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/drm/DrmSession;
move-result-object p1
.line 2
invoke-interface {p1}, Lcom/google/android/exoplayer2/drm/DrmSession;->getError()Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
move-result-object p2
.line 3
invoke-interface {p1}, Lcom/google/android/exoplayer2/drm/DrmSession;->getOfflineLicenseKeySetId()[B
move-result-object p3
.line 4
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->drmSessionManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->releaseSession(Lcom/google/android/exoplayer2/drm/DrmSession;)V
if-nez p2, :cond_0
return-object p3
.line 5
:cond_0
throw p2
.end method
.method public static newWidevineInstance(Lcom/google/android/exoplayer2/drm/MediaDrmCallback;Ljava/util/HashMap;)Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/MediaDrmCallback;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper<",
"Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;
}
.end annotation
.line 2
new-instance v0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
sget-object v1, Lcom/google/android/exoplayer2/C;->WIDEVINE_UUID:Ljava/util/UUID;
invoke-static {v1}, Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;->newInstance(Ljava/util/UUID;)Lcom/google/android/exoplayer2/drm/FrameworkMediaDrm;
move-result-object v1
invoke-direct {v0, v1, p0, p1}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;-><init>(Lcom/google/android/exoplayer2/drm/ExoMediaDrm;Lcom/google/android/exoplayer2/drm/MediaDrmCallback;Ljava/util/HashMap;)V
return-object v0
.end method
.method public static newWidevineInstance(Ljava/lang/String;Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;)Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;",
")",
"Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper<",
"Lcom/google/android/exoplayer2/drm/FrameworkMediaCrypto;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;
}
.end annotation
.line 1
new-instance v0, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;
invoke-direct {v0, p0, p1}, Lcom/google/android/exoplayer2/drm/HttpMediaDrmCallback;-><init>(Ljava/lang/String;Lcom/google/android/exoplayer2/upstream/HttpDataSource$Factory;)V
const/4 p0, 0x0
invoke-static {v0, p0}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->newWidevineInstance(Lcom/google/android/exoplayer2/drm/MediaDrmCallback;Ljava/util/HashMap;)Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;
move-result-object p0
return-object p0
.end method
.method private openBlockingKeyRequest(I[BLcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/drm/DrmSession;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(I[B",
"Lcom/google/android/exoplayer2/drm/DrmInitData;",
")",
"Lcom/google/android/exoplayer2/drm/DrmSession<",
"TT;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->drmSessionManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-virtual {v0, p1, p2}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->setMode(I[B)V
.line 2
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->conditionVariable:Landroid/os/ConditionVariable;
invoke-virtual {p1}, Landroid/os/ConditionVariable;->close()V
.line 3
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->drmSessionManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->handlerThread:Landroid/os/HandlerThread;
invoke-virtual {p2}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object p2
invoke-virtual {p1, p2, p3}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->acquireSession(Landroid/os/Looper;Lcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/drm/DrmSession;
move-result-object p1
.line 4
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->conditionVariable:Landroid/os/ConditionVariable;
invoke-virtual {p2}, Landroid/os/ConditionVariable;->block()V
return-object p1
.end method
# virtual methods
.method public declared-synchronized downloadLicense(Lcom/google/android/exoplayer2/drm/DrmInitData;)[B
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/InterruptedException;,
Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
}
.end annotation
monitor-enter p0
if-eqz p1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 1
:goto_0
:try_start_0
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
const/4 v0, 0x2
const/4 v1, 0x0
.line 2
invoke-direct {p0, v0, v1, p1}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->blockingKeyRequest(I[BLcom/google/android/exoplayer2/drm/DrmInitData;)[B
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-object p1
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized getLicenseDurationRemainingSec([B)Landroid/util/Pair;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"([B)",
"Landroid/util/Pair<",
"Ljava/lang/Long;",
"Ljava/lang/Long;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
}
.end annotation
monitor-enter p0
.line 1
:try_start_0
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x1
const/4 v1, 0x0
.line 2
invoke-direct {p0, v0, p1, v1}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->openBlockingKeyRequest(I[BLcom/google/android/exoplayer2/drm/DrmInitData;)Lcom/google/android/exoplayer2/drm/DrmSession;
move-result-object p1
.line 3
invoke-interface {p1}, Lcom/google/android/exoplayer2/drm/DrmSession;->getError()Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
move-result-object v0
.line 4
invoke-static {p1}, Lcom/google/android/exoplayer2/drm/WidevineUtil;->getLicenseDurationRemainingSec(Lcom/google/android/exoplayer2/drm/DrmSession;)Landroid/util/Pair;
move-result-object v1
.line 5
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->drmSessionManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;
invoke-virtual {v2, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionManager;->releaseSession(Lcom/google/android/exoplayer2/drm/DrmSession;)V
if-eqz v0, :cond_1
.line 6
invoke-virtual {v0}, Ljava/lang/Exception;->getCause()Ljava/lang/Throwable;
move-result-object p1
instance-of p1, p1, Lcom/google/android/exoplayer2/drm/KeysExpiredException;
if-eqz p1, :cond_0
const-wide/16 v0, 0x0
.line 7
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-static {p1, v0}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-object p1
.line 8
:cond_0
:try_start_1
throw v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 9
:cond_1
monitor-exit p0
return-object v1
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public release()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->handlerThread:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->quit()Z
return-void
.end method
.method public declared-synchronized releaseLicense([B)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
}
.end annotation
monitor-enter p0
.line 1
:try_start_0
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x3
const/4 v1, 0x0
.line 2
invoke-direct {p0, v0, p1, v1}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->blockingKeyRequest(I[BLcom/google/android/exoplayer2/drm/DrmInitData;)[B
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized renewLicense([B)[B
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
}
.end annotation
monitor-enter p0
.line 1
:try_start_0
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x2
const/4 v1, 0x0
.line 2
invoke-direct {p0, v0, p1, v1}, Lcom/google/android/exoplayer2/drm/OfflineLicenseHelper;->blockingKeyRequest(I[BLcom/google/android/exoplayer2/drm/DrmInitData;)[B
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-object p1
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
@@ -0,0 +1,21 @@
.class public interface abstract annotation Lcom/google/android/exoplayer2/drm/UnsupportedDrmException$Reason;
.super Ljava/lang/Object;
.source "UnsupportedDrmException.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2609
name = "Reason"
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->SOURCE:Ljava/lang/annotation/RetentionPolicy;
.end annotation
@@ -0,0 +1,47 @@
.class public final Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;
.super Ljava/lang/Exception;
.source "UnsupportedDrmException.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/drm/UnsupportedDrmException$Reason;
}
.end annotation
# static fields
.field public static final REASON_INSTANTIATION_ERROR:I = 0x2
.field public static final REASON_UNSUPPORTED_SCHEME:I = 0x1
# instance fields
.field public final reason:I
# direct methods
.method public constructor <init>(I)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Exception;-><init>()V
.line 2
iput p1, p0, Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;->reason:I
return-void
.end method
.method public constructor <init>(ILjava/lang/Exception;)V
.locals 0
.line 3
invoke-direct {p0, p2}, Ljava/lang/Exception;-><init>(Ljava/lang/Throwable;)V
.line 4
iput p1, p0, Lcom/google/android/exoplayer2/drm/UnsupportedDrmException;->reason:I
return-void
.end method
@@ -0,0 +1,111 @@
.class public final Lcom/google/android/exoplayer2/drm/WidevineUtil;
.super Ljava/lang/Object;
.source "WidevineUtil.java"
# static fields
.field public static final PROPERTY_LICENSE_DURATION_REMAINING:Ljava/lang/String; = "LicenseDurationRemaining"
.field public static final PROPERTY_PLAYBACK_DURATION_REMAINING:Ljava/lang/String; = "PlaybackDurationRemaining"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static getDurationRemainingSec(Ljava/util/Map;Ljava/lang/String;)J
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;",
"Ljava/lang/String;",
")J"
}
.end annotation
if-eqz p0, :cond_0
.line 1
:try_start_0
invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
if-eqz p0, :cond_0
.line 2
invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide p0
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
return-wide p0
:catch_0
:cond_0
const-wide p0, -0x7fffffffffffffffL # -4.9E-324
return-wide p0
.end method
.method public static getLicenseDurationRemainingSec(Lcom/google/android/exoplayer2/drm/DrmSession;)Landroid/util/Pair;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/drm/DrmSession<",
"*>;)",
"Landroid/util/Pair<",
"Ljava/lang/Long;",
"Ljava/lang/Long;",
">;"
}
.end annotation
.line 1
invoke-interface {p0}, Lcom/google/android/exoplayer2/drm/DrmSession;->queryKeyStatus()Ljava/util/Map;
move-result-object p0
.line 2
new-instance v0, Landroid/util/Pair;
const-string v1, "LicenseDurationRemaining"
.line 3
invoke-static {p0, v1}, Lcom/google/android/exoplayer2/drm/WidevineUtil;->getDurationRemainingSec(Ljava/util/Map;Ljava/lang/String;)J
move-result-wide v1
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
const-string v2, "PlaybackDurationRemaining"
.line 4
invoke-static {p0, v2}, Lcom/google/android/exoplayer2/drm/WidevineUtil;->getDurationRemainingSec(Ljava/util/Map;Ljava/lang/String;)J
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
invoke-direct {v0, v1, p0}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
.end method