class android.media.MediaPlayer$TimeProvider implements android.media.MediaPlayer$OnSeekCompleteListener, android.media.MediaTimeProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.MediaPlayer$TimeProvider
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: "MTP"
private static final long MAX_NS_WITHOUT_POSITION_CHECK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000000000
private static final long MAX_EARLY_CALLBACK_US;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private static final long TIME_ADJUSTMENT_RATE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private long mLastTimeUs;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private android.media.MediaPlayer mPlayer;
descriptor: Landroid/media/MediaPlayer;
flags: (0x0002) ACC_PRIVATE
private boolean mPaused;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mStopped;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mBuffering;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long mLastReportedTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private android.media.MediaTimeProvider$OnMediaTimeListener[] mListeners;
descriptor: [Landroid/media/MediaTimeProvider$OnMediaTimeListener;
flags: (0x0002) ACC_PRIVATE
private long[] mTimes;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private android.os.Handler mEventHandler;
descriptor: Landroid/os/Handler;
flags: (0x0002) ACC_PRIVATE
private boolean mRefresh;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mPausing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mSeeking;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int NOTIFY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int NOTIFY_TIME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int NOTIFY_STOP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int NOTIFY_SEEK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int NOTIFY_TRACK_DATA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private android.os.HandlerThread mHandlerThread;
descriptor: Landroid/os/HandlerThread;
flags: (0x0002) ACC_PRIVATE
public boolean DEBUG;
descriptor: Z
flags: (0x0001) ACC_PUBLIC
public void <init>(android.media.MediaPlayer);
descriptor: (Landroid/media/MediaPlayer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lconst_0
putfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
2: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mPaused:Z
3: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mStopped:Z
4: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mRefresh:Z
5: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mPausing:Z
6: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
7: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
8: aload 0
aload 1
putfield android.media.MediaPlayer$TimeProvider.mPlayer:Landroid/media/MediaPlayer;
9: aload 0
iconst_1
iconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.getCurrentTimeUs:(ZZ)J
pop2
10: goto 13
StackMap locals: android.media.MediaPlayer$TimeProvider android.media.MediaPlayer
StackMap stack: java.lang.IllegalStateException
11: pop
12: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mRefresh:Z
13: StackMap locals:
StackMap stack:
invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
dup
astore 2
start local 2 14: ifnonnull 21
15: invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
dup
astore 2
ifnonnull 21
16: aload 0
new android.os.HandlerThread
dup
ldc "MediaPlayerMTPEventThread"
17: bipush -2
invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;I)V
18: putfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
19: aload 0
getfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
invokevirtual android.os.HandlerThread.start:()V
20: aload 0
getfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
invokevirtual android.os.HandlerThread.getLooper:()Landroid/os/Looper;
astore 2
21: StackMap locals: android.os.Looper
StackMap stack:
aload 0
new android.media.MediaPlayer$TimeProvider$EventHandler
dup
aload 0
aload 2
invokespecial android.media.MediaPlayer$TimeProvider$EventHandler.<init>:(Landroid/media/MediaPlayer$TimeProvider;Landroid/os/Looper;)V
putfield android.media.MediaPlayer$TimeProvider.mEventHandler:Landroid/os/Handler;
22: aload 0
iconst_0
anewarray android.media.MediaTimeProvider$OnMediaTimeListener
putfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
23: aload 0
iconst_0
newarray 11
putfield android.media.MediaPlayer$TimeProvider.mTimes:[J
24: aload 0
lconst_0
putfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Landroid/media/MediaPlayer$TimeProvider;
0 26 1 mp Landroid/media/MediaPlayer;
14 26 2 looper Landroid/os/Looper;
Exception table:
from to target type
9 10 11 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
mp
private void scheduleNotification(int, long);
descriptor: (IJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
ifeq 2
iload 1
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 3
ldc "MTP"
new java.lang.StringBuilder
dup
ldc "scheduleNotification "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mEventHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.removeMessages:(I)V
4: aload 0
getfield android.media.MediaPlayer$TimeProvider.mEventHandler:Landroid/os/Handler;
iconst_1
iload 1
iconst_0
invokevirtual android.os.Handler.obtainMessage:(III)Landroid/os/Message;
astore 4
start local 4 5: aload 0
getfield android.media.MediaPlayer$TimeProvider.mEventHandler:Landroid/os/Handler;
aload 4
lload 2
ldc 1000
ldiv
l2i
i2l
invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
pop
6: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/MediaPlayer$TimeProvider;
0 7 1 type I
0 7 2 delayUs J
5 7 4 msg Landroid/os/Message;
MethodParameters:
Name Flags
type
delayUs
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaPlayer$TimeProvider.mEventHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.removeMessages:(I)V
1: aload 0
getfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
ifnull 4
2: aload 0
getfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
invokevirtual android.os.HandlerThread.quitSafely:()Z
pop
3: aload 0
aconst_null
putfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/MediaPlayer$TimeProvider;
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
ifnull 2
1: aload 0
getfield android.media.MediaPlayer$TimeProvider.mHandlerThread:Landroid/os/HandlerThread;
invokevirtual android.os.HandlerThread.quitSafely:()Z
pop
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/MediaPlayer$TimeProvider;
public void onNotifyTime();
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.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 2
ldc "MTP"
ldc "onNotifyTime: "
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
aload 0
iconst_0
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
3: aload 1
monitorexit
4: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/MediaPlayer$TimeProvider;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public void onPaused(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 2
ldc "MTP"
new java.lang.StringBuilder
dup
ldc "onPaused: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mStopped:Z
ifeq 7
3: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mStopped:Z
4: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
5: aload 0
iconst_3
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.MediaPlayer$TimeProvider.mPausing:Z
8: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
9: aload 0
iconst_0
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
10: StackMap locals:
StackMap stack:
aload 2
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/media/MediaPlayer$TimeProvider;
0 15 1 paused Z
Exception table:
from to target type
1 11 12 any
12 13 12 any
MethodParameters:
Name Flags
paused
public void onBuffering(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 2
ldc "MTP"
new java.lang.StringBuilder
dup
ldc "onBuffering: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
aload 0
iload 1
putfield android.media.MediaPlayer$TimeProvider.mBuffering:Z
3: aload 0
iconst_0
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
4: aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/MediaPlayer$TimeProvider;
0 9 1 buffering Z
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
buffering
public void onStopped();
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.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 2
ldc "MTP"
ldc "onStopped"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mPaused:Z
3: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mStopped:Z
4: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
5: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mBuffering:Z
6: aload 0
iconst_2
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
7: aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/MediaPlayer$TimeProvider;
Exception table:
from to target type
1 8 9 any
9 10 9 any
public void onSeekComplete(android.media.MediaPlayer);
descriptor: (Landroid/media/MediaPlayer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mStopped:Z
2: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
3: aload 0
iconst_3
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
4: aload 2
monitorexit
5: goto 8
StackMap locals: android.media.MediaPlayer$TimeProvider android.media.MediaPlayer android.media.MediaPlayer$TimeProvider
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/MediaPlayer$TimeProvider;
0 9 1 mp Landroid/media/MediaPlayer;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
mp
public void onNewPlayer();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.MediaPlayer$TimeProvider.mRefresh:Z
ifeq 10
1: aload 0
dup
astore 1
monitorenter
2: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mStopped:Z
3: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
4: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mBuffering:Z
5: aload 0
iconst_3
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
6: aload 1
monitorexit
7: goto 10
StackMap locals: android.media.MediaPlayer$TimeProvider android.media.MediaPlayer$TimeProvider
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/media/MediaPlayer$TimeProvider;
Exception table:
from to target type
2 7 8 any
8 9 8 any
private synchronized void notifySeek();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
1: aload 0
iconst_1
iconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.getCurrentTimeUs:(ZZ)J
lstore 1
start local 1 2: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 3
ldc "MTP"
new java.lang.StringBuilder
dup
ldc "onSeekComplete at "
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
3: StackMap locals: long
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: android.media.MediaPlayer$TimeProvider long top int int android.media.MediaTimeProvider$OnMediaTimeListener[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
ifnonnull 7
6: goto 15
7: StackMap locals: android.media.MediaPlayer$TimeProvider long android.media.MediaTimeProvider$OnMediaTimeListener int int android.media.MediaTimeProvider$OnMediaTimeListener[]
StackMap stack:
aload 3
lload 1
invokeinterface android.media.MediaTimeProvider$OnMediaTimeListener.onSeek:(J)V
end local 3 8: iinc 4 1
StackMap locals: android.media.MediaPlayer$TimeProvider long top int int android.media.MediaTimeProvider$OnMediaTimeListener[]
StackMap stack:
9: iload 4
iload 5
if_icmplt 4
end local 1 10: goto 15
StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack: java.lang.IllegalStateException
11: pop
12: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 13
ldc "MTP"
ldc "onSeekComplete but no player"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mPausing:Z
14: aload 0
iconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.notifyTimedEvent:(Z)V
15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/media/MediaPlayer$TimeProvider;
2 10 1 timeUs J
5 8 3 listener Landroid/media/MediaTimeProvider$OnMediaTimeListener;
Exception table:
from to target type
1 10 11 Class java.lang.IllegalStateException
private synchronized void notifyTrackData(android.util.Pair<android.media.SubtitleTrack, byte[]>);
descriptor: (Landroid/util/Pair;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast android.media.SubtitleTrack
astore 2
start local 2 1: aload 1
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast byte[]
astore 3
start local 3 2: aload 2
aload 3
iconst_1
ldc -1
invokevirtual android.media.SubtitleTrack.onData:([BZJ)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/MediaPlayer$TimeProvider;
0 4 1 trackData Landroid/util/Pair<Landroid/media/SubtitleTrack;[B>;
1 4 2 track Landroid/media/SubtitleTrack;
2 4 3 data [B
Signature: (Landroid/util/Pair<Landroid/media/SubtitleTrack;[B>;)V
MethodParameters:
Name Flags
trackData
private synchronized void notifyStop();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: android.media.MediaPlayer$TimeProvider top int int android.media.MediaTimeProvider$OnMediaTimeListener[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
ifnonnull 4
3: goto 7
4: StackMap locals: android.media.MediaPlayer$TimeProvider android.media.MediaTimeProvider$OnMediaTimeListener int int android.media.MediaTimeProvider$OnMediaTimeListener[]
StackMap stack:
aload 1
invokeinterface android.media.MediaTimeProvider$OnMediaTimeListener.onStop:()V
end local 1 5: iinc 2 1
StackMap locals: android.media.MediaPlayer$TimeProvider top int int android.media.MediaTimeProvider$OnMediaTimeListener[]
StackMap stack:
6: iload 2
iload 3
if_icmplt 1
7: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/MediaPlayer$TimeProvider;
2 5 1 listener Landroid/media/MediaTimeProvider$OnMediaTimeListener;
private int registerListener(android.media.MediaTimeProvider$OnMediaTimeListener);
descriptor: (Landroid/media/MediaTimeProvider$OnMediaTimeListener;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 2
aaload
aload 1
if_acmpeq 6
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 2
aaload
ifnonnull 4
3: goto 6
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
arraylength
if_icmplt 2
6: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
arraylength
if_icmplt 14
7: iload 2
iconst_1
iadd
anewarray android.media.MediaTimeProvider$OnMediaTimeListener
8: astore 3
start local 3 9: iload 2
iconst_1
iadd
newarray 11
astore 4
start local 4 10: aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iconst_0
aload 3
iconst_0
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iconst_0
aload 4
iconst_0
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
aload 3
putfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
13: aload 0
aload 4
putfield android.media.MediaPlayer$TimeProvider.mTimes:[J
end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 2
aaload
ifnonnull 17
15: aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 2
aload 1
aastore
16: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 2
ldc -1
lastore
17: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/media/MediaPlayer$TimeProvider;
0 18 1 listener Landroid/media/MediaTimeProvider$OnMediaTimeListener;
1 18 2 i I
9 14 3 newListeners [Landroid/media/MediaTimeProvider$OnMediaTimeListener;
10 14 4 newTimes [J
MethodParameters:
Name Flags
listener
public void notifyAt(long, android.media.MediaTimeProvider$OnMediaTimeListener);
descriptor: (JLandroid/media/MediaTimeProvider$OnMediaTimeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
dup
astore 4
monitorenter
1: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 2
ldc "MTP"
new java.lang.StringBuilder
dup
ldc "notifyAt "
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
2: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
aload 0
aload 3
invokevirtual android.media.MediaPlayer$TimeProvider.registerListener:(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)I
lload 1
lastore
3: aload 0
iconst_0
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
4: aload 4
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/MediaPlayer$TimeProvider;
0 9 1 timeUs J
0 9 3 listener Landroid/media/MediaTimeProvider$OnMediaTimeListener;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
timeUs
listener
public void scheduleUpdate(android.media.MediaTimeProvider$OnMediaTimeListener);
descriptor: (Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 2
ldc "MTP"
ldc "scheduleUpdate"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
aload 0
aload 1
invokevirtual android.media.MediaPlayer$TimeProvider.registerListener:(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)I
istore 3
start local 3 3: aload 0
getfield android.media.MediaPlayer$TimeProvider.mStopped:Z
ifne 6
4: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 3
lconst_0
lastore
5: aload 0
iconst_0
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
end local 3 6: StackMap locals:
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/media/MediaPlayer$TimeProvider;
0 11 1 listener Landroid/media/MediaTimeProvider$OnMediaTimeListener;
3 6 3 i I
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
listener
public void cancelNotifications(android.media.MediaTimeProvider$OnMediaTimeListener);
descriptor: (Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: iconst_0
istore 3
start local 3 2: goto 16
3: StackMap locals: android.media.MediaPlayer$TimeProvider int
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 3
aaload
aload 1
if_acmpne 13
4: aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 3
iconst_1
iadd
5: aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 3
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
arraylength
iload 3
isub
iconst_1
isub
6: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 3
iconst_1
iadd
8: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 3
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
arraylength
iload 3
isub
iconst_1
isub
9: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
arraylength
iconst_1
isub
aconst_null
aastore
11: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
arraylength
iconst_1
isub
ldc -1
lastore
12: goto 17
13: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 3
aaload
ifnonnull 15
14: goto 17
15: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
arraylength
if_icmplt 3
17: StackMap locals:
StackMap stack:
aload 0
iconst_0
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
end local 3 18: aload 2
monitorexit
19: goto 22
StackMap locals: android.media.MediaPlayer$TimeProvider android.media.MediaTimeProvider$OnMediaTimeListener android.media.MediaPlayer$TimeProvider
StackMap stack: java.lang.Throwable
20: aload 2
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/media/MediaPlayer$TimeProvider;
0 23 1 listener Landroid/media/MediaTimeProvider$OnMediaTimeListener;
2 18 3 i I
Exception table:
from to target type
1 19 20 any
20 21 20 any
MethodParameters:
Name Flags
listener
private synchronized void notifyTimedEvent(boolean);
descriptor: (Z)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
invokevirtual android.media.MediaPlayer$TimeProvider.getCurrentTimeUs:(ZZ)J
lstore 2
start local 2 1: goto 6
end local 2 StackMap locals:
StackMap stack: java.lang.IllegalStateException
2: pop
3: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mRefresh:Z
4: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mPausing:Z
5: aload 0
iload 1
iconst_1
invokevirtual android.media.MediaPlayer$TimeProvider.getCurrentTimeUs:(ZZ)J
lstore 2
start local 2 6: StackMap locals: long
StackMap stack:
lload 2
lstore 4
start local 4 7: aload 0
getfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
ifeq 9
8: return
9: StackMap locals: long
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 25
10: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 11: aload 6
ldc "notifyTimedEvent("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") from {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: iconst_1
istore 7
start local 7 14: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 22
StackMap locals: android.media.MediaPlayer$TimeProvider int long long java.lang.StringBuilder int top top int int long[]
StackMap stack:
15: aload 12
iload 10
laload
lstore 8
start local 8 16: lload 8
ldc -1
lcmp
ifne 18
17: goto 21
18: StackMap locals: android.media.MediaPlayer$TimeProvider int long long java.lang.StringBuilder int long int int long[]
StackMap stack:
iload 7
ifne 19
aload 6
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: StackMap locals:
StackMap stack:
aload 6
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
20: iconst_0
istore 7
end local 8 21: StackMap locals: android.media.MediaPlayer$TimeProvider int long long java.lang.StringBuilder int top top int int long[]
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
22: iload 10
iload 11
if_icmplt 15
23: aload 6
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: ldc "MTP"
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 7 end local 6 25: StackMap locals: android.media.MediaPlayer$TimeProvider int long long
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
26: astore 6
start local 6 27: iconst_0
istore 7
start local 7 28: goto 40
29: StackMap locals: java.util.Vector int
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 7
aaload
ifnonnull 31
30: goto 41
31: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 7
laload
ldc -1
lcmp
ifle 39
32: aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 7
laload
lload 2
ldc 1000
ladd
lcmp
ifgt 37
33: aload 6
aload 0
getfield android.media.MediaPlayer$TimeProvider.mListeners:[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
iload 7
aaload
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
34: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 35
ldc "MTP"
ldc "removed"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
35: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 7
ldc -1
lastore
36: goto 39
StackMap locals:
StackMap stack:
37: lload 4
lload 2
lcmp
ifeq 38
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 7
laload
lload 4
lcmp
ifge 39
38: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
iload 7
laload
lstore 4
39: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
40: iload 7
aload 0
getfield android.media.MediaPlayer$TimeProvider.mTimes:[J
arraylength
if_icmplt 29
end local 7 41: StackMap locals:
StackMap stack:
lload 4
lload 2
lcmp
ifle 45
aload 0
getfield android.media.MediaPlayer$TimeProvider.mPaused:Z
ifne 45
42: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 43
ldc "MTP"
new java.lang.StringBuilder
dup
ldc "scheduling for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
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
43: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mPlayer:Landroid/media/MediaPlayer;
lload 4
invokevirtual android.media.MediaPlayer.notifyAt:(J)V
44: goto 46
45: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mEventHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.removeMessages:(I)V
46: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 8
goto 49
StackMap locals: android.media.MediaPlayer$TimeProvider int long long java.util.Vector top java.util.Iterator
StackMap stack:
47: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.media.MediaTimeProvider$OnMediaTimeListener
astore 7
start local 7 48: aload 7
lload 2
invokeinterface android.media.MediaTimeProvider$OnMediaTimeListener.onTimedEvent:(J)V
end local 7 49: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 47
50: return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Landroid/media/MediaPlayer$TimeProvider;
0 51 1 refreshTime Z
1 2 2 nowUs J
6 51 2 nowUs J
7 51 4 nextTimeUs J
11 25 6 sb Ljava/lang/StringBuilder;
14 25 7 first Z
16 21 8 time J
27 51 6 activatedListeners Ljava/util/Vector<Landroid/media/MediaTimeProvider$OnMediaTimeListener;>;
28 41 7 ix I
48 49 7 listener Landroid/media/MediaTimeProvider$OnMediaTimeListener;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
refreshTime
public long getCurrentTimeUs(boolean, boolean);
descriptor: (ZZ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield android.media.MediaPlayer$TimeProvider.mPaused:Z
ifeq 4
iload 1
ifne 4
2: aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
aload 3
monitorexit
3: lreturn
4: StackMap locals: android.media.MediaPlayer$TimeProvider
StackMap stack:
aload 0
aload 0
getfield android.media.MediaPlayer$TimeProvider.mPlayer:Landroid/media/MediaPlayer;
invokevirtual android.media.MediaPlayer.getCurrentPosition:()I
i2l
ldc 1000
lmul
putfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
5: aload 0
aload 0
getfield android.media.MediaPlayer$TimeProvider.mPlayer:Landroid/media/MediaPlayer;
invokevirtual android.media.MediaPlayer.isPlaying:()Z
ifeq 6
aload 0
getfield android.media.MediaPlayer$TimeProvider.mBuffering:Z
ifne 6
iconst_0
goto 7
StackMap locals:
StackMap stack: android.media.MediaPlayer$TimeProvider
6: iconst_1
StackMap locals: android.media.MediaPlayer$TimeProvider int int android.media.MediaPlayer$TimeProvider
StackMap stack: android.media.MediaPlayer$TimeProvider int
7: putfield android.media.MediaPlayer$TimeProvider.mPaused:Z
8: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 23
ldc "MTP"
9: new java.lang.StringBuilder
dup
aload 0
getfield android.media.MediaPlayer$TimeProvider.mPaused:Z
ifeq 10
ldc "paused"
goto 11
StackMap locals: android.media.MediaPlayer$TimeProvider int int android.media.MediaPlayer$TimeProvider
StackMap stack: java.lang.String new 9 new 9
10: ldc "playing"
StackMap locals: android.media.MediaPlayer$TimeProvider int int android.media.MediaPlayer$TimeProvider
StackMap stack: java.lang.String new 9 new 9 java.lang.String
11: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " at "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
12: goto 23
StackMap locals:
StackMap stack: java.lang.IllegalStateException
13: astore 4
start local 4 14: aload 0
getfield android.media.MediaPlayer$TimeProvider.mPausing:Z
ifeq 22
15: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mPausing:Z
16: iload 2
ifeq 17
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
lcmp
ifge 18
17: StackMap locals: java.lang.IllegalStateException
StackMap stack:
aload 0
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
putfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
18: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mPaused:Z
19: aload 0
getfield android.media.MediaPlayer$TimeProvider.DEBUG:Z
ifeq 20
ldc "MTP"
new java.lang.StringBuilder
dup
ldc "illegal state, but pausing: estimating at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastReportedTime: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
20: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
aload 3
monitorexit
21: lreturn
22: StackMap locals:
StackMap stack:
aload 4
athrow
end local 4 23: StackMap locals:
StackMap stack:
iload 2
ifeq 29
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
lcmp
ifge 29
24: aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
lsub
ldc 1000000
lcmp
ifle 30
25: aload 0
iconst_0
putfield android.media.MediaPlayer$TimeProvider.mStopped:Z
26: aload 0
iconst_1
putfield android.media.MediaPlayer$TimeProvider.mSeeking:Z
27: aload 0
iconst_3
lconst_0
invokevirtual android.media.MediaPlayer$TimeProvider.scheduleNotification:(IJ)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastTimeUs:J
putfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
30: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaPlayer$TimeProvider.mLastReportedTime:J
aload 3
monitorexit
31: lreturn
32: StackMap locals:
StackMap stack: java.lang.Throwable
aload 3
monitorexit
33: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Landroid/media/MediaPlayer$TimeProvider;
0 34 1 refreshTime Z
0 34 2 monotonic Z
14 23 4 e Ljava/lang/IllegalStateException;
Exception table:
from to target type
4 12 13 Class java.lang.IllegalStateException
1 3 32 any
4 21 32 any
22 31 32 any
32 33 32 any
Exceptions:
throws java.lang.IllegalStateException
MethodParameters:
Name Flags
refreshTime
monotonic
}
SourceFile: "MediaPlayer.java"
NestHost: android.media.MediaPlayer
InnerClasses:
public abstract OnSeekCompleteListener = android.media.MediaPlayer$OnSeekCompleteListener of android.media.MediaPlayer
TimeProvider = android.media.MediaPlayer$TimeProvider of android.media.MediaPlayer
private EventHandler = android.media.MediaPlayer$TimeProvider$EventHandler of android.media.MediaPlayer$TimeProvider
public abstract OnMediaTimeListener = android.media.MediaTimeProvider$OnMediaTimeListener of android.media.MediaTimeProvider