public class android.media.RemoteControlClient
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.RemoteControlClient
  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: "RemoteControlClient"

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int PLAYSTATE_STOPPED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PLAYSTATE_PAUSED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int PLAYSTATE_PLAYING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int PLAYSTATE_FAST_FORWARDING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int PLAYSTATE_REWINDING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int PLAYSTATE_SKIPPING_FORWARDS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int PLAYSTATE_SKIPPING_BACKWARDS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int PLAYSTATE_BUFFERING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int PLAYSTATE_ERROR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int PLAYSTATE_NONE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int PLAYBACK_TYPE_LOCAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int PLAYBACK_TYPE_REMOTE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int PLAYBACK_TYPE_MIN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int PLAYBACK_TYPE_MAX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PLAYBACK_VOLUME_FIXED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int PLAYBACK_VOLUME_VARIABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PLAYBACKINFO_INVALID_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

  public static final long PLAYBACK_POSITION_INVALID;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final long PLAYBACK_POSITION_ALWAYS_UNKNOWN;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -9216204211029966080

  public static final float PLAYBACK_SPEED_1X;
    descriptor: F
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0

  public static final int PLAYBACKINFO_PLAYBACK_TYPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PLAYBACKINFO_VOLUME;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int PLAYBACKINFO_VOLUME_MAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int PLAYBACKINFO_VOLUME_HANDLING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int PLAYBACKINFO_USES_STREAM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int FLAG_KEY_MEDIA_PREVIOUS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int FLAG_KEY_MEDIA_REWIND;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int FLAG_KEY_MEDIA_PLAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int FLAG_KEY_MEDIA_PLAY_PAUSE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int FLAG_KEY_MEDIA_PAUSE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int FLAG_KEY_MEDIA_STOP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final int FLAG_KEY_MEDIA_FAST_FORWARD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final int FLAG_KEY_MEDIA_NEXT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  public static final int FLAG_KEY_MEDIA_POSITION_UPDATE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  public static final int FLAG_KEY_MEDIA_RATING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  public static final int FLAGS_KEY_MEDIA_NONE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int FLAG_INFORMATION_REQUEST_METADATA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int FLAG_INFORMATION_REQUEST_KEY_MEDIA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int FLAG_INFORMATION_REQUEST_PLAYSTATE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int FLAG_INFORMATION_REQUEST_ALBUM_ART;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private android.media.session.MediaSession mSession;
    descriptor: Landroid/media/session/MediaSession;
    flags: (0x0002) ACC_PRIVATE

  public static int MEDIA_POSITION_READABLE;
    descriptor: I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static int MEDIA_POSITION_WRITABLE;
    descriptor: I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static final int DEFAULT_PLAYBACK_VOLUME_HANDLING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int DEFAULT_PLAYBACK_VOLUME;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private final java.lang.Object mCacheLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int mPlaybackState;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long mPlaybackStateChangeTimeMs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long mPlaybackPositionMs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private float mPlaybackSpeed;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private android.graphics.Bitmap mOriginalArtwork;
    descriptor: Landroid/graphics/Bitmap;
    flags: (0x0002) ACC_PRIVATE

  private int mTransportControlFlags;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.os.Bundle mMetadata;
    descriptor: Landroid/os/Bundle;
    flags: (0x0002) ACC_PRIVATE

  private android.media.RemoteControlClient$OnPlaybackPositionUpdateListener mPositionUpdateListener;
    descriptor: Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;
    flags: (0x0002) ACC_PRIVATE

  private android.media.RemoteControlClient$OnGetPlaybackPositionListener mPositionProvider;
    descriptor: Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;
    flags: (0x0002) ACC_PRIVATE

  private android.media.RemoteControlClient$OnMetadataUpdateListener mMetadataUpdateListener;
    descriptor: Landroid/media/RemoteControlClient$OnMetadataUpdateListener;
    flags: (0x0002) ACC_PRIVATE

  private int mCurrentClientGenId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final android.app.PendingIntent mRcMediaIntent;
    descriptor: Landroid/app/PendingIntent;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean mNeedsPositionSync;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private android.media.session.PlaybackState mSessionPlaybackState;
    descriptor: Landroid/media/session/PlaybackState;
    flags: (0x0002) ACC_PRIVATE

  private android.media.MediaMetadata mMediaMetadata;
    descriptor: Landroid/media/MediaMetadata;
    flags: (0x0002) ACC_PRIVATE

  public static final int RCSE_ID_UNREGISTERED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private android.media.session.MediaSession$Callback mTransportListener;
    descriptor: Landroid/media/session/MediaSession$Callback;
    flags: (0x0002) ACC_PRIVATE

  private static final long POSITION_REFRESH_PERIOD_PLAYING_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15000

  private static final long POSITION_REFRESH_PERIOD_MIN_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2000

  private static final long POSITION_DRIFT_MAX_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 500

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 823
            iconst_1
            putstatic android.media.RemoteControlClient.MEDIA_POSITION_READABLE:I
         1: .line 830
            iconst_2
            putstatic android.media.RemoteControlClient.MEDIA_POSITION_WRITABLE:I
         2: .line 1010
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.app.PendingIntent);
    descriptor: (Landroid/app/PendingIntent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // android.app.PendingIntent mediaButtonIntent
         0: .line 350
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 841
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
         2: .line 846
            aload 0 /* this */
            iconst_0
            putfield android.media.RemoteControlClient.mPlaybackState:I
         3: .line 851
            aload 0 /* this */
            lconst_0
            putfield android.media.RemoteControlClient.mPlaybackStateChangeTimeMs:J
         4: .line 855
            aload 0 /* this */
            ldc -1
            putfield android.media.RemoteControlClient.mPlaybackPositionMs:J
         5: .line 859
            aload 0 /* this */
            fconst_1
            putfield android.media.RemoteControlClient.mPlaybackSpeed:F
         6: .line 872
            aload 0 /* this */
            iconst_0
            putfield android.media.RemoteControlClient.mTransportControlFlags:I
         7: .line 878
            aload 0 /* this */
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            putfield android.media.RemoteControlClient.mMetadata:Landroid/os/Bundle;
         8: .line 896
            aload 0 /* this */
            iconst_m1
            putfield android.media.RemoteControlClient.mCurrentClientGenId:I
         9: .line 909
            aload 0 /* this */
            iconst_0
            putfield android.media.RemoteControlClient.mNeedsPositionSync:Z
        10: .line 914
            aload 0 /* this */
            aconst_null
            putfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
        11: .line 936
            aload 0 /* this */
            new android.media.RemoteControlClient$1
            dup
            aload 0 /* this */
            invokespecial android.media.RemoteControlClient$1.<init>:(Landroid/media/RemoteControlClient;)V
            putfield android.media.RemoteControlClient.mTransportListener:Landroid/media/session/MediaSession$Callback;
        12: .line 351
            aload 0 /* this */
            aload 1 /* mediaButtonIntent */
            putfield android.media.RemoteControlClient.mRcMediaIntent:Landroid/app/PendingIntent;
        13: .line 352
            return
        end local 1 // android.app.PendingIntent mediaButtonIntent
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Landroid/media/RemoteControlClient;
            0   14     1  mediaButtonIntent  Landroid/app/PendingIntent;
    MethodParameters:
                   Name  Flags
      mediaButtonIntent  

  public void <init>(android.app.PendingIntent, android.os.Looper);
    descriptor: (Landroid/app/PendingIntent;Landroid/os/Looper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.media.RemoteControlClient this
        start local 1 // android.app.PendingIntent mediaButtonIntent
        start local 2 // android.os.Looper looper
         0: .line 369
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 841
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
         2: .line 846
            aload 0 /* this */
            iconst_0
            putfield android.media.RemoteControlClient.mPlaybackState:I
         3: .line 851
            aload 0 /* this */
            lconst_0
            putfield android.media.RemoteControlClient.mPlaybackStateChangeTimeMs:J
         4: .line 855
            aload 0 /* this */
            ldc -1
            putfield android.media.RemoteControlClient.mPlaybackPositionMs:J
         5: .line 859
            aload 0 /* this */
            fconst_1
            putfield android.media.RemoteControlClient.mPlaybackSpeed:F
         6: .line 872
            aload 0 /* this */
            iconst_0
            putfield android.media.RemoteControlClient.mTransportControlFlags:I
         7: .line 878
            aload 0 /* this */
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            putfield android.media.RemoteControlClient.mMetadata:Landroid/os/Bundle;
         8: .line 896
            aload 0 /* this */
            iconst_m1
            putfield android.media.RemoteControlClient.mCurrentClientGenId:I
         9: .line 909
            aload 0 /* this */
            iconst_0
            putfield android.media.RemoteControlClient.mNeedsPositionSync:Z
        10: .line 914
            aload 0 /* this */
            aconst_null
            putfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
        11: .line 936
            aload 0 /* this */
            new android.media.RemoteControlClient$1
            dup
            aload 0 /* this */
            invokespecial android.media.RemoteControlClient$1.<init>:(Landroid/media/RemoteControlClient;)V
            putfield android.media.RemoteControlClient.mTransportListener:Landroid/media/session/MediaSession$Callback;
        12: .line 370
            aload 0 /* this */
            aload 1 /* mediaButtonIntent */
            putfield android.media.RemoteControlClient.mRcMediaIntent:Landroid/app/PendingIntent;
        13: .line 371
            return
        end local 2 // android.os.Looper looper
        end local 1 // android.app.PendingIntent mediaButtonIntent
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Landroid/media/RemoteControlClient;
            0   14     1  mediaButtonIntent  Landroid/app/PendingIntent;
            0   14     2             looper  Landroid/os/Looper;
    MethodParameters:
                   Name  Flags
      mediaButtonIntent  
      looper             

  public void registerWithSession(android.media.session.MediaSessionLegacyHelper);
    descriptor: (Landroid/media/session/MediaSessionLegacyHelper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // android.media.session.MediaSessionLegacyHelper helper
         0: .line 377
            aload 1 /* helper */
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mRcMediaIntent:Landroid/app/PendingIntent;
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mTransportListener:Landroid/media/session/MediaSession$Callback;
            invokevirtual android.media.session.MediaSessionLegacyHelper.addRccListener:(Landroid/app/PendingIntent;Landroid/media/session/MediaSession$Callback;)V
         1: .line 378
            aload 0 /* this */
            aload 1 /* helper */
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mRcMediaIntent:Landroid/app/PendingIntent;
            invokevirtual android.media.session.MediaSessionLegacyHelper.getSession:(Landroid/app/PendingIntent;)Landroid/media/session/MediaSession;
            putfield android.media.RemoteControlClient.mSession:Landroid/media/session/MediaSession;
         2: .line 379
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mTransportControlFlags:I
            invokevirtual android.media.RemoteControlClient.setTransportControlFlags:(I)V
         3: .line 380
            return
        end local 1 // android.media.session.MediaSessionLegacyHelper helper
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/media/RemoteControlClient;
            0    4     1  helper  Landroid/media/session/MediaSessionLegacyHelper;
    MethodParameters:
        Name  Flags
      helper  

  public void unregisterWithSession(android.media.session.MediaSessionLegacyHelper);
    descriptor: (Landroid/media/session/MediaSessionLegacyHelper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // android.media.session.MediaSessionLegacyHelper helper
         0: .line 386
            aload 1 /* helper */
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mRcMediaIntent:Landroid/app/PendingIntent;
            invokevirtual android.media.session.MediaSessionLegacyHelper.removeRccListener:(Landroid/app/PendingIntent;)V
         1: .line 387
            aload 0 /* this */
            aconst_null
            putfield android.media.RemoteControlClient.mSession:Landroid/media/session/MediaSession;
         2: .line 388
            return
        end local 1 // android.media.session.MediaSessionLegacyHelper helper
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/media/RemoteControlClient;
            0    3     1  helper  Landroid/media/session/MediaSessionLegacyHelper;
    MethodParameters:
        Name  Flags
      helper  

  public android.media.session.MediaSession getMediaSession();
    descriptor: ()Landroid/media/session/MediaSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.RemoteControlClient this
         0: .line 400
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSession:Landroid/media/session/MediaSession;
            areturn
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/RemoteControlClient;

  public android.media.RemoteControlClient$MetadataEditor editMetadata(boolean);
    descriptor: (Z)Landroid/media/RemoteControlClient$MetadataEditor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // boolean startEmpty
         0: .line 592
            new android.media.RemoteControlClient$MetadataEditor
            dup
            aload 0 /* this */
            invokespecial android.media.RemoteControlClient$MetadataEditor.<init>:(Landroid/media/RemoteControlClient;)V
            astore 2 /* editor */
        start local 2 // android.media.RemoteControlClient$MetadataEditor editor
         1: .line 593
            iload 1 /* startEmpty */
            ifeq 8
         2: .line 594
            aload 2 /* editor */
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            putfield android.media.RemoteControlClient$MetadataEditor.mEditorMetadata:Landroid/os/Bundle;
         3: .line 595
            aload 2 /* editor */
            aconst_null
            putfield android.media.RemoteControlClient$MetadataEditor.mEditorArtwork:Landroid/graphics/Bitmap;
         4: .line 596
            aload 2 /* editor */
            iconst_1
            putfield android.media.RemoteControlClient$MetadataEditor.mMetadataChanged:Z
         5: .line 597
            aload 2 /* editor */
            iconst_1
            putfield android.media.RemoteControlClient$MetadataEditor.mArtworkChanged:Z
         6: .line 598
            aload 2 /* editor */
            lconst_0
            putfield android.media.RemoteControlClient$MetadataEditor.mEditableKeys:J
         7: .line 599
            goto 12
         8: .line 600
      StackMap locals: android.media.RemoteControlClient$MetadataEditor
      StackMap stack:
            aload 2 /* editor */
            new android.os.Bundle
            dup
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mMetadata:Landroid/os/Bundle;
            invokespecial android.os.Bundle.<init>:(Landroid/os/Bundle;)V
            putfield android.media.RemoteControlClient$MetadataEditor.mEditorMetadata:Landroid/os/Bundle;
         9: .line 601
            aload 2 /* editor */
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mOriginalArtwork:Landroid/graphics/Bitmap;
            putfield android.media.RemoteControlClient$MetadataEditor.mEditorArtwork:Landroid/graphics/Bitmap;
        10: .line 602
            aload 2 /* editor */
            iconst_0
            putfield android.media.RemoteControlClient$MetadataEditor.mMetadataChanged:Z
        11: .line 603
            aload 2 /* editor */
            iconst_0
            putfield android.media.RemoteControlClient$MetadataEditor.mArtworkChanged:Z
        12: .line 606
      StackMap locals:
      StackMap stack:
            iload 1 /* startEmpty */
            ifne 13
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mMediaMetadata:Landroid/media/MediaMetadata;
            ifnonnull 15
        13: .line 607
      StackMap locals:
      StackMap stack:
            aload 2 /* editor */
            new android.media.MediaMetadata$Builder
            dup
            invokespecial android.media.MediaMetadata$Builder.<init>:()V
            putfield android.media.RemoteControlClient$MetadataEditor.mMetadataBuilder:Landroid/media/MediaMetadata$Builder;
        14: .line 608
            goto 16
        15: .line 609
      StackMap locals:
      StackMap stack:
            aload 2 /* editor */
            new android.media.MediaMetadata$Builder
            dup
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mMediaMetadata:Landroid/media/MediaMetadata;
            invokespecial android.media.MediaMetadata$Builder.<init>:(Landroid/media/MediaMetadata;)V
            putfield android.media.RemoteControlClient$MetadataEditor.mMetadataBuilder:Landroid/media/MediaMetadata$Builder;
        16: .line 611
      StackMap locals:
      StackMap stack:
            aload 2 /* editor */
            areturn
        end local 2 // android.media.RemoteControlClient$MetadataEditor editor
        end local 1 // boolean startEmpty
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Landroid/media/RemoteControlClient;
            0   17     1  startEmpty  Z
            1   17     2      editor  Landroid/media/RemoteControlClient$MetadataEditor;
    MethodParameters:
            Name  Flags
      startEmpty  

  public void setPlaybackState(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // int state
         0: .line 628
            aload 0 /* this */
            iload 1 /* state */
            ldc -9216204211029966080
            fconst_1
         1: .line 629
            iconst_0
         2: .line 628
            invokevirtual android.media.RemoteControlClient.setPlaybackStateInt:(IJFZ)V
         3: .line 630
            return
        end local 1 // int state
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/media/RemoteControlClient;
            0    4     1  state  I
    MethodParameters:
       Name  Flags
      state  

  public void setPlaybackState(int, long, float);
    descriptor: (IJF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // android.media.RemoteControlClient this
        start local 1 // int state
        start local 2 // long timeInMs
        start local 4 // float playbackSpeed
         0: .line 656
            aload 0 /* this */
            iload 1 /* state */
            lload 2 /* timeInMs */
            fload 4 /* playbackSpeed */
            iconst_1
            invokevirtual android.media.RemoteControlClient.setPlaybackStateInt:(IJFZ)V
         1: .line 657
            return
        end local 4 // float playbackSpeed
        end local 2 // long timeInMs
        end local 1 // int state
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Landroid/media/RemoteControlClient;
            0    2     1          state  I
            0    2     2       timeInMs  J
            0    2     4  playbackSpeed  F
    MethodParameters:
               Name  Flags
      state          
      timeInMs       
      playbackSpeed  

  private void setPlaybackStateInt(int, long, float, boolean);
    descriptor: (IJFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // android.media.RemoteControlClient this
        start local 1 // int state
        start local 2 // long timeInMs
        start local 4 // float playbackSpeed
        start local 5 // boolean hasPosition
         0: .line 661
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         1: .line 662
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mPlaybackState:I
            iload 1 /* state */
            if_icmpne 3
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mPlaybackPositionMs:J
            lload 2 /* timeInMs */
            lcmp
            ifne 3
         2: .line 663
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mPlaybackSpeed:F
            fload 4 /* playbackSpeed */
            fcmpl
            ifeq 23
         3: .line 665
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* state */
            putfield android.media.RemoteControlClient.mPlaybackState:I
         4: .line 669
            iload 5 /* hasPosition */
            ifeq 10
         5: .line 670
            lload 2 /* timeInMs */
            lconst_0
            lcmp
            ifge 8
         6: .line 671
            aload 0 /* this */
            ldc -1
            putfield android.media.RemoteControlClient.mPlaybackPositionMs:J
         7: .line 672
            goto 11
         8: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* timeInMs */
            putfield android.media.RemoteControlClient.mPlaybackPositionMs:J
         9: .line 675
            goto 11
        10: .line 676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc -9216204211029966080
            putfield android.media.RemoteControlClient.mPlaybackPositionMs:J
        11: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 4 /* playbackSpeed */
            putfield android.media.RemoteControlClient.mPlaybackSpeed:F
        12: .line 680
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            putfield android.media.RemoteControlClient.mPlaybackStateChangeTimeMs:J
        13: .line 683
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSession:Landroid/media/session/MediaSession;
            ifnull 23
        14: .line 684
            iload 1 /* state */
            invokestatic android.media.session.PlaybackState.getStateFromRccState:(I)I
            istore 7 /* pbState */
        start local 7 // int pbState
        15: .line 685
            iload 5 /* hasPosition */
            ifeq 16
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mPlaybackPositionMs:J
            goto 17
        16: .line 686
      StackMap locals: int
      StackMap stack:
            ldc -1
        17: .line 685
      StackMap locals:
      StackMap stack: long
            lstore 8 /* position */
        start local 8 // long position
        18: .line 688
            new android.media.session.PlaybackState$Builder
            dup
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
            invokespecial android.media.session.PlaybackState$Builder.<init>:(Landroid/media/session/PlaybackState;)V
            astore 10 /* bob */
        start local 10 // android.media.session.PlaybackState$Builder bob
        19: .line 689
            aload 10 /* bob */
            iload 7 /* pbState */
            lload 8 /* position */
            fload 4 /* playbackSpeed */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            invokevirtual android.media.session.PlaybackState$Builder.setState:(IJFJ)Landroid/media/session/PlaybackState$Builder;
            pop
        20: .line 690
            aload 10 /* bob */
            aconst_null
            invokevirtual android.media.session.PlaybackState$Builder.setErrorMessage:(Ljava/lang/CharSequence;)Landroid/media/session/PlaybackState$Builder;
            pop
        21: .line 691
            aload 0 /* this */
            aload 10 /* bob */
            invokevirtual android.media.session.PlaybackState$Builder.build:()Landroid/media/session/PlaybackState;
            putfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
        22: .line 692
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSession:Landroid/media/session/MediaSession;
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
            invokevirtual android.media.session.MediaSession.setPlaybackState:(Landroid/media/session/PlaybackState;)V
        end local 10 // android.media.session.PlaybackState$Builder bob
        end local 8 // long position
        end local 7 // int pbState
        23: .line 661
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        24: goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: aload 6
            monitorexit
        26: athrow
        27: .line 696
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hasPosition
        end local 4 // float playbackSpeed
        end local 2 // long timeInMs
        end local 1 // int state
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Landroid/media/RemoteControlClient;
            0   28     1          state  I
            0   28     2       timeInMs  J
            0   28     4  playbackSpeed  F
            0   28     5    hasPosition  Z
           15   23     7        pbState  I
           18   23     8       position  J
           19   23    10            bob  Landroid/media/session/PlaybackState$Builder;
      Exception table:
        from    to  target  type
           1    24      25  any
          25    26      25  any
    MethodParameters:
               Name  Flags
      state          
      timeInMs       
      playbackSpeed  
      hasPosition    

  public void setTransportControlFlags(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // int transportControlFlags
         0: .line 713
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 715
            aload 0 /* this */
            iload 1 /* transportControlFlags */
            putfield android.media.RemoteControlClient.mTransportControlFlags:I
         2: .line 718
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSession:Landroid/media/session/MediaSession;
            ifnull 9
         3: .line 719
            new android.media.session.PlaybackState$Builder
            dup
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
            invokespecial android.media.session.PlaybackState$Builder.<init>:(Landroid/media/session/PlaybackState;)V
            astore 3 /* bob */
        start local 3 // android.media.session.PlaybackState$Builder bob
         4: .line 720
            aload 3 /* bob */
         5: .line 721
            iload 1 /* transportControlFlags */
            invokestatic android.media.session.PlaybackState.getActionsFromRccControlFlags:(I)J
         6: .line 720
            invokevirtual android.media.session.PlaybackState$Builder.setActions:(J)Landroid/media/session/PlaybackState$Builder;
            pop
         7: .line 722
            aload 0 /* this */
            aload 3 /* bob */
            invokevirtual android.media.session.PlaybackState$Builder.build:()Landroid/media/session/PlaybackState;
            putfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
         8: .line 723
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSession:Landroid/media/session/MediaSession;
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mSessionPlaybackState:Landroid/media/session/PlaybackState;
            invokevirtual android.media.session.MediaSession.setPlaybackState:(Landroid/media/session/PlaybackState;)V
        end local 3 // android.media.session.PlaybackState$Builder bob
         9: .line 713
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 726
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int transportControlFlags
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Landroid/media/RemoteControlClient;
            0   14     1  transportControlFlags  I
            4    9     3                    bob  Landroid/media/session/PlaybackState$Builder;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    MethodParameters:
                       Name  Flags
      transportControlFlags  

  public void setMetadataUpdateListener(android.media.RemoteControlClient$OnMetadataUpdateListener);
    descriptor: (Landroid/media/RemoteControlClient$OnMetadataUpdateListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // android.media.RemoteControlClient$OnMetadataUpdateListener l
         0: .line 751
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 752
            aload 0 /* this */
            aload 1 /* l */
            putfield android.media.RemoteControlClient.mMetadataUpdateListener:Landroid/media/RemoteControlClient$OnMetadataUpdateListener;
         2: .line 751
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.media.RemoteControlClient android.media.RemoteControlClient$OnMetadataUpdateListener java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 754
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.RemoteControlClient$OnMetadataUpdateListener l
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/media/RemoteControlClient;
            0    7     1     l  Landroid/media/RemoteControlClient$OnMetadataUpdateListener;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      l     

  public void setPlaybackPositionUpdateListener(android.media.RemoteControlClient$OnPlaybackPositionUpdateListener);
    descriptor: (Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // android.media.RemoteControlClient$OnPlaybackPositionUpdateListener l
         0: .line 800
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 801
            aload 0 /* this */
            aload 1 /* l */
            putfield android.media.RemoteControlClient.mPositionUpdateListener:Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;
         2: .line 800
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.media.RemoteControlClient android.media.RemoteControlClient$OnPlaybackPositionUpdateListener java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 803
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.RemoteControlClient$OnPlaybackPositionUpdateListener l
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/media/RemoteControlClient;
            0    7     1     l  Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      l     

  public void setOnGetPlaybackPositionListener(android.media.RemoteControlClient$OnGetPlaybackPositionListener);
    descriptor: (Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.RemoteControlClient this
        start local 1 // android.media.RemoteControlClient$OnGetPlaybackPositionListener l
         0: .line 812
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 813
            aload 0 /* this */
            aload 1 /* l */
            putfield android.media.RemoteControlClient.mPositionProvider:Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;
         2: .line 812
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.media.RemoteControlClient android.media.RemoteControlClient$OnGetPlaybackPositionListener java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 815
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.RemoteControlClient$OnGetPlaybackPositionListener l
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/media/RemoteControlClient;
            0    7     1     l  Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      l     

  public android.app.PendingIntent getRcMediaIntent();
    descriptor: ()Landroid/app/PendingIntent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.RemoteControlClient this
         0: .line 926
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mRcMediaIntent:Landroid/app/PendingIntent;
            areturn
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/RemoteControlClient;

  private void onSeekTo(int, long);
    descriptor: (IJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.media.RemoteControlClient this
        start local 1 // int generationId
        start local 2 // long timeMs
         0: .line 955
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 956
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCurrentClientGenId:I
            iload 1 /* generationId */
            if_icmpne 3
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mPositionUpdateListener:Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;
            ifnull 3
         2: .line 957
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mPositionUpdateListener:Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;
            lload 2 /* timeMs */
            invokeinterface android.media.RemoteControlClient$OnPlaybackPositionUpdateListener.onPlaybackPositionUpdate:(J)V
         3: .line 955
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 4
            monitorexit
         6: athrow
         7: .line 960
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long timeMs
        end local 1 // int generationId
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/media/RemoteControlClient;
            0    8     1  generationId  I
            0    8     2        timeMs  J
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
              Name  Flags
      generationId  
      timeMs        

  private void onUpdateMetadata(int, int, java.lang.Object);
    descriptor: (IILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.media.RemoteControlClient this
        start local 1 // int generationId
        start local 2 // int key
        start local 3 // java.lang.Object value
         0: .line 963
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCacheLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 964
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mCurrentClientGenId:I
            iload 1 /* generationId */
            if_icmpne 3
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mMetadataUpdateListener:Landroid/media/RemoteControlClient$OnMetadataUpdateListener;
            ifnull 3
         2: .line 965
            aload 0 /* this */
            getfield android.media.RemoteControlClient.mMetadataUpdateListener:Landroid/media/RemoteControlClient$OnMetadataUpdateListener;
            iload 2 /* key */
            aload 3 /* value */
            invokeinterface android.media.RemoteControlClient$OnMetadataUpdateListener.onMetadataUpdate:(ILjava/lang/Object;)V
         3: .line 963
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 4
            monitorexit
         6: athrow
         7: .line 968
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object value
        end local 2 // int key
        end local 1 // int generationId
        end local 0 // android.media.RemoteControlClient this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/media/RemoteControlClient;
            0    8     1  generationId  I
            0    8     2           key  I
            0    8     3         value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
              Name  Flags
      generationId  
      key           
      value         

  static boolean playbackPositionShouldMove(int);
    descriptor: (I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int playstate
         0: .line 981
            iload 0 /* playstate */
            tableswitch { // 1 - 9
                    1: 1
                    2: 1
                    3: 2
                    4: 2
                    5: 2
                    6: 1
                    7: 1
                    8: 1
                    9: 1
              default: 2
          }
         1: .line 988
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 993
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // int playstate
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  playstate  I
    MethodParameters:
           Name  Flags
      playstate  

  private static long getCheckPeriodFromSpeed(float);
    descriptor: (F)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // float speed
         0: .line 1018
            fload 0 /* speed */
            invokestatic java.lang.Math.abs:(F)F
            fconst_1
            fcmpg
            ifgt 2
         1: .line 1019
            ldc 15000
            lreturn
         2: .line 1021
      StackMap locals:
      StackMap stack:
            ldc 15000.0
            fload 0 /* speed */
            invokestatic java.lang.Math.abs:(F)F
            fdiv
            f2l
         3: .line 1022
            ldc 2000
         4: .line 1021
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 0 // float speed
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  speed  F
    MethodParameters:
       Name  Flags
      speed  
}
SourceFile: "RemoteControlClient.java"
NestMembers:
  android.media.RemoteControlClient$1  android.media.RemoteControlClient$MetadataEditor  android.media.RemoteControlClient$OnGetPlaybackPositionListener  android.media.RemoteControlClient$OnMetadataUpdateListener  android.media.RemoteControlClient$OnPlaybackPositionUpdateListener
InnerClasses:
  public final Builder = android.media.MediaMetadata$Builder of android.media.MediaMetadata
  android.media.RemoteControlClient$1
  public MetadataEditor = android.media.RemoteControlClient$MetadataEditor of android.media.RemoteControlClient
  public abstract OnGetPlaybackPositionListener = android.media.RemoteControlClient$OnGetPlaybackPositionListener of android.media.RemoteControlClient
  public abstract OnMetadataUpdateListener = android.media.RemoteControlClient$OnMetadataUpdateListener of android.media.RemoteControlClient
  public abstract OnPlaybackPositionUpdateListener = android.media.RemoteControlClient$OnPlaybackPositionUpdateListener of android.media.RemoteControlClient
  public abstract Callback = android.media.session.MediaSession$Callback of android.media.session.MediaSession
  public final Builder = android.media.session.PlaybackState$Builder of android.media.session.PlaybackState
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()