public abstract class android.media.SubtitleTrack implements android.media.MediaTimeProvider$OnMediaTimeListener
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: android.media.SubtitleTrack
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SubtitleTrack"
private long mLastUpdateTimeMs;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long mLastTimeMs;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.Runnable mRunnable;
descriptor: Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
protected final android.util.LongSparseArray<android.media.SubtitleTrack$Run> mRunsByEndTime;
descriptor: Landroid/util/LongSparseArray;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Landroid/util/LongSparseArray<Landroid/media/SubtitleTrack$Run;>;
protected final android.util.LongSparseArray<android.media.SubtitleTrack$Run> mRunsByID;
descriptor: Landroid/util/LongSparseArray;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Landroid/util/LongSparseArray<Landroid/media/SubtitleTrack$Run;>;
protected android.media.SubtitleTrack$CueList mCues;
descriptor: Landroid/media/SubtitleTrack$CueList;
flags: (0x0004) ACC_PROTECTED
protected final java.util.Vector<android.media.SubtitleTrack$Cue> mActiveCues;
descriptor: Ljava/util/Vector;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;
protected boolean mVisible;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
public boolean DEBUG;
descriptor: Z
flags: (0x0001) ACC_PUBLIC
protected android.os.Handler mHandler;
descriptor: Landroid/os/Handler;
flags: (0x0004) ACC_PROTECTED
private android.media.MediaFormat mFormat;
descriptor: Landroid/media/MediaFormat;
flags: (0x0002) ACC_PRIVATE
private long mNextScheduledTimeMs;
descriptor: J
flags: (0x0002) ACC_PRIVATE
protected android.media.MediaTimeProvider mTimeProvider;
descriptor: Landroid/media/MediaTimeProvider;
flags: (0x0004) ACC_PROTECTED
public void <init>(android.media.MediaFormat);
descriptor: (Landroid/media/MediaFormat;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.util.LongSparseArray
dup
invokespecial android.util.LongSparseArray.<init>:()V
putfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
2: aload 0
new android.util.LongSparseArray
dup
invokespecial android.util.LongSparseArray.<init>:()V
putfield android.media.SubtitleTrack.mRunsByID:Landroid/util/LongSparseArray;
3: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
4: aload 0
iconst_0
putfield android.media.SubtitleTrack.DEBUG:Z
5: aload 0
new android.os.Handler
dup
invokespecial android.os.Handler.<init>:()V
putfield android.media.SubtitleTrack.mHandler:Landroid/os/Handler;
6: aload 0
ldc -1
putfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
7: aload 0
aload 1
putfield android.media.SubtitleTrack.mFormat:Landroid/media/MediaFormat;
8: aload 0
new android.media.SubtitleTrack$CueList
dup
invokespecial android.media.SubtitleTrack$CueList.<init>:()V
putfield android.media.SubtitleTrack.mCues:Landroid/media/SubtitleTrack$CueList;
9: aload 0
invokevirtual android.media.SubtitleTrack.clearActiveCues:()V
10: aload 0
ldc -1
putfield android.media.SubtitleTrack.mLastTimeMs:J
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/SubtitleTrack;
0 12 1 format Landroid/media/MediaFormat;
MethodParameters:
Name Flags
format
public final android.media.MediaFormat getFormat();
descriptor: ()Landroid/media/MediaFormat;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.SubtitleTrack.mFormat:Landroid/media/MediaFormat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/SubtitleTrack;
protected void onData(android.media.SubtitleData);
descriptor: (Landroid/media/SubtitleData;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.media.SubtitleData.getStartTimeUs:()J
lconst_1
ladd
lstore 2
start local 2 1: aload 0
aload 1
invokevirtual android.media.SubtitleData.getData:()[B
iconst_1
lload 2
invokevirtual android.media.SubtitleTrack.onData:([BZJ)V
2: aload 0
3: lload 2
4: aload 1
invokevirtual android.media.SubtitleData.getStartTimeUs:()J
aload 1
invokevirtual android.media.SubtitleData.getDurationUs:()J
ladd
ldc 1000
ldiv
5: invokevirtual android.media.SubtitleTrack.setRunDiscardTimeMs:(JJ)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/SubtitleTrack;
0 7 1 data Landroid/media/SubtitleData;
1 7 2 runID J
MethodParameters:
Name Flags
data
public abstract void onData(byte[], boolean, long);
descriptor: ([BZJ)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
data
eos
runID
public abstract android.media.SubtitleTrack$RenderingWidget getRenderingWidget();
descriptor: ()Landroid/media/SubtitleTrack$RenderingWidget;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void updateView(java.util.Vector<android.media.SubtitleTrack$Cue>);
descriptor: (Ljava/util/Vector;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;)V
MethodParameters:
Name Flags
activeCues
protected synchronized void updateActiveCues(boolean, long);
descriptor: (ZJ)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 1
aload 0
getfield android.media.SubtitleTrack.mLastUpdateTimeMs:J
lload 2
lcmp
ifle 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.SubtitleTrack.clearActiveCues:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mCues:Landroid/media/SubtitleTrack$CueList;
aload 0
getfield android.media.SubtitleTrack.mLastUpdateTimeMs:J
lload 2
invokevirtual android.media.SubtitleTrack$CueList.entriesBetween:(JJ)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
3: astore 4
start local 4 4: goto 21
5: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.util.Pair
astore 5
start local 5 6: aload 5
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.media.SubtitleTrack$Cue
astore 6
start local 6 7: aload 6
getfield android.media.SubtitleTrack$Cue.mEndTimeMs:J
aload 5
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lcmp
ifne 13
8: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 9
ldc "SubtitleTrack"
new java.lang.StringBuilder
dup
ldc "Removing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: StackMap locals: android.util.Pair android.media.SubtitleTrack$Cue
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
aload 6
invokevirtual java.util.Vector.remove:(Ljava/lang/Object;)Z
pop
10: aload 6
getfield android.media.SubtitleTrack$Cue.mRunID:J
lconst_0
lcmp
ifne 21
11: aload 4
invokeinterface java.util.Iterator.remove:()V
12: goto 21
StackMap locals:
StackMap stack:
13: aload 6
getfield android.media.SubtitleTrack$Cue.mStartTimeMs:J
aload 5
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lcmp
ifne 19
14: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 15
ldc "SubtitleTrack"
new java.lang.StringBuilder
dup
ldc "Adding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: StackMap locals:
StackMap stack:
aload 6
getfield android.media.SubtitleTrack$Cue.mInnerTimesMs:[J
ifnull 17
16: aload 6
lload 2
invokevirtual android.media.SubtitleTrack$Cue.onTime:(J)V
17: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
aload 6
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
18: goto 21
StackMap locals:
StackMap stack:
19: aload 6
getfield android.media.SubtitleTrack$Cue.mInnerTimesMs:[J
ifnull 21
20: aload 6
lload 2
invokevirtual android.media.SubtitleTrack$Cue.onTime:(J)V
end local 6 end local 5 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 4 22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual android.media.SubtitleTrack.removeRunsByEndTimeIndex:(I)V
24: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
invokevirtual android.util.LongSparseArray.size:()I
ifle 27
25: aload 0
getfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
iconst_0
invokevirtual android.util.LongSparseArray.keyAt:(I)J
lload 2
26: lcmp
ifle 23
27: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield android.media.SubtitleTrack.mLastUpdateTimeMs:J
28: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Landroid/media/SubtitleTrack;
0 29 1 rebuild Z
0 29 2 timeMs J
4 22 4 it Ljava/util/Iterator<Landroid/util/Pair<Ljava/lang/Long;Landroid/media/SubtitleTrack$Cue;>;>;
6 21 5 event Landroid/util/Pair<Ljava/lang/Long;Landroid/media/SubtitleTrack$Cue;>;
7 21 6 cue Landroid/media/SubtitleTrack$Cue;
MethodParameters:
Name Flags
rebuild
timeMs
private void removeRunsByEndTimeIndex(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
iload 1
invokevirtual android.util.LongSparseArray.valueAt:(I)Ljava/lang/Object;
checkcast android.media.SubtitleTrack$Run
astore 2
start local 2 1: goto 14
2: StackMap locals: android.media.SubtitleTrack$Run
StackMap stack:
aload 2
getfield android.media.SubtitleTrack$Run.mFirstCue:Landroid/media/SubtitleTrack$Cue;
astore 3
start local 3 3: goto 8
4: StackMap locals: android.media.SubtitleTrack$Cue
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mCues:Landroid/media/SubtitleTrack$CueList;
aload 3
invokevirtual android.media.SubtitleTrack$CueList.remove:(Landroid/media/SubtitleTrack$Cue;)V
5: aload 3
getfield android.media.SubtitleTrack$Cue.mNextInRun:Landroid/media/SubtitleTrack$Cue;
astore 4
start local 4 6: aload 3
aconst_null
putfield android.media.SubtitleTrack$Cue.mNextInRun:Landroid/media/SubtitleTrack$Cue;
7: aload 4
astore 3
end local 4 8: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
9: aload 0
getfield android.media.SubtitleTrack.mRunsByID:Landroid/util/LongSparseArray;
aload 2
getfield android.media.SubtitleTrack$Run.mRunID:J
invokevirtual android.util.LongSparseArray.remove:(J)V
10: aload 2
getfield android.media.SubtitleTrack$Run.mNextRunAtEndTimeMs:Landroid/media/SubtitleTrack$Run;
astore 4
start local 4 11: aload 2
aconst_null
putfield android.media.SubtitleTrack$Run.mPrevRunAtEndTimeMs:Landroid/media/SubtitleTrack$Run;
12: aload 2
aconst_null
putfield android.media.SubtitleTrack$Run.mNextRunAtEndTimeMs:Landroid/media/SubtitleTrack$Run;
13: aload 4
astore 2
end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 2
ifnonnull 2
15: aload 0
getfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
iload 1
invokevirtual android.util.LongSparseArray.removeAt:(I)V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/media/SubtitleTrack;
0 17 1 ix I
1 17 2 run Landroid/media/SubtitleTrack$Run;
3 14 3 cue Landroid/media/SubtitleTrack$Cue;
6 8 4 nextCue Landroid/media/SubtitleTrack$Cue;
11 14 4 nextRun Landroid/media/SubtitleTrack$Run;
MethodParameters:
Name Flags
ix
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
invokevirtual android.util.LongSparseArray.size:()I
istore 1
start local 1 1: iload 1
iconst_1
isub
istore 2
start local 2 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual android.media.SubtitleTrack.removeRunsByEndTimeIndex:(I)V
4: iinc 2 -1
StackMap locals:
StackMap stack:
5: iload 2
ifge 3
end local 2 6: aload 0
invokespecial java.lang.Object.finalize:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/SubtitleTrack;
1 8 1 size I
2 6 2 ix I
Exceptions:
throws java.lang.Throwable
private synchronized void takeTime(long);
descriptor: (J)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield android.media.SubtitleTrack.mLastTimeMs:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/SubtitleTrack;
0 2 1 timeMs J
MethodParameters:
Name Flags
timeMs
protected synchronized void clearActiveCues();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 1
ldc "SubtitleTrack"
new java.lang.StringBuilder
dup
ldc "Clearing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " active cues"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
invokevirtual java.util.Vector.clear:()V
2: aload 0
ldc -1
putfield android.media.SubtitleTrack.mLastUpdateTimeMs:J
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/SubtitleTrack;
protected void scheduleTimedEvents();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ifnull 9
1: aload 0
aload 0
getfield android.media.SubtitleTrack.mCues:Landroid/media/SubtitleTrack$CueList;
aload 0
getfield android.media.SubtitleTrack.mLastTimeMs:J
invokevirtual android.media.SubtitleTrack$CueList.nextTimeAfter:(J)J
putfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
2: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 3
ldc "SubtitleTrack"
new java.lang.StringBuilder
dup
ldc "sched @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " after "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.media.SubtitleTrack.mLastTimeMs:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
4: aload 0
getfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
lconst_0
lcmp
iflt 6
5: aload 0
getfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
ldc 1000
lmul
goto 7
StackMap locals:
StackMap stack: android.media.MediaTimeProvider
6: ldc -1
7: StackMap locals: android.media.SubtitleTrack
StackMap stack: android.media.MediaTimeProvider long
aload 0
8: invokeinterface android.media.MediaTimeProvider.notifyAt:(JLandroid/media/MediaTimeProvider$OnMediaTimeListener;)V
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/media/SubtitleTrack;
public void onTimedEvent(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 1
ldc "SubtitleTrack"
new java.lang.StringBuilder
dup
ldc "onTimedEvent "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
2: lload 1
ldc 1000
ldiv
lstore 4
start local 4 3: aload 0
iconst_0
lload 4
invokevirtual android.media.SubtitleTrack.updateActiveCues:(ZJ)V
4: aload 0
lload 4
invokevirtual android.media.SubtitleTrack.takeTime:(J)V
end local 4 5: aload 3
monitorexit
6: goto 9
StackMap locals: android.media.SubtitleTrack long android.media.SubtitleTrack
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
invokevirtual android.media.SubtitleTrack.updateView:(Ljava/util/Vector;)V
10: aload 0
invokevirtual android.media.SubtitleTrack.scheduleTimedEvents:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/SubtitleTrack;
0 12 1 timeUs J
3 5 4 timeMs J
Exception table:
from to target type
2 6 7 any
7 8 7 any
MethodParameters:
Name Flags
timeUs
public void onSeek(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 1
ldc "SubtitleTrack"
new java.lang.StringBuilder
dup
ldc "onSeek "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
2: lload 1
ldc 1000
ldiv
lstore 4
start local 4 3: aload 0
iconst_1
lload 4
invokevirtual android.media.SubtitleTrack.updateActiveCues:(ZJ)V
4: aload 0
lload 4
invokevirtual android.media.SubtitleTrack.takeTime:(J)V
end local 4 5: aload 3
monitorexit
6: goto 9
StackMap locals: android.media.SubtitleTrack long android.media.SubtitleTrack
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
invokevirtual android.media.SubtitleTrack.updateView:(Ljava/util/Vector;)V
10: aload 0
invokevirtual android.media.SubtitleTrack.scheduleTimedEvents:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/SubtitleTrack;
0 12 1 timeUs J
3 5 4 timeMs J
Exception table:
from to target type
2 6 7 any
7 8 7 any
MethodParameters:
Name Flags
timeUs
public void onStop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 2
ldc "SubtitleTrack"
ldc "onStop"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals: android.media.SubtitleTrack
StackMap stack:
aload 0
invokevirtual android.media.SubtitleTrack.clearActiveCues:()V
3: aload 0
ldc -1
putfield android.media.SubtitleTrack.mLastTimeMs:J
4: aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.SubtitleTrack.mActiveCues:Ljava/util/Vector;
invokevirtual android.media.SubtitleTrack.updateView:(Ljava/util/Vector;)V
9: aload 0
ldc -1
putfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
10: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ldc -1
aload 0
invokeinterface android.media.MediaTimeProvider.notifyAt:(JLandroid/media/MediaTimeProvider$OnMediaTimeListener;)V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/SubtitleTrack;
Exception table:
from to target type
1 5 6 any
6 7 6 any
public void show();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.SubtitleTrack.mVisible:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.media.SubtitleTrack.mVisible:Z
3: aload 0
invokevirtual android.media.SubtitleTrack.getRenderingWidget:()Landroid/media/SubtitleTrack$RenderingWidget;
astore 1
start local 1 4: aload 1
ifnull 6
5: aload 1
iconst_1
invokeinterface android.media.SubtitleTrack$RenderingWidget.setVisible:(Z)V
6: StackMap locals: android.media.SubtitleTrack$RenderingWidget
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ifnull 8
7: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
aload 0
invokeinterface android.media.MediaTimeProvider.scheduleUpdate:(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/SubtitleTrack;
4 9 1 renderingWidget Landroid/media/SubtitleTrack$RenderingWidget;
public void hide();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.SubtitleTrack.mVisible:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ifnull 4
3: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
aload 0
invokeinterface android.media.MediaTimeProvider.cancelNotifications:(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.SubtitleTrack.getRenderingWidget:()Landroid/media/SubtitleTrack$RenderingWidget;
astore 1
start local 1 5: aload 1
ifnull 7
6: aload 1
iconst_0
invokeinterface android.media.SubtitleTrack$RenderingWidget.setVisible:(Z)V
7: StackMap locals: android.media.SubtitleTrack$RenderingWidget
StackMap stack:
aload 0
iconst_0
putfield android.media.SubtitleTrack.mVisible:Z
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/SubtitleTrack;
5 9 1 renderingWidget Landroid/media/SubtitleTrack$RenderingWidget;
protected synchronized boolean addCue(android.media.SubtitleTrack$Cue);
descriptor: (Landroid/media/SubtitleTrack$Cue;)Z
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.SubtitleTrack.mCues:Landroid/media/SubtitleTrack$CueList;
aload 1
invokevirtual android.media.SubtitleTrack$CueList.add:(Landroid/media/SubtitleTrack$Cue;)V
1: aload 1
getfield android.media.SubtitleTrack$Cue.mRunID:J
lconst_0
lcmp
ifeq 12
2: aload 0
getfield android.media.SubtitleTrack.mRunsByID:Landroid/util/LongSparseArray;
aload 1
getfield android.media.SubtitleTrack$Cue.mRunID:J
invokevirtual android.util.LongSparseArray.get:(J)Ljava/lang/Object;
checkcast android.media.SubtitleTrack$Run
astore 2
start local 2 3: aload 2
ifnonnull 8
4: new android.media.SubtitleTrack$Run
dup
invokespecial android.media.SubtitleTrack$Run.<init>:()V
astore 2
5: aload 0
getfield android.media.SubtitleTrack.mRunsByID:Landroid/util/LongSparseArray;
aload 1
getfield android.media.SubtitleTrack$Cue.mRunID:J
aload 2
invokevirtual android.util.LongSparseArray.put:(JLjava/lang/Object;)V
6: aload 2
aload 1
getfield android.media.SubtitleTrack$Cue.mEndTimeMs:J
putfield android.media.SubtitleTrack$Run.mEndTimeMs:J
7: goto 10
StackMap locals: android.media.SubtitleTrack$Run
StackMap stack:
8: aload 2
getfield android.media.SubtitleTrack$Run.mEndTimeMs:J
aload 1
getfield android.media.SubtitleTrack$Cue.mEndTimeMs:J
lcmp
ifge 10
9: aload 2
aload 1
getfield android.media.SubtitleTrack$Cue.mEndTimeMs:J
putfield android.media.SubtitleTrack$Run.mEndTimeMs:J
10: StackMap locals:
StackMap stack:
aload 1
aload 2
getfield android.media.SubtitleTrack$Run.mFirstCue:Landroid/media/SubtitleTrack$Cue;
putfield android.media.SubtitleTrack$Cue.mNextInRun:Landroid/media/SubtitleTrack$Cue;
11: aload 2
aload 1
putfield android.media.SubtitleTrack$Run.mFirstCue:Landroid/media/SubtitleTrack$Cue;
end local 2 12: StackMap locals:
StackMap stack:
ldc -1
lstore 2
start local 2 13: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ifnull 21
14: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
15: iconst_0
iconst_1
16: invokeinterface android.media.MediaTimeProvider.getCurrentTimeUs:(ZZ)J
17: ldc 1000
18: ldiv
lstore 2
19: goto 21
StackMap locals: android.media.SubtitleTrack android.media.SubtitleTrack$Cue long
StackMap stack: java.lang.IllegalStateException
20: pop
21: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 25
ldc "SubtitleTrack"
new java.lang.StringBuilder
dup
ldc "mVisible="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.media.SubtitleTrack.mVisible:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: aload 1
getfield android.media.SubtitleTrack$Cue.mStartTimeMs:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " <= "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 1
getfield android.media.SubtitleTrack$Cue.mEndTimeMs:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " >= "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.media.SubtitleTrack.mLastTimeMs:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
25: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mVisible:Z
ifeq 38
26: aload 1
getfield android.media.SubtitleTrack$Cue.mStartTimeMs:J
lload 2
lcmp
ifgt 38
27: aload 1
getfield android.media.SubtitleTrack$Cue.mEndTimeMs:J
aload 0
getfield android.media.SubtitleTrack.mLastTimeMs:J
lcmp
iflt 38
28: aload 0
getfield android.media.SubtitleTrack.mRunnable:Ljava/lang/Runnable;
ifnull 30
29: aload 0
getfield android.media.SubtitleTrack.mHandler:Landroid/os/Handler;
aload 0
getfield android.media.SubtitleTrack.mRunnable:Ljava/lang/Runnable;
invokevirtual android.os.Handler.removeCallbacks:(Ljava/lang/Runnable;)V
30: StackMap locals:
StackMap stack:
aload 0
astore 4
start local 4 31: lload 2
lstore 5
start local 5 32: aload 0
new android.media.SubtitleTrack$1
dup
aload 0
aload 4
lload 5
invokespecial android.media.SubtitleTrack$1.<init>:(Landroid/media/SubtitleTrack;Landroid/media/SubtitleTrack;J)V
putfield android.media.SubtitleTrack.mRunnable:Ljava/lang/Runnable;
33: aload 0
getfield android.media.SubtitleTrack.mHandler:Landroid/os/Handler;
aload 0
getfield android.media.SubtitleTrack.mRunnable:Ljava/lang/Runnable;
ldc 10
invokevirtual android.os.Handler.postDelayed:(Ljava/lang/Runnable;J)Z
ifeq 36
34: aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 37
ldc "SubtitleTrack"
ldc "scheduling update"
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
35: goto 37
36: StackMap locals: android.media.SubtitleTrack long
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.DEBUG:Z
ifeq 37
ldc "SubtitleTrack"
ldc "failed to schedule subtitle view update"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
37: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 38: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mVisible:Z
ifeq 43
39: aload 1
getfield android.media.SubtitleTrack$Cue.mEndTimeMs:J
aload 0
getfield android.media.SubtitleTrack.mLastTimeMs:J
lcmp
iflt 43
40: aload 1
getfield android.media.SubtitleTrack$Cue.mStartTimeMs:J
aload 0
getfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
lcmp
iflt 42
41: aload 0
getfield android.media.SubtitleTrack.mNextScheduledTimeMs:J
lconst_0
lcmp
ifge 43
42: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.SubtitleTrack.scheduleTimedEvents:()V
43: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Landroid/media/SubtitleTrack;
0 44 1 cue Landroid/media/SubtitleTrack$Cue;
3 12 2 run Landroid/media/SubtitleTrack$Run;
13 44 2 nowMs J
31 38 4 track Landroid/media/SubtitleTrack;
32 38 5 thenMs J
Exception table:
from to target type
14 19 20 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
cue
public synchronized void setTimeProvider(android.media.MediaTimeProvider);
descriptor: (Landroid/media/MediaTimeProvider;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
aload 1
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ifnull 4
3: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
aload 0
invokeinterface android.media.MediaTimeProvider.cancelNotifications:(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
4: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
5: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
ifnull 7
6: aload 0
getfield android.media.SubtitleTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
aload 0
invokeinterface android.media.MediaTimeProvider.scheduleUpdate:(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/SubtitleTrack;
0 8 1 timeProvider Landroid/media/MediaTimeProvider;
MethodParameters:
Name Flags
timeProvider
protected void finishedRun(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifeq 4
lload 1
ldc -1
lcmp
ifeq 4
1: aload 0
getfield android.media.SubtitleTrack.mRunsByID:Landroid/util/LongSparseArray;
lload 1
invokevirtual android.util.LongSparseArray.get:(J)Ljava/lang/Object;
checkcast android.media.SubtitleTrack$Run
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
aload 0
getfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
invokevirtual android.media.SubtitleTrack$Run.storeByEndTimeMs:(Landroid/util/LongSparseArray;)V
end local 3 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/SubtitleTrack;
0 5 1 runID J
2 4 3 run Landroid/media/SubtitleTrack$Run;
MethodParameters:
Name Flags
runID
public void setRunDiscardTimeMs(long, long);
descriptor: (JJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lconst_0
lcmp
ifeq 5
lload 1
ldc -1
lcmp
ifeq 5
1: aload 0
getfield android.media.SubtitleTrack.mRunsByID:Landroid/util/LongSparseArray;
lload 1
invokevirtual android.util.LongSparseArray.get:(J)Ljava/lang/Object;
checkcast android.media.SubtitleTrack$Run
astore 5
start local 5 2: aload 5
ifnull 5
3: aload 5
lload 3
putfield android.media.SubtitleTrack$Run.mEndTimeMs:J
4: aload 5
aload 0
getfield android.media.SubtitleTrack.mRunsByEndTime:Landroid/util/LongSparseArray;
invokevirtual android.media.SubtitleTrack$Run.storeByEndTimeMs:(Landroid/util/LongSparseArray;)V
end local 5 5: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/SubtitleTrack;
0 6 1 runID J
0 6 3 timeMs J
2 5 5 run Landroid/media/SubtitleTrack$Run;
MethodParameters:
Name Flags
runID
timeMs
public int getTrackType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.SubtitleTrack.getRenderingWidget:()Landroid/media/SubtitleTrack$RenderingWidget;
ifnonnull 2
1: iconst_3
goto 3
2: StackMap locals:
StackMap stack:
iconst_4
3: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/SubtitleTrack;
}
SourceFile: "SubtitleTrack.java"
NestMembers:
android.media.SubtitleTrack$1 android.media.SubtitleTrack$Cue android.media.SubtitleTrack$CueList android.media.SubtitleTrack$CueList$1 android.media.SubtitleTrack$CueList$EntryIterator android.media.SubtitleTrack$RenderingWidget android.media.SubtitleTrack$RenderingWidget$OnChangedListener android.media.SubtitleTrack$Run
InnerClasses:
public abstract OnMediaTimeListener = android.media.MediaTimeProvider$OnMediaTimeListener of android.media.MediaTimeProvider
android.media.SubtitleTrack$1
public Cue = android.media.SubtitleTrack$Cue of android.media.SubtitleTrack
CueList = android.media.SubtitleTrack$CueList of android.media.SubtitleTrack
public abstract RenderingWidget = android.media.SubtitleTrack$RenderingWidget of android.media.SubtitleTrack
private Run = android.media.SubtitleTrack$Run of android.media.SubtitleTrack