PlayerMessage.smali
.class public final Lcom/google/android/exoplayer2/PlayerMessage;
.super Ljava/lang/Object;
.source "PlayerMessage.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/PlayerMessage$Sender;,
Lcom/google/android/exoplayer2/PlayerMessage$Target;
}
.end annotation
# instance fields
.field private deleteAfterDelivery:Z
.field private handler:Landroid/os/Handler;
.field private isCanceled:Z
.field private isDelivered:Z
.field private isProcessed:Z
.field private isSent:Z
.field private payload:Ljava/lang/Object;
.field private positionMs:J
.field private final sender:Lcom/google/android/exoplayer2/PlayerMessage$Sender;
.field private final target:Lcom/google/android/exoplayer2/PlayerMessage$Target;
.field private final timeline:Lcom/google/android/exoplayer2/Timeline;
.field private type:I
.field private windowIndex:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/PlayerMessage$Sender;Lcom/google/android/exoplayer2/PlayerMessage$Target;Lcom/google/android/exoplayer2/Timeline;ILandroid/os/Handler;)V
.registers 8
.param p1, "sender" # Lcom/google/android/exoplayer2/PlayerMessage$Sender;
.param p2, "target" # Lcom/google/android/exoplayer2/PlayerMessage$Target;
.param p3, "timeline" # Lcom/google/android/exoplayer2/Timeline;
.param p4, "defaultWindowIndex" # I
.param p5, "defaultHandler" # Landroid/os/Handler;
.line 85
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 86
iput-object p1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->sender:Lcom/google/android/exoplayer2/PlayerMessage$Sender;
.line 87
iput-object p2, p0, Lcom/google/android/exoplayer2/PlayerMessage;->target:Lcom/google/android/exoplayer2/PlayerMessage$Target;
.line 88
iput-object p3, p0, Lcom/google/android/exoplayer2/PlayerMessage;->timeline:Lcom/google/android/exoplayer2/Timeline;
.line 89
iput-object p5, p0, Lcom/google/android/exoplayer2/PlayerMessage;->handler:Landroid/os/Handler;
.line 90
iput p4, p0, Lcom/google/android/exoplayer2/PlayerMessage;->windowIndex:I
.line 91
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
iput-wide v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->positionMs:J
.line 92
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->deleteAfterDelivery:Z
.line 93
return-void
.end method
# virtual methods
.method public declared-synchronized blockUntilDelivered()Z
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
monitor-enter p0
.line 279
:try_start_1
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 280
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->handler:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-virtual {v0}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;
move-result-object v0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
if-eq v0, v1, :cond_18
const/4 v0, 0x1
goto :goto_19
:cond_18
const/4 v0, 0x0
:goto_19
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 281
:goto_1c
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isProcessed:Z
if-nez v0, :cond_24
.line 282
invoke-virtual {p0}, Ljava/lang/Object;->wait()V
goto :goto_1c
.line 284
.end local p0 # "this":Lcom/google/android/exoplayer2/PlayerMessage;
:cond_24
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isDelivered:Z
:try_end_26
.catchall {:try_start_1 .. :try_end_26} :catchall_28
monitor-exit p0
return v0
.line 278
:catchall_28
move-exception v0
monitor-exit p0
goto :goto_2c
:goto_2b
throw v0
:goto_2c
goto :goto_2b
.end method
.method public declared-synchronized cancel()Lcom/google/android/exoplayer2/PlayerMessage;
.registers 2
monitor-enter p0
.line 253
:try_start_1
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 254
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isCanceled:Z
.line 255
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/PlayerMessage;->markAsProcessed(Z)V
:try_end_d
.catchall {:try_start_1 .. :try_end_d} :catchall_f
.line 256
monitor-exit p0
return-object p0
.line 252
.end local p0 # "this":Lcom/google/android/exoplayer2/PlayerMessage;
:catchall_f
move-exception v0
monitor-exit p0
throw v0
.end method
.method public getDeleteAfterDelivery()Z
.registers 2
.line 225
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->deleteAfterDelivery:Z
return v0
.end method
.method public getHandler()Landroid/os/Handler;
.registers 2
.line 156
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->handler:Landroid/os/Handler;
return-object v0
.end method
.method public getPayload()Ljava/lang/Object;
.registers 2
.line 138
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->payload:Ljava/lang/Object;
return-object v0
.end method
.method public getPositionMs()J
.registers 3
.line 164
iget-wide v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->positionMs:J
return-wide v0
.end method
.method public getTarget()Lcom/google/android/exoplayer2/PlayerMessage$Target;
.registers 2
.line 102
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->target:Lcom/google/android/exoplayer2/PlayerMessage$Target;
return-object v0
.end method
.method public getTimeline()Lcom/google/android/exoplayer2/Timeline;
.registers 2
.line 97
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->timeline:Lcom/google/android/exoplayer2/Timeline;
return-object v0
.end method
.method public getType()I
.registers 2
.line 120
iget v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->type:I
return v0
.end method
.method public getWindowIndex()I
.registers 2
.line 205
iget v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->windowIndex:I
return v0
.end method
.method public declared-synchronized isCanceled()Z
.registers 2
monitor-enter p0
.line 261
:try_start_1
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isCanceled:Z
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_5
monitor-exit p0
return v0
.end local p0 # "this":Lcom/google/android/exoplayer2/PlayerMessage;
:catchall_5
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized markAsProcessed(Z)V
.registers 3
.param p1, "isDelivered" # Z
monitor-enter p0
.line 296
:try_start_1
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isDelivered:Z
or-int/2addr v0, p1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isDelivered:Z
.line 297
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isProcessed:Z
.line 298
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
:try_end_c
.catchall {:try_start_1 .. :try_end_c} :catchall_e
.line 299
monitor-exit p0
return-void
.line 295
.end local p0 # "this":Lcom/google/android/exoplayer2/PlayerMessage;
.end local p1 # "isDelivered":Z
:catchall_e
move-exception p1
monitor-exit p0
throw p1
.end method
.method public send()Lcom/google/android/exoplayer2/PlayerMessage;
.registers 7
.line 237
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
const/4 v1, 0x1
xor-int/2addr v0, v1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 238
iget-wide v2, p0, Lcom/google/android/exoplayer2/PlayerMessage;->positionMs:J
const-wide v4, -0x7fffffffffffffffL # -4.9E-324
cmp-long v0, v2, v4
if-nez v0, :cond_17
.line 239
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->deleteAfterDelivery:Z
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
.line 241
:cond_17
iput-boolean v1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
.line 242
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->sender:Lcom/google/android/exoplayer2/PlayerMessage$Sender;
invoke-interface {v0, p0}, Lcom/google/android/exoplayer2/PlayerMessage$Sender;->sendMessage(Lcom/google/android/exoplayer2/PlayerMessage;)V
.line 243
return-object p0
.end method
.method public setDeleteAfterDelivery(Z)Lcom/google/android/exoplayer2/PlayerMessage;
.registers 3
.param p1, "deleteAfterDelivery" # Z
.line 218
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
xor-int/lit8 v0, v0, 0x1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 219
iput-boolean p1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->deleteAfterDelivery:Z
.line 220
return-object p0
.end method
.method public setHandler(Landroid/os/Handler;)Lcom/google/android/exoplayer2/PlayerMessage;
.registers 3
.param p1, "handler" # Landroid/os/Handler;
.line 149
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
xor-int/lit8 v0, v0, 0x1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 150
iput-object p1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->handler:Landroid/os/Handler;
.line 151
return-object p0
.end method
.method public setPayload(Ljava/lang/Object;)Lcom/google/android/exoplayer2/PlayerMessage;
.registers 3
.param p1, "payload" # Ljava/lang/Object;
.line 131
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
xor-int/lit8 v0, v0, 0x1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 132
iput-object p1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->payload:Ljava/lang/Object;
.line 133
return-object p0
.end method
.method public setPosition(IJ)Lcom/google/android/exoplayer2/PlayerMessage;
.registers 8
.param p1, "windowIndex" # I
.param p2, "positionMs" # J
.line 193
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
const/4 v1, 0x1
xor-int/2addr v0, v1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 194
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
cmp-long v0, p2, v2
if-eqz v0, :cond_11
goto :goto_12
:cond_11
const/4 v1, 0x0
:goto_12
invoke-static {v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
.line 195
if-ltz p1, :cond_2c
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->timeline:Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v0
if-nez v0, :cond_27
iget-object v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->timeline:Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v0
if-ge p1, v0, :cond_2c
.line 198
:cond_27
iput p1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->windowIndex:I
.line 199
iput-wide p2, p0, Lcom/google/android/exoplayer2/PlayerMessage;->positionMs:J
.line 200
return-object p0
.line 196
:cond_2c
new-instance v0, Lcom/google/android/exoplayer2/IllegalSeekPositionException;
iget-object v1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->timeline:Lcom/google/android/exoplayer2/Timeline;
invoke-direct {v0, v1, p1, p2, p3}, Lcom/google/android/exoplayer2/IllegalSeekPositionException;-><init>(Lcom/google/android/exoplayer2/Timeline;IJ)V
throw v0
.end method
.method public setPosition(J)Lcom/google/android/exoplayer2/PlayerMessage;
.registers 4
.param p1, "positionMs" # J
.line 176
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
xor-int/lit8 v0, v0, 0x1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 177
iput-wide p1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->positionMs:J
.line 178
return-object p0
.end method
.method public setType(I)Lcom/google/android/exoplayer2/PlayerMessage;
.registers 3
.param p1, "messageType" # I
.line 113
iget-boolean v0, p0, Lcom/google/android/exoplayer2/PlayerMessage;->isSent:Z
xor-int/lit8 v0, v0, 0x1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 114
iput p1, p0, Lcom/google/android/exoplayer2/PlayerMessage;->type:I
.line 115
return-object p0
.end method