DefaultDrmSession.smali
.class Lcom/google/android/exoplayer2/drm/DefaultDrmSession;
.super Ljava/lang/Object;
.source "DefaultDrmSession.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/DrmSession;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;,
Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostResponseHandler;,
Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;",
">",
"Ljava/lang/Object;",
"Lcom/google/android/exoplayer2/drm/DrmSession<",
"TT;>;"
}
.end annotation
# static fields
.field private static final MAX_LICENSE_DURATION_TO_RENEW:I
.field private static final MSG_KEYS:I
.field private static final MSG_PROVISION:I
.field private static final TAG:Ljava/lang/String; = "DefaultDrmSession"
# instance fields
.field final callback:Lcom/google/android/exoplayer2/drm/MediaDrmCallback;
.field private currentKeyRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.field private currentProvisionRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.field private final eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/util/EventDispatcher<",
"Lcom/google/android/exoplayer2/drm/DefaultDrmSessionEventListener;",
">;"
}
.end annotation
.end field
.field private final initialDrmRequestRetryCount:I
.field private lastException:Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
.field private mediaCrypto:Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT;"
}
.end annotation
.end field
.field private final mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm<",
"TT;>;"
}
.end annotation
.end field
.field private final mode:I
.field private offlineLicenseKeySetId:[B
.field private openCount:I
.field private final optionalKeyRequestParameters:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private postRequestHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/drm/DefaultDrmSession<",
"TT;>.PostRequestHandler;"
}
.end annotation
.end field
.field final postResponseHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostResponseHandler;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/drm/DefaultDrmSession<",
"TT;>.PostResponseHandler;"
}
.end annotation
.end field
.field private final provisioningManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager<",
"TT;>;"
}
.end annotation
.end field
.field private requestHandlerThread:Landroid/os/HandlerThread;
.field public final schemeDatas:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;"
}
.end annotation
.end field
.field private sessionId:[B
.field private state:I
.field final uuid:Ljava/util/UUID;
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x1553
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->MAX_LICENSE_DURATION_TO_RENEW:I
const v0, 0x156e
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->MSG_KEYS:I
const v0, 0x156f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->MSG_PROVISION:I
return-void
.end method
.method public constructor <init>(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/ExoMediaDrm;Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;Ljava/util/List;I[BLjava/util/HashMap;Lcom/google/android/exoplayer2/drm/MediaDrmCallback;Landroid/os/Looper;Lcom/google/android/exoplayer2/util/EventDispatcher;I)V
.registers 14
.param p1, "uuid" # Ljava/util/UUID;
.param p5, "mode" # I
.param p6, "offlineLicenseKeySetId" # [B
.param p8, "callback" # Lcom/google/android/exoplayer2/drm/MediaDrmCallback;
.param p9, "playbackLooper" # Landroid/os/Looper;
.param p11, "initialDrmRequestRetryCount" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/UUID;",
"Lcom/google/android/exoplayer2/drm/ExoMediaDrm<",
"TT;>;",
"Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager<",
"TT;>;",
"Ljava/util/List<",
"Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;",
">;I[B",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;",
"Lcom/google/android/exoplayer2/drm/MediaDrmCallback;",
"Landroid/os/Looper;",
"Lcom/google/android/exoplayer2/util/EventDispatcher<",
"Lcom/google/android/exoplayer2/drm/DefaultDrmSessionEventListener;",
">;I)V"
}
.end annotation
.line 141
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
.local p2, "mediaDrm":Lcom/google/android/exoplayer2/drm/ExoMediaDrm;, "Lcom/google/android/exoplayer2/drm/ExoMediaDrm<TT;>;"
.local p3, "provisioningManager":Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager<TT;>;"
.local p4, "schemeDatas":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/drm/DrmInitData$SchemeData;>;"
.local p7, "optionalKeyRequestParameters":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
.local p10, "eventDispatcher":Lcom/google/android/exoplayer2/util/EventDispatcher;, "Lcom/google/android/exoplayer2/util/EventDispatcher<Lcom/google/android/exoplayer2/drm/DefaultDrmSessionEventListener;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 142
const/4 v0, 0x1
if-eq p5, v0, :cond_9
const/4 v0, 0x3
if-ne p5, v0, :cond_c
.line 144
:cond_9
invoke-static {p6}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 146
:cond_c
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->uuid:Ljava/util/UUID;
.line 147
iput-object p3, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->provisioningManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
.line 148
iput-object p2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
.line 149
iput p5, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mode:I
.line 150
if-eqz p6, :cond_1c
.line 151
iput-object p6, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
.line 152
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->schemeDatas:Ljava/util/List;
goto :goto_28
.line 154
:cond_1c
invoke-static {p4}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->schemeDatas:Ljava/util/List;
.line 156
:goto_28
iput-object p7, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->optionalKeyRequestParameters:Ljava/util/HashMap;
.line 157
iput-object p8, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->callback:Lcom/google/android/exoplayer2/drm/MediaDrmCallback;
.line 158
iput p11, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->initialDrmRequestRetryCount:I
.line 159
iput-object p10, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
.line 160
const/4 v0, 0x2
iput v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
.line 162
new-instance v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostResponseHandler;
invoke-direct {v0, p0, p9}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostResponseHandler;-><init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSession;Landroid/os/Looper;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postResponseHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostResponseHandler;
.line 163
new-instance v0, Landroid/os/HandlerThread;
const-string v1, "DrmRequestHandler"
invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
.line 164
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
.line 165
new-instance v0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
invoke-virtual {v1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, p0, v1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;-><init>(Lcom/google/android/exoplayer2/drm/DefaultDrmSession;Landroid/os/Looper;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postRequestHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;
.line 166
return-void
.end method
.method static synthetic access$000(Lcom/google/android/exoplayer2/drm/DefaultDrmSession;Ljava/lang/Object;Ljava/lang/Object;)V
.registers 3
.param p0, "x0" # Lcom/google/android/exoplayer2/drm/DefaultDrmSession;
.param p1, "x1" # Ljava/lang/Object;
.param p2, "x2" # Ljava/lang/Object;
.line 49
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onProvisionResponse(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
.method static synthetic access$100(Lcom/google/android/exoplayer2/drm/DefaultDrmSession;Ljava/lang/Object;Ljava/lang/Object;)V
.registers 3
.param p0, "x0" # Lcom/google/android/exoplayer2/drm/DefaultDrmSession;
.param p1, "x1" # Ljava/lang/Object;
.param p2, "x2" # Ljava/lang/Object;
.line 49
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onKeyResponse(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
.method static synthetic access$200(Lcom/google/android/exoplayer2/drm/DefaultDrmSession;)I
.registers 2
.param p0, "x0" # Lcom/google/android/exoplayer2/drm/DefaultDrmSession;
.line 49
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->initialDrmRequestRetryCount:I
return v0
.end method
.method private doLicense(Z)V
.registers 9
.param p1, "allowRetry" # Z
.annotation runtime Lorg/checkerframework/checker/nullness/qual/RequiresNonNull;
value = {
"sessionId"
}
.end annotation
.line 324
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mode:I
const/4 v1, 0x1
const/4 v2, 0x2
if-eqz v0, :cond_37
if-eq v0, v1, :cond_37
if-eq v0, v2, :cond_21
const/4 v1, 0x3
if-eq v0, v1, :cond_f
goto/16 :goto_8f
.line 355
:cond_f
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 358
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->restoreKeys()Z
move-result v0
if-eqz v0, :cond_8f
.line 359
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
invoke-direct {p0, v0, v1, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
goto/16 :goto_8f
.line 345
:cond_21
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
if-nez v0, :cond_2b
.line 346
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-direct {p0, v0, v2, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
goto :goto_8f
.line 349
:cond_2b
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->restoreKeys()Z
move-result v0
if-eqz v0, :cond_8f
.line 350
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-direct {p0, v0, v2, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
goto :goto_8f
.line 327
:cond_37
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
if-nez v0, :cond_41
.line 328
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-direct {p0, v0, v1, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
goto :goto_8f
.line 329
:cond_41
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
const/4 v1, 0x4
if-eq v0, v1, :cond_4c
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->restoreKeys()Z
move-result v0
if-eqz v0, :cond_8f
.line 330
:cond_4c
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->getLicenseDurationRemainingSec()J
move-result-wide v3
.line 331
.local v3, "licenseDurationRemainingSec":J
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mode:I
if-nez v0, :cond_76
const-wide/16 v5, 0x3c
cmp-long v0, v3, v5
if-gtz v0, :cond_76
.line 333
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Offline license has expired or will expire soon. Remaining seconds: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "DefaultDrmSession"
invoke-static {v1, v0}, Lcom/google/android/exoplayer2/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 335
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-direct {p0, v0, v2, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postKeyRequest([BIZ)V
goto :goto_8e
.line 336
:cond_76
const-wide/16 v5, 0x0
cmp-long v0, v3, v5
if-gtz v0, :cond_85
.line 337
new-instance v0, Lcom/google/android/exoplayer2/drm/KeysExpiredException;
invoke-direct {v0}, Lcom/google/android/exoplayer2/drm/KeysExpiredException;-><init>()V
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;)V
goto :goto_8e
.line 339
:cond_85
iput v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
.line 340
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
sget-object v1, Lcom/google/android/exoplayer2/drm/-$$Lambda$tzysvANfjWo6mXRxYD2fQMdks_4;->INSTANCE:Lcom/google/android/exoplayer2/drm/-$$Lambda$tzysvANfjWo6mXRxYD2fQMdks_4;
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/util/EventDispatcher;->dispatch(Lcom/google/android/exoplayer2/util/EventDispatcher$Event;)V
.line 342
.end local v3 # "licenseDurationRemainingSec":J
:goto_8e
nop
.line 365
:cond_8f
:goto_8f
return-void
.end method
.method private getLicenseDurationRemainingSec()J
.registers 6
.line 380
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
sget-object v0, Lcom/google/android/exoplayer2/C;->WIDEVINE_UUID:Ljava/util/UUID;
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->uuid:Ljava/util/UUID;
invoke-virtual {v0, v1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_10
.line 381
const-wide v0, 0x7fffffffffffffffL
return-wide v0
.line 383
:cond_10
nop
.line 384
invoke-static {p0}, Lcom/google/android/exoplayer2/drm/WidevineUtil;->getLicenseDurationRemainingSec(Lcom/google/android/exoplayer2/drm/DrmSession;)Landroid/util/Pair;
move-result-object v0
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/util/Pair;
.line 385
.local v0, "pair":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Long;Ljava/lang/Long;>;"
iget-object v1, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Ljava/lang/Long;
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
iget-object v3, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v3, Ljava/lang/Long;
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v3
invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->min(JJ)J
move-result-wide v1
return-wide v1
.end method
.method private isOpen()Z
.registers 3
.annotation runtime Lorg/checkerframework/checker/nullness/qual/EnsuresNonNullIf;
expression = {
"sessionId"
}
result = true
.end annotation
.line 456
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
const/4 v1, 0x3
if-eq v0, v1, :cond_b
const/4 v1, 0x4
if-ne v0, v1, :cond_9
goto :goto_b
:cond_9
const/4 v0, 0x0
goto :goto_c
:cond_b
:goto_b
const/4 v0, 0x1
:goto_c
return v0
.end method
.method static synthetic lambda$onError$0(Ljava/lang/Exception;Lcom/google/android/exoplayer2/drm/DefaultDrmSessionEventListener;)V
.registers 2
.param p0, "e" # Ljava/lang/Exception;
.param p1, "listener" # Lcom/google/android/exoplayer2/drm/DefaultDrmSessionEventListener;
.line 447
invoke-interface {p1, p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSessionEventListener;->onDrmSessionManagerError(Ljava/lang/Exception;)V
return-void
.end method
.method private onError(Ljava/lang/Exception;)V
.registers 4
.param p1, "e" # Ljava/lang/Exception;
.line 446
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
new-instance v0, Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
invoke-direct {v0, p1}, Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;-><init>(Ljava/lang/Throwable;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->lastException:Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
.line 447
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
new-instance v1, Lcom/google/android/exoplayer2/drm/-$$Lambda$DefaultDrmSession$-nKOJC1w2998gRg4Cg4l2mjlp30;
invoke-direct {v1, p1}, Lcom/google/android/exoplayer2/drm/-$$Lambda$DefaultDrmSession$-nKOJC1w2998gRg4Cg4l2mjlp30;-><init>(Ljava/lang/Exception;)V
invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/util/EventDispatcher;->dispatch(Lcom/google/android/exoplayer2/util/EventDispatcher$Event;)V
.line 448
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
const/4 v1, 0x4
if-eq v0, v1, :cond_19
.line 449
const/4 v0, 0x1
iput v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
.line 451
:cond_19
return-void
.end method
.method private onKeyResponse(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 7
.param p1, "request" # Ljava/lang/Object;
.param p2, "response" # Ljava/lang/Object;
.line 399
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentKeyRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
if-ne p1, v0, :cond_64
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->isOpen()Z
move-result v0
if-nez v0, :cond_b
goto :goto_64
.line 403
:cond_b
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentKeyRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.line 405
instance-of v0, p2, Ljava/lang/Exception;
if-eqz v0, :cond_19
.line 406
move-object v0, p2
check-cast v0, Ljava/lang/Exception;
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onKeysError(Ljava/lang/Exception;)V
.line 407
return-void
.line 411
:cond_19
:try_start_19
move-object v0, p2
check-cast v0, [B
check-cast v0, [B
.line 412
.local v0, "responseData":[B
iget v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mode:I
const/4 v2, 0x3
if-ne v1, v2, :cond_38
.line 413
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, [B
invoke-interface {v1, v2, v0}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->provideKeyResponse([B[B)[B
.line 414
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
sget-object v2, Lcom/google/android/exoplayer2/drm/-$$Lambda$tzysvANfjWo6mXRxYD2fQMdks_4;->INSTANCE:Lcom/google/android/exoplayer2/drm/-$$Lambda$tzysvANfjWo6mXRxYD2fQMdks_4;
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/util/EventDispatcher;->dispatch(Lcom/google/android/exoplayer2/util/EventDispatcher$Event;)V
goto :goto_5e
.line 416
:cond_38
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-interface {v1, v2, v0}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->provideKeyResponse([B[B)[B
move-result-object v1
.line 417
.local v1, "keySetId":[B
iget v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mode:I
const/4 v3, 0x2
if-eq v2, v3, :cond_4d
iget v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mode:I
if-nez v2, :cond_54
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
if-eqz v2, :cond_54
:cond_4d
if-eqz v1, :cond_54
array-length v2, v1
if-eqz v2, :cond_54
.line 420
iput-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
.line 422
:cond_54
const/4 v2, 0x4
iput v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
.line 423
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
sget-object v3, Lcom/google/android/exoplayer2/drm/-$$Lambda$wyKVEWJALn1OyjwryLo2GUxlQ2M;->INSTANCE:Lcom/google/android/exoplayer2/drm/-$$Lambda$wyKVEWJALn1OyjwryLo2GUxlQ2M;
invoke-virtual {v2, v3}, Lcom/google/android/exoplayer2/util/EventDispatcher;->dispatch(Lcom/google/android/exoplayer2/util/EventDispatcher$Event;)V
:try_end_5e
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_5e} :catch_5f
.line 427
.end local v0 # "responseData":[B
.end local v1 # "keySetId":[B
:goto_5e
goto :goto_63
.line 425
:catch_5f
move-exception v0
.line 426
.local v0, "e":Ljava/lang/Exception;
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onKeysError(Ljava/lang/Exception;)V
.line 428
.end local v0 # "e":Ljava/lang/Exception;
:goto_63
return-void
.line 401
:cond_64
:goto_64
return-void
.end method
.method private onKeysError(Ljava/lang/Exception;)V
.registers 3
.param p1, "e" # Ljava/lang/Exception;
.line 438
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
instance-of v0, p1, Landroid/media/NotProvisionedException;
if-eqz v0, :cond_a
.line 439
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->provisioningManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
invoke-interface {v0, p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;->provisionRequired(Lcom/google/android/exoplayer2/drm/DefaultDrmSession;)V
goto :goto_d
.line 441
:cond_a
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;)V
.line 443
:goto_d
return-void
.end method
.method private onKeysRequired()V
.registers 3
.line 431
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mode:I
if-nez v0, :cond_12
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
const/4 v1, 0x4
if-ne v0, v1, :cond_12
.line 432
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Util;->castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 433
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->doLicense(Z)V
.line 435
:cond_12
return-void
.end method
.method private onProvisionResponse(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 5
.param p1, "request" # Ljava/lang/Object;
.param p2, "response" # Ljava/lang/Object;
.line 301
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentProvisionRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
if-ne p1, v0, :cond_38
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
const/4 v1, 0x2
if-eq v0, v1, :cond_10
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->isOpen()Z
move-result v0
if-nez v0, :cond_10
goto :goto_38
.line 305
:cond_10
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentProvisionRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.line 307
instance-of v0, p2, Ljava/lang/Exception;
if-eqz v0, :cond_20
.line 308
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->provisioningManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
move-object v1, p2
check-cast v1, Ljava/lang/Exception;
invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;->onProvisionError(Ljava/lang/Exception;)V
.line 309
return-void
.line 313
:cond_20
:try_start_20
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
move-object v1, p2
check-cast v1, [B
check-cast v1, [B
invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->provideProvisionResponse([B)V
:try_end_2a
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_2a} :catch_31
.line 317
nop
.line 319
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->provisioningManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
invoke-interface {v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;->onProvisionCompleted()V
.line 320
return-void
.line 314
:catch_31
move-exception v0
.line 315
.local v0, "e":Ljava/lang/Exception;
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->provisioningManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
invoke-interface {v1, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;->onProvisionError(Ljava/lang/Exception;)V
.line 316
return-void
.line 303
.end local v0 # "e":Ljava/lang/Exception;
:cond_38
:goto_38
return-void
.end method
.method private openInternal(Z)Z
.registers 5
.param p1, "allowProvisioning" # Z
.annotation runtime Lorg/checkerframework/checker/nullness/qual/EnsuresNonNullIf;
expression = {
"sessionId"
}
result = true
.end annotation
.line 276
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->isOpen()Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_8
.line 278
return v1
.line 282
:cond_8
:try_start_8
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
invoke-interface {v0}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->openSession()[B
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
.line 283
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
sget-object v2, Lcom/google/android/exoplayer2/drm/-$$Lambda$jFcVU4qXZB2nhSZWHXCB9S7MtRI;->INSTANCE:Lcom/google/android/exoplayer2/drm/-$$Lambda$jFcVU4qXZB2nhSZWHXCB9S7MtRI;
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/util/EventDispatcher;->dispatch(Lcom/google/android/exoplayer2/util/EventDispatcher$Event;)V
.line 284
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-interface {v0, v2}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->createMediaCrypto([B)Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaCrypto:Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.line 285
const/4 v0, 0x3
iput v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
:try_end_24
.catch Landroid/media/NotProvisionedException; {:try_start_8 .. :try_end_24} :catch_2a
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_24} :catch_25
.line 286
return v1
.line 293
:catch_25
move-exception v0
.line 294
.local v0, "e":Ljava/lang/Exception;
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;)V
goto :goto_37
.line 287
.end local v0 # "e":Ljava/lang/Exception;
:catch_2a
move-exception v0
.line 288
.local v0, "e":Landroid/media/NotProvisionedException;
if-eqz p1, :cond_33
.line 289
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->provisioningManager:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;
invoke-interface {v1, p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$ProvisioningManager;->provisionRequired(Lcom/google/android/exoplayer2/drm/DefaultDrmSession;)V
goto :goto_36
.line 291
:cond_33
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;)V
.line 295
.end local v0 # "e":Landroid/media/NotProvisionedException;
:goto_36
nop
.line 297
:goto_37
const/4 v0, 0x0
return v0
.end method
.method private postKeyRequest([BIZ)V
.registers 7
.param p1, "scope" # [B
.param p2, "type" # I
.param p3, "allowRetry" # Z
.line 390
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
:try_start_0
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->schemeDatas:Ljava/util/List;
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->optionalKeyRequestParameters:Ljava/util/HashMap;
.line 391
invoke-interface {v0, p1, v1, p2, v2}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->getKeyRequest([BLjava/util/List;ILjava/util/HashMap;)Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentKeyRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.line 392
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postRequestHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;
const/4 v2, 0x1
invoke-virtual {v1, v2, v0, p3}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;->post(ILjava/lang/Object;Z)V
:try_end_12
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_12} :catch_13
.line 395
goto :goto_17
.line 393
:catch_13
move-exception v0
.line 394
.local v0, "e":Ljava/lang/Exception;
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onKeysError(Ljava/lang/Exception;)V
.line 396
.end local v0 # "e":Ljava/lang/Exception;
:goto_17
return-void
.end method
.method private restoreKeys()Z
.registers 4
.annotation runtime Lorg/checkerframework/checker/nullness/qual/RequiresNonNull;
value = {
"sessionId",
"offlineLicenseKeySetId"
}
.end annotation
.line 370
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
:try_start_0
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
invoke-interface {v0, v1, v2}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->restoreKeys([B[B)V
:try_end_9
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_9} :catch_b
.line 371
const/4 v0, 0x1
return v0
.line 372
:catch_b
move-exception v0
.line 373
.local v0, "e":Ljava/lang/Exception;
const-string v1, "DefaultDrmSession"
const-string v2, "Error trying to restore Widevine keys."
invoke-static {v1, v2, v0}, Lcom/google/android/exoplayer2/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 374
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;)V
.line 376
.end local v0 # "e":Ljava/lang/Exception;
const/4 v0, 0x0
return v0
.end method
# virtual methods
.method public acquire()V
.registers 3
.line 171
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->openCount:I
const/4 v1, 0x1
add-int/2addr v0, v1
iput v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->openCount:I
if-ne v0, v1, :cond_16
.line 172
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
if-ne v0, v1, :cond_d
.line 173
return-void
.line 175
:cond_d
invoke-direct {p0, v1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->openInternal(Z)Z
move-result v0
if-eqz v0, :cond_16
.line 176
invoke-direct {p0, v1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->doLicense(Z)V
.line 179
:cond_16
return-void
.end method
.method public final getError()Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
.registers 3
.line 247
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
const/4 v1, 0x1
if-ne v0, v1, :cond_8
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->lastException:Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
return-object v0
.end method
.method public final getMediaCrypto()Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.line 252
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaCrypto:Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
return-object v0
.end method
.method public getOfflineLicenseKeySetId()[B
.registers 2
.line 262
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->offlineLicenseKeySetId:[B
return-object v0
.end method
.method public final getState()I
.registers 2
.line 242
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
return v0
.end method
.method public hasSessionId([B)Z
.registers 3
.param p1, "sessionId" # [B
.line 207
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
invoke-static {v0, p1}, Ljava/util/Arrays;->equals([B[B)Z
move-result v0
return v0
.end method
.method public onMediaDrmEvent(I)V
.registers 3
.param p1, "what" # I
.line 211
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
const/4 v0, 0x2
if-eq p1, v0, :cond_4
goto :goto_8
.line 213
:cond_4
invoke-direct {p0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onKeysRequired()V
.line 214
nop
.line 218
:goto_8
return-void
.end method
.method public onProvisionCompleted()V
.registers 2
.line 228
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->openInternal(Z)Z
move-result v0
if-eqz v0, :cond_b
.line 229
const/4 v0, 0x1
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->doLicense(Z)V
.line 231
:cond_b
return-void
.end method
.method public onProvisionError(Ljava/lang/Exception;)V
.registers 2
.param p1, "error" # Ljava/lang/Exception;
.line 234
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->onError(Ljava/lang/Exception;)V
.line 235
return-void
.end method
.method public provision()V
.registers 5
.line 223
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
invoke-interface {v0}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->getProvisionRequest()Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
move-result-object v0
iput-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentProvisionRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.line 224
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postRequestHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;
const/4 v2, 0x0
const/4 v3, 0x1
invoke-virtual {v1, v2, v0, v3}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;->post(ILjava/lang/Object;Z)V
.line 225
return-void
.end method
.method public queryKeyStatus()Ljava/util/Map;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 257
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
if-nez v0, :cond_6
const/4 v0, 0x0
goto :goto_c
:cond_6
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
invoke-interface {v1, v0}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->queryKeyStatus([B)Ljava/util/Map;
move-result-object v0
:goto_c
return-object v0
.end method
.method public release()Z
.registers 5
.line 185
.local p0, "this":Lcom/google/android/exoplayer2/drm/DefaultDrmSession;, "Lcom/google/android/exoplayer2/drm/DefaultDrmSession<TT;>;"
iget v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->openCount:I
const/4 v1, 0x1
sub-int/2addr v0, v1
iput v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->openCount:I
const/4 v2, 0x0
if-nez v0, :cond_3a
.line 186
iput v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->state:I
.line 187
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postResponseHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostResponseHandler;
const/4 v2, 0x0
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostResponseHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
.line 188
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postRequestHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
.line 189
iput-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->postRequestHandler:Lcom/google/android/exoplayer2/drm/DefaultDrmSession$PostRequestHandler;
.line 190
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->quit()Z
.line 191
iput-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->requestHandlerThread:Landroid/os/HandlerThread;
.line 192
iput-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaCrypto:Lcom/google/android/exoplayer2/drm/ExoMediaCrypto;
.line 193
iput-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->lastException:Lcom/google/android/exoplayer2/drm/DrmSession$DrmSessionException;
.line 194
iput-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentKeyRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$KeyRequest;
.line 195
iput-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->currentProvisionRequest:Lcom/google/android/exoplayer2/drm/ExoMediaDrm$ProvisionRequest;
.line 196
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
if-eqz v0, :cond_39
.line 197
iget-object v3, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->mediaDrm:Lcom/google/android/exoplayer2/drm/ExoMediaDrm;
invoke-interface {v3, v0}, Lcom/google/android/exoplayer2/drm/ExoMediaDrm;->closeSession([B)V
.line 198
iput-object v2, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->sessionId:[B
.line 199
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/DefaultDrmSession;->eventDispatcher:Lcom/google/android/exoplayer2/util/EventDispatcher;
sget-object v2, Lcom/google/android/exoplayer2/drm/-$$Lambda$1U2yJBSMBm8ESUSz9LUzNXtoVus;->INSTANCE:Lcom/google/android/exoplayer2/drm/-$$Lambda$1U2yJBSMBm8ESUSz9LUzNXtoVus;
invoke-virtual {v0, v2}, Lcom/google/android/exoplayer2/util/EventDispatcher;->dispatch(Lcom/google/android/exoplayer2/util/EventDispatcher$Event;)V
.line 201
:cond_39
return v1
.line 203
:cond_3a
return v2
.end method