public class android.media.MediaRouter$UserRouteInfo extends android.media.MediaRouter$RouteInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.MediaRouter$UserRouteInfo
  super_class: android.media.MediaRouter$RouteInfo
{
  android.media.RemoteControlClient mRcc;
    descriptor: Landroid/media/RemoteControlClient;
    flags: (0x0000) 

  android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider mSvp;
    descriptor: Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
    flags: (0x0000) 

  void <init>(android.media.MediaRouter$RouteCategory);
    descriptor: (Landroid/media/MediaRouter$RouteCategory;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // android.media.MediaRouter$RouteCategory category
         0: .line 2133
            aload 0 /* this */
            aload 1 /* category */
            invokespecial android.media.MediaRouter$RouteInfo.<init>:(Landroid/media/MediaRouter$RouteCategory;)V
         1: .line 2134
            aload 0 /* this */
            ldc 8388608
            putfield android.media.MediaRouter$UserRouteInfo.mSupportedTypes:I
         2: .line 2135
            aload 0 /* this */
            iconst_1
            putfield android.media.MediaRouter$UserRouteInfo.mPlaybackType:I
         3: .line 2136
            aload 0 /* this */
            iconst_0
            putfield android.media.MediaRouter$UserRouteInfo.mVolumeHandling:I
         4: .line 2137
            return
        end local 1 // android.media.MediaRouter$RouteCategory category
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/media/MediaRouter$UserRouteInfo;
            0    5     1  category  Landroid/media/MediaRouter$RouteCategory;
    MethodParameters:
          Name  Flags
      category  

  public void setName(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // java.lang.CharSequence name
         0: .line 2144
            aload 0 /* this */
            iconst_0
            putfield android.media.MediaRouter$UserRouteInfo.mNameResId:I
         1: .line 2145
            aload 0 /* this */
            aload 1 /* name */
            putfield android.media.MediaRouter$UserRouteInfo.mName:Ljava/lang/CharSequence;
         2: .line 2146
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.routeUpdated:()V
         3: .line 2147
            return
        end local 1 // java.lang.CharSequence name
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/MediaRouter$UserRouteInfo;
            0    4     1  name  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      name  

  public void setName(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int resId
         0: .line 2159
            aload 0 /* this */
            iload 1 /* resId */
            putfield android.media.MediaRouter$UserRouteInfo.mNameResId:I
         1: .line 2160
            aload 0 /* this */
            aconst_null
            putfield android.media.MediaRouter$UserRouteInfo.mName:Ljava/lang/CharSequence;
         2: .line 2161
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.routeUpdated:()V
         3: .line 2162
            return
        end local 1 // int resId
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/media/MediaRouter$UserRouteInfo;
            0    4     1  resId  I
    MethodParameters:
       Name  Flags
      resId  

  public void setDescription(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // java.lang.CharSequence description
         0: .line 2174
            aload 0 /* this */
            aload 1 /* description */
            putfield android.media.MediaRouter$UserRouteInfo.mDescription:Ljava/lang/CharSequence;
         1: .line 2175
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.routeUpdated:()V
         2: .line 2176
            return
        end local 1 // java.lang.CharSequence description
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/media/MediaRouter$UserRouteInfo;
            0    3     1  description  Ljava/lang/CharSequence;
    MethodParameters:
             Name  Flags
      description  

  public void setStatus(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // java.lang.CharSequence status
         0: .line 2184
            aload 0 /* this */
            aload 1 /* status */
            invokevirtual android.media.MediaRouter$UserRouteInfo.setStatusInt:(Ljava/lang/CharSequence;)V
         1: .line 2185
            return
        end local 1 // java.lang.CharSequence status
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/media/MediaRouter$UserRouteInfo;
            0    2     1  status  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      status  

  public void setRemoteControlClient(android.media.RemoteControlClient);
    descriptor: (Landroid/media/RemoteControlClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // android.media.RemoteControlClient rcc
         0: .line 2201
            aload 0 /* this */
            aload 1 /* rcc */
            putfield android.media.MediaRouter$UserRouteInfo.mRcc:Landroid/media/RemoteControlClient;
         1: .line 2202
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.updatePlaybackInfoOnRcc:()V
         2: .line 2203
            return
        end local 1 // android.media.RemoteControlClient rcc
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/MediaRouter$UserRouteInfo;
            0    3     1   rcc  Landroid/media/RemoteControlClient;
    MethodParameters:
      Name  Flags
      rcc   

  public android.media.RemoteControlClient getRemoteControlClient();
    descriptor: ()Landroid/media/RemoteControlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter$UserRouteInfo this
         0: .line 2212
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mRcc:Landroid/media/RemoteControlClient;
            areturn
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaRouter$UserRouteInfo;

  public void setIconDrawable(android.graphics.drawable.Drawable);
    descriptor: (Landroid/graphics/drawable/Drawable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // android.graphics.drawable.Drawable icon
         0: .line 2222
            aload 0 /* this */
            aload 1 /* icon */
            putfield android.media.MediaRouter$UserRouteInfo.mIcon:Landroid/graphics/drawable/Drawable;
         1: .line 2223
            return
        end local 1 // android.graphics.drawable.Drawable icon
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter$UserRouteInfo;
            0    2     1  icon  Landroid/graphics/drawable/Drawable;
    MethodParameters:
      Name  Flags
      icon  

  public void setIconResource(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int resId
         0: .line 2232
            aload 0 /* this */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mResources:Landroid/content/res/Resources;
            iload 1 /* resId */
            invokevirtual android.content.res.Resources.getDrawable:(I)Landroid/graphics/drawable/Drawable;
            invokevirtual android.media.MediaRouter$UserRouteInfo.setIconDrawable:(Landroid/graphics/drawable/Drawable;)V
         1: .line 2233
            return
        end local 1 // int resId
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/media/MediaRouter$UserRouteInfo;
            0    2     1  resId  I
    MethodParameters:
       Name  Flags
      resId  

  public void setVolumeCallback(android.media.MediaRouter$VolumeCallback);
    descriptor: (Landroid/media/MediaRouter$VolumeCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // android.media.MediaRouter$VolumeCallback vcb
         0: .line 2240
            aload 0 /* this */
            new android.media.MediaRouter$VolumeCallbackInfo
            dup
            aload 1 /* vcb */
            aload 0 /* this */
            invokespecial android.media.MediaRouter$VolumeCallbackInfo.<init>:(Landroid/media/MediaRouter$VolumeCallback;Landroid/media/MediaRouter$RouteInfo;)V
            putfield android.media.MediaRouter$UserRouteInfo.mVcb:Landroid/media/MediaRouter$VolumeCallbackInfo;
         1: .line 2241
            return
        end local 1 // android.media.MediaRouter$VolumeCallback vcb
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter$UserRouteInfo;
            0    2     1   vcb  Landroid/media/MediaRouter$VolumeCallback;
    MethodParameters:
      Name  Flags
      vcb   

  public void setPlaybackType(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int type
         0: .line 2250
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mPlaybackType:I
            iload 1 /* type */
            if_icmpeq 3
         1: .line 2251
            aload 0 /* this */
            iload 1 /* type */
            putfield android.media.MediaRouter$UserRouteInfo.mPlaybackType:I
         2: .line 2252
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.configureSessionVolume:()V
         3: .line 2254
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int type
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/MediaRouter$UserRouteInfo;
            0    4     1  type  I
    MethodParameters:
      Name  Flags
      type  

  public void setVolumeHandling(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int volumeHandling
         0: .line 2263
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolumeHandling:I
            iload 1 /* volumeHandling */
            if_icmpeq 3
         1: .line 2264
            aload 0 /* this */
            iload 1 /* volumeHandling */
            putfield android.media.MediaRouter$UserRouteInfo.mVolumeHandling:I
         2: .line 2265
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.configureSessionVolume:()V
         3: .line 2267
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int volumeHandling
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Landroid/media/MediaRouter$UserRouteInfo;
            0    4     1  volumeHandling  I
    MethodParameters:
                Name  Flags
      volumeHandling  

  public void setVolume(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int volume
         0: .line 2275
            iconst_0
            iload 1 /* volume */
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.getVolumeMax:()I
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* volume */
         1: .line 2276
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolume:I
            iload 1 /* volume */
            if_icmpeq 8
         2: .line 2277
            aload 0 /* this */
            iload 1 /* volume */
            putfield android.media.MediaRouter$UserRouteInfo.mVolume:I
         3: .line 2278
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
            ifnull 5
         4: .line 2279
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolume:I
            invokevirtual android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider.setCurrentVolume:(I)V
         5: .line 2281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic android.media.MediaRouter.dispatchRouteVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
         6: .line 2282
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mGroup:Landroid/media/MediaRouter$RouteGroup;
            ifnull 8
         7: .line 2283
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mGroup:Landroid/media/MediaRouter$RouteGroup;
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.memberVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
         8: .line 2286
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int volume
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/media/MediaRouter$UserRouteInfo;
            0    9     1  volume  I
    MethodParameters:
        Name  Flags
      volume  

  public void requestSetVolume(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int volume
         0: .line 2290
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolumeHandling:I
            iconst_1
            if_icmpne 5
         1: .line 2291
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVcb:Landroid/media/MediaRouter$VolumeCallbackInfo;
            ifnonnull 4
         2: .line 2292
            ldc "MediaRouter"
            ldc "Cannot requestSetVolume on user route - no volume callback set"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         3: .line 2293
            return
         4: .line 2295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVcb:Landroid/media/MediaRouter$VolumeCallbackInfo;
            getfield android.media.MediaRouter$VolumeCallbackInfo.vcb:Landroid/media/MediaRouter$VolumeCallback;
            aload 0 /* this */
            iload 1 /* volume */
            invokevirtual android.media.MediaRouter$VolumeCallback.onVolumeSetRequest:(Landroid/media/MediaRouter$RouteInfo;I)V
         5: .line 2297
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int volume
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/media/MediaRouter$UserRouteInfo;
            0    6     1  volume  I
    MethodParameters:
        Name  Flags
      volume  

  public void requestUpdateVolume(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int direction
         0: .line 2301
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolumeHandling:I
            iconst_1
            if_icmpne 5
         1: .line 2302
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVcb:Landroid/media/MediaRouter$VolumeCallbackInfo;
            ifnonnull 4
         2: .line 2303
            ldc "MediaRouter"
            ldc "Cannot requestChangeVolume on user route - no volumec callback set"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         3: .line 2304
            return
         4: .line 2306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVcb:Landroid/media/MediaRouter$VolumeCallbackInfo;
            getfield android.media.MediaRouter$VolumeCallbackInfo.vcb:Landroid/media/MediaRouter$VolumeCallback;
            aload 0 /* this */
            iload 1 /* direction */
            invokevirtual android.media.MediaRouter$VolumeCallback.onVolumeUpdateRequest:(Landroid/media/MediaRouter$RouteInfo;I)V
         5: .line 2308
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int direction
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Landroid/media/MediaRouter$UserRouteInfo;
            0    6     1  direction  I
    MethodParameters:
           Name  Flags
      direction  

  public void setVolumeMax(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int volumeMax
         0: .line 2317
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolumeMax:I
            iload 1 /* volumeMax */
            if_icmpeq 3
         1: .line 2318
            aload 0 /* this */
            iload 1 /* volumeMax */
            putfield android.media.MediaRouter$UserRouteInfo.mVolumeMax:I
         2: .line 2319
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.configureSessionVolume:()V
         3: .line 2321
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int volumeMax
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/media/MediaRouter$UserRouteInfo;
            0    4     1  volumeMax  I
    MethodParameters:
           Name  Flags
      volumeMax  

  public void setPlaybackStream(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$UserRouteInfo this
        start local 1 // int stream
         0: .line 2328
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mPlaybackStream:I
            iload 1 /* stream */
            if_icmpeq 3
         1: .line 2329
            aload 0 /* this */
            iload 1 /* stream */
            putfield android.media.MediaRouter$UserRouteInfo.mPlaybackStream:I
         2: .line 2330
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.configureSessionVolume:()V
         3: .line 2332
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int stream
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/media/MediaRouter$UserRouteInfo;
            0    4     1  stream  I
    MethodParameters:
        Name  Flags
      stream  

  private void updatePlaybackInfoOnRcc();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter$UserRouteInfo this
         0: .line 2335
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.configureSessionVolume:()V
         1: .line 2336
            return
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter$UserRouteInfo;

  private void configureSessionVolume();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // android.media.MediaRouter$UserRouteInfo this
         0: .line 2339
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mRcc:Landroid/media/RemoteControlClient;
            ifnonnull 4
         1: .line 2340
            getstatic android.media.MediaRouter.DEBUG:Z
            ifeq 3
         2: .line 2341
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "No Rcc to configure volume for route "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$UserRouteInfo.getName:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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: .line 2343
      StackMap locals:
      StackMap stack:
            return
         4: .line 2345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mRcc:Landroid/media/RemoteControlClient;
            invokevirtual android.media.RemoteControlClient.getMediaSession:()Landroid/media/session/MediaSession;
            astore 1 /* session */
        start local 1 // android.media.session.MediaSession session
         5: .line 2346
            aload 1 /* session */
            ifnonnull 9
         6: .line 2347
            getstatic android.media.MediaRouter.DEBUG:Z
            ifeq 8
         7: .line 2348
            ldc "MediaRouter"
            ldc "Rcc has no session to configure volume"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         8: .line 2350
      StackMap locals: android.media.session.MediaSession
      StackMap stack:
            return
         9: .line 2352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mPlaybackType:I
            iconst_1
            if_icmpne 20
        10: .line 2354
            iconst_0
        11: .line 2353
            istore 2 /* volumeControl */
        start local 2 // int volumeControl
        12: .line 2355
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolumeHandling:I
            tableswitch { // 0 - 1
                    0: 15
                    1: 13
              default: 15
          }
        13: .line 2357
      StackMap locals: int
      StackMap stack:
            iconst_2
            istore 2 /* volumeControl */
        14: .line 2358
            goto 15
        15: .line 2364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
            ifnull 17
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
            invokevirtual android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider.getVolumeControl:()I
            iload 2 /* volumeControl */
            if_icmpne 17
        16: .line 2365
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
            invokevirtual android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider.getMaxVolume:()I
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolumeMax:I
            if_icmpeq 24
        17: .line 2366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider
            dup
            aload 0 /* this */
            iload 2 /* volumeControl */
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolumeMax:I
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mVolume:I
            invokespecial android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider.<init>:(Landroid/media/MediaRouter$UserRouteInfo;III)V
            putfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
        18: .line 2367
            aload 1 /* session */
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
            invokevirtual android.media.session.MediaSession.setPlaybackToRemote:(Landroid/media/VolumeProvider;)V
        end local 2 // int volumeControl
        19: .line 2369
            goto 24
        20: .line 2371
      StackMap locals:
      StackMap stack:
            new android.media.AudioAttributes$Builder
            dup
            invokespecial android.media.AudioAttributes$Builder.<init>:()V
            astore 2 /* bob */
        start local 2 // android.media.AudioAttributes$Builder bob
        21: .line 2372
            aload 2 /* bob */
            aload 0 /* this */
            getfield android.media.MediaRouter$UserRouteInfo.mPlaybackStream:I
            invokevirtual android.media.AudioAttributes$Builder.setLegacyStreamType:(I)Landroid/media/AudioAttributes$Builder;
            pop
        22: .line 2373
            aload 1 /* session */
            aload 2 /* bob */
            invokevirtual android.media.AudioAttributes$Builder.build:()Landroid/media/AudioAttributes;
            invokevirtual android.media.session.MediaSession.setPlaybackToLocal:(Landroid/media/AudioAttributes;)V
        23: .line 2374
            aload 0 /* this */
            aconst_null
            putfield android.media.MediaRouter$UserRouteInfo.mSvp:Landroid/media/MediaRouter$UserRouteInfo$SessionVolumeProvider;
        end local 2 // android.media.AudioAttributes$Builder bob
        24: .line 2376
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.session.MediaSession session
        end local 0 // android.media.MediaRouter$UserRouteInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Landroid/media/MediaRouter$UserRouteInfo;
            5   25     1        session  Landroid/media/session/MediaSession;
           12   19     2  volumeControl  I
           21   24     2            bob  Landroid/media/AudioAttributes$Builder;
}
SourceFile: "MediaRouter.java"
NestHost: android.media.MediaRouter
InnerClasses:
  public Builder = android.media.AudioAttributes$Builder of android.media.AudioAttributes
  public RouteCategory = android.media.MediaRouter$RouteCategory of android.media.MediaRouter
  public RouteGroup = android.media.MediaRouter$RouteGroup of android.media.MediaRouter
  public RouteInfo = android.media.MediaRouter$RouteInfo of android.media.MediaRouter
  Static = android.media.MediaRouter$Static of android.media.MediaRouter
  public UserRouteInfo = android.media.MediaRouter$UserRouteInfo of android.media.MediaRouter
  SessionVolumeProvider = android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider of android.media.MediaRouter$UserRouteInfo
  public abstract VolumeCallback = android.media.MediaRouter$VolumeCallback of android.media.MediaRouter
  VolumeCallbackInfo = android.media.MediaRouter$VolumeCallbackInfo of android.media.MediaRouter