E.smali
.class public final Lcom/google/android/exoplayer2/drm/E;
.super Ljava/lang/Object;
.source "HttpMediaDrmCallback.java"
# interfaces
.implements Lcom/google/android/exoplayer2/drm/F;
# instance fields
.field private final a:Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;
.field private final b:Ljava/lang/String;
.field private final c:Z
.field private final d: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 constructor <init>(Ljava/lang/String;ZLcom/google/android/exoplayer2/upstream/HttpDataSource$b;)V
.registers 4
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p3, p0, Lcom/google/android/exoplayer2/drm/E;->a:Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;
.line 3
iput-object p1, p0, Lcom/google/android/exoplayer2/drm/E;->b:Ljava/lang/String;
.line 4
iput-boolean p2, p0, Lcom/google/android/exoplayer2/drm/E;->c:Z
.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/E;->d:Ljava/util/Map;
return-void
.end method
.method private static a(Lcom/google/android/exoplayer2/upstream/HttpDataSource$InvalidResponseCodeException;I)Ljava/lang/String;
.registers 5
.line 45
iget v0, p0, Lcom/google/android/exoplayer2/upstream/HttpDataSource$InvalidResponseCodeException;->responseCode:I
const/4 v1, 0x0
const/16 v2, 0x133
if-eq v0, v2, :cond_b
const/16 v2, 0x134
if-ne v0, v2, :cond_10
:cond_b
const/4 v0, 0x5
if-ge p1, v0, :cond_10
const/4 p1, 0x1
goto :goto_11
:cond_10
const/4 p1, 0x0
:goto_11
const/4 v0, 0x0
if-nez p1, :cond_15
return-object v0
.line 46
:cond_15
iget-object p0, p0, Lcom/google/android/exoplayer2/upstream/HttpDataSource$InvalidResponseCodeException;->headerFields:Ljava/util/Map;
if-eqz p0, :cond_30
const-string p1, "Location"
.line 47
invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/util/List;
if-eqz p0, :cond_30
.line 48
invoke-interface {p0}, Ljava/util/List;->isEmpty()Z
move-result p1
if-nez p1, :cond_30
.line 49
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
return-object p0
:cond_30
return-object v0
.end method
.method private static a(Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;Ljava/lang/String;[BLjava/util/Map;)[B
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;",
"Ljava/lang/String;",
"[B",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)[B"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/MediaDrmCallbackException;
}
.end annotation
.line 24
new-instance v0, Lcom/google/android/exoplayer2/upstream/C;
invoke-interface {p0}, Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;->a()Lcom/google/android/exoplayer2/upstream/HttpDataSource;
move-result-object p0
invoke-direct {v0, p0}, Lcom/google/android/exoplayer2/upstream/C;-><init>(Lcom/google/android/exoplayer2/upstream/k;)V
.line 25
new-instance p0, Lcom/google/android/exoplayer2/upstream/n$a;
invoke-direct {p0}, Lcom/google/android/exoplayer2/upstream/n$a;-><init>()V
.line 26
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/upstream/n$a;->b(Ljava/lang/String;)Lcom/google/android/exoplayer2/upstream/n$a;
.line 27
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/upstream/n$a;->a(Ljava/util/Map;)Lcom/google/android/exoplayer2/upstream/n$a;
const/4 p1, 0x2
.line 28
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/upstream/n$a;->b(I)Lcom/google/android/exoplayer2/upstream/n$a;
.line 29
invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/upstream/n$a;->a([B)Lcom/google/android/exoplayer2/upstream/n$a;
const/4 p1, 0x1
.line 30
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/upstream/n$a;->a(I)Lcom/google/android/exoplayer2/upstream/n$a;
.line 31
invoke-virtual {p0}, Lcom/google/android/exoplayer2/upstream/n$a;->a()Lcom/google/android/exoplayer2/upstream/n;
move-result-object v2
const/4 p0, 0x0
move-object p0, v2
const/4 p1, 0x0
.line 32
:goto_26
:try_start_26
new-instance p2, Lcom/google/android/exoplayer2/upstream/l;
invoke-direct {p2, v0, p0}, Lcom/google/android/exoplayer2/upstream/l;-><init>(Lcom/google/android/exoplayer2/upstream/k;Lcom/google/android/exoplayer2/upstream/n;)V
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_2b} :catch_52
.line 33
:try_start_2b
invoke-static {p2}, Lcom/google/android/exoplayer2/util/L;->a(Ljava/io/InputStream;)[B
move-result-object p0
:try_end_2f
.catch Lcom/google/android/exoplayer2/upstream/HttpDataSource$InvalidResponseCodeException; {:try_start_2b .. :try_end_2f} :catch_35
.catchall {:try_start_2b .. :try_end_2f} :catchall_33
.line 34
:try_start_2f
invoke-static {p2}, Lcom/google/android/exoplayer2/util/L;->a(Ljava/io/Closeable;)V
:try_end_32
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_32} :catch_52
return-object p0
:catchall_33
move-exception p0
goto :goto_4e
:catch_35
move-exception p3
.line 35
:try_start_36
invoke-static {p3, p1}, Lcom/google/android/exoplayer2/drm/E;->a(Lcom/google/android/exoplayer2/upstream/HttpDataSource$InvalidResponseCodeException;I)Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_4d
add-int/lit8 p1, p1, 0x1
.line 36
invoke-virtual {p0}, Lcom/google/android/exoplayer2/upstream/n;->a()Lcom/google/android/exoplayer2/upstream/n$a;
move-result-object p0
invoke-virtual {p0, v1}, Lcom/google/android/exoplayer2/upstream/n$a;->b(Ljava/lang/String;)Lcom/google/android/exoplayer2/upstream/n$a;
invoke-virtual {p0}, Lcom/google/android/exoplayer2/upstream/n$a;->a()Lcom/google/android/exoplayer2/upstream/n;
move-result-object p0
:try_end_49
.catchall {:try_start_36 .. :try_end_49} :catchall_33
.line 37
:try_start_49
invoke-static {p2}, Lcom/google/android/exoplayer2/util/L;->a(Ljava/io/Closeable;)V
:try_end_4c
.catch Ljava/lang/Exception; {:try_start_49 .. :try_end_4c} :catch_52
goto :goto_26
.line 38
:cond_4d
:try_start_4d
throw p3
:try_end_4e
.catchall {:try_start_4d .. :try_end_4e} :catchall_33
.line 39
:goto_4e
:try_start_4e
invoke-static {p2}, Lcom/google/android/exoplayer2/util/L;->a(Ljava/io/Closeable;)V
.line 40
throw p0
:try_end_52
.catch Ljava/lang/Exception; {:try_start_4e .. :try_end_52} :catch_52
:catch_52
move-exception p0
move-object v7, p0
.line 41
new-instance p0, Lcom/google/android/exoplayer2/drm/MediaDrmCallbackException;
.line 42
invoke-virtual {v0}, Lcom/google/android/exoplayer2/upstream/C;->b()Landroid/net/Uri;
move-result-object p1
invoke-static {p1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-object v3, p1
check-cast v3, Landroid/net/Uri;
.line 43
invoke-virtual {v0}, Lcom/google/android/exoplayer2/upstream/C;->getResponseHeaders()Ljava/util/Map;
move-result-object v4
.line 44
invoke-virtual {v0}, Lcom/google/android/exoplayer2/upstream/C;->a()J
move-result-wide v5
move-object v1, p0
invoke-direct/range {v1 .. v7}, Lcom/google/android/exoplayer2/drm/MediaDrmCallbackException;-><init>(Lcom/google/android/exoplayer2/upstream/n;Landroid/net/Uri;Ljava/util/Map;JLjava/lang/Throwable;)V
goto :goto_6e
:goto_6d
throw p0
:goto_6e
goto :goto_6d
.end method
# virtual methods
.method public a(Ljava/lang/String;Ljava/lang/String;)V
.registers 5
.line 1
invoke-static {p1}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p2}, Lcom/google/android/exoplayer2/util/d;->a(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/E;->d:Ljava/util/Map;
monitor-enter v0
.line 4
:try_start_9
iget-object v1, p0, Lcom/google/android/exoplayer2/drm/E;->d: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_10
move-exception p1
monitor-exit v0
:try_end_12
.catchall {:try_start_9 .. :try_end_12} :catchall_10
throw p1
.end method
.method public a(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/B$a;)[B
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/MediaDrmCallbackException;
}
.end annotation
.line 10
invoke-virtual {p2}, Lcom/google/android/exoplayer2/drm/B$a;->b()Ljava/lang/String;
move-result-object v0
.line 11
iget-boolean v1, p0, Lcom/google/android/exoplayer2/drm/E;->c:Z
if-nez v1, :cond_e
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_10
.line 12
:cond_e
iget-object v0, p0, Lcom/google/android/exoplayer2/drm/E;->b:Ljava/lang/String;
.line 13
:cond_10
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
.line 14
sget-object v2, Lcom/google/android/exoplayer2/G;->e:Ljava/util/UUID;
invoke-virtual {v2, p1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_20
const-string v2, "text/xml"
goto :goto_2d
.line 15
:cond_20
sget-object v2, Lcom/google/android/exoplayer2/G;->c:Ljava/util/UUID;
invoke-virtual {v2, p1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2b
const-string v2, "application/json"
goto :goto_2d
:cond_2b
const-string v2, "application/octet-stream"
:goto_2d
const-string v3, "Content-Type"
.line 16
invoke-interface {v1, v3, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 17
sget-object v2, Lcom/google/android/exoplayer2/G;->e:Ljava/util/UUID;
invoke-virtual {v2, p1}, Ljava/util/UUID;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_41
const-string p1, "SOAPAction"
const-string v2, "http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"
.line 18
invoke-interface {v1, p1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 19
:cond_41
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/E;->d:Ljava/util/Map;
monitor-enter p1
.line 20
:try_start_44
iget-object v2, p0, Lcom/google/android/exoplayer2/drm/E;->d:Ljava/util/Map;
invoke-interface {v1, v2}, Ljava/util/Map;->putAll(Ljava/util/Map;)V
.line 21
monitor-exit p1
:try_end_4a
.catchall {:try_start_44 .. :try_end_4a} :catchall_55
.line 22
iget-object p1, p0, Lcom/google/android/exoplayer2/drm/E;->a:Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;
invoke-virtual {p2}, Lcom/google/android/exoplayer2/drm/B$a;->a()[B
move-result-object p2
invoke-static {p1, v0, p2, v1}, Lcom/google/android/exoplayer2/drm/E;->a(Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;Ljava/lang/String;[BLjava/util/Map;)[B
move-result-object p1
return-object p1
:catchall_55
move-exception p2
.line 23
:try_start_56
monitor-exit p1
:try_end_57
.catchall {:try_start_56 .. :try_end_57} :catchall_55
throw p2
.end method
.method public a(Ljava/util/UUID;Lcom/google/android/exoplayer2/drm/B$d;)[B
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/drm/MediaDrmCallbackException;
}
.end annotation
.line 6
invoke-virtual {p2}, Lcom/google/android/exoplayer2/drm/B$d;->b()Ljava/lang/String;
move-result-object p1
invoke-virtual {p2}, Lcom/google/android/exoplayer2/drm/B$d;->a()[B
move-result-object p2
invoke-static {p2}, Lcom/google/android/exoplayer2/util/L;->a([B)Ljava/lang/String;
move-result-object p2
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
add-int/lit8 v0, v0, 0xf
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/2addr v0, v1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "&signedRequest="
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 7
iget-object p2, p0, Lcom/google/android/exoplayer2/drm/E;->a:Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;
.line 8
invoke-static {}, Ljava/util/Collections;->emptyMap()Ljava/util/Map;
move-result-object v0
const/4 v1, 0x0
.line 9
invoke-static {p2, p1, v1, v0}, Lcom/google/android/exoplayer2/drm/E;->a(Lcom/google/android/exoplayer2/upstream/HttpDataSource$b;Ljava/lang/String;[BLjava/util/Map;)[B
move-result-object p1
return-object p1
.end method