public class android.media.MediaRouter$RouteGroup extends android.media.MediaRouter$RouteInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.MediaRouter$RouteGroup
  super_class: android.media.MediaRouter$RouteInfo
{
  final java.util.ArrayList<android.media.MediaRouter$RouteInfo> mRoutes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/ArrayList<Landroid/media/MediaRouter$RouteInfo;>;

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

  void <init>(android.media.MediaRouter$RouteCategory);
    descriptor: (Landroid/media/MediaRouter$RouteCategory;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.media.MediaRouter$RouteCategory category
         0: .line 2419
            aload 0 /* this */
            aload 1 /* category */
            invokespecial android.media.MediaRouter$RouteInfo.<init>:(Landroid/media/MediaRouter$RouteCategory;)V
         1: .line 2415
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
         2: .line 2420
            aload 0 /* this */
            aload 0 /* this */
            putfield android.media.MediaRouter$RouteGroup.mGroup:Landroid/media/MediaRouter$RouteGroup;
         3: .line 2421
            aload 0 /* this */
            iconst_0
            putfield android.media.MediaRouter$RouteGroup.mVolumeHandling:I
         4: .line 2422
            return
        end local 1 // android.media.MediaRouter$RouteCategory category
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/media/MediaRouter$RouteGroup;
            0    5     1  category  Landroid/media/MediaRouter$RouteCategory;
    MethodParameters:
          Name  Flags
      category  

  java.lang.CharSequence getName(android.content.res.Resources);
    descriptor: (Landroid/content/res/Resources;)Ljava/lang/CharSequence;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.content.res.Resources res
         0: .line 2426
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mUpdateName:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.updateName:()V
         1: .line 2427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* res */
            invokespecial android.media.MediaRouter$RouteInfo.getName:(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
            areturn
        end local 1 // android.content.res.Resources res
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter$RouteGroup;
            0    2     1   res  Landroid/content/res/Resources;
    MethodParameters:
      Name  Flags
      res   

  public void addRoute(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.media.MediaRouter$RouteInfo route
         0: .line 2436
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getGroup:()Landroid/media/MediaRouter$RouteGroup;
            ifnull 2
         1: .line 2437
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Route "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* route */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is already part of a group."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2439
      StackMap locals:
      StackMap stack:
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mCategory:Landroid/media/MediaRouter$RouteCategory;
            if_acmpeq 9
         3: .line 2440
            new java.lang.IllegalArgumentException
            dup
         4: .line 2441
            new java.lang.StringBuilder
            dup
            ldc "Route cannot be added to a group with a different category. (Route category="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 2442
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 2443
            ldc " group category="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mCategory:Landroid/media/MediaRouter$RouteCategory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2441
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2440
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 2445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* at */
        start local 2 // int at
        10: .line 2446
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            aload 1 /* route */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 2447
            aload 1 /* route */
            aload 0 /* this */
            putfield android.media.MediaRouter$RouteInfo.mGroup:Landroid/media/MediaRouter$RouteGroup;
        12: .line 2448
            aload 0 /* this */
            iconst_1
            putfield android.media.MediaRouter$RouteGroup.mUpdateName:Z
        13: .line 2449
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.updateVolume:()V
        14: .line 2450
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.routeUpdated:()V
        15: .line 2451
            aload 1 /* route */
            aload 0 /* this */
            iload 2 /* at */
            invokestatic android.media.MediaRouter.dispatchRouteGrouped:(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V
        16: .line 2452
            return
        end local 2 // int at
        end local 1 // android.media.MediaRouter$RouteInfo route
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Landroid/media/MediaRouter$RouteGroup;
            0   17     1  route  Landroid/media/MediaRouter$RouteInfo;
           10   17     2     at  I
    MethodParameters:
       Name  Flags
      route  

  public void addRoute(android.media.MediaRouter$RouteInfo, int);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.media.MediaRouter$RouteInfo route
        start local 2 // int insertAt
         0: .line 2461
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getGroup:()Landroid/media/MediaRouter$RouteGroup;
            ifnull 2
         1: .line 2462
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Route "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* route */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is already part of a group."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2464
      StackMap locals:
      StackMap stack:
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mCategory:Landroid/media/MediaRouter$RouteCategory;
            if_acmpeq 9
         3: .line 2465
            new java.lang.IllegalArgumentException
            dup
         4: .line 2466
            new java.lang.StringBuilder
            dup
            ldc "Route cannot be added to a group with a different category. (Route category="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 2467
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 2468
            ldc " group category="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mCategory:Landroid/media/MediaRouter$RouteCategory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2466
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2465
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 2470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            iload 2 /* insertAt */
            aload 1 /* route */
            invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
        10: .line 2471
            aload 1 /* route */
            aload 0 /* this */
            putfield android.media.MediaRouter$RouteInfo.mGroup:Landroid/media/MediaRouter$RouteGroup;
        11: .line 2472
            aload 0 /* this */
            iconst_1
            putfield android.media.MediaRouter$RouteGroup.mUpdateName:Z
        12: .line 2473
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.updateVolume:()V
        13: .line 2474
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.routeUpdated:()V
        14: .line 2475
            aload 1 /* route */
            aload 0 /* this */
            iload 2 /* insertAt */
            invokestatic android.media.MediaRouter.dispatchRouteGrouped:(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V
        15: .line 2476
            return
        end local 2 // int insertAt
        end local 1 // android.media.MediaRouter$RouteInfo route
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Landroid/media/MediaRouter$RouteGroup;
            0   16     1     route  Landroid/media/MediaRouter$RouteInfo;
            0   16     2  insertAt  I
    MethodParameters:
          Name  Flags
      route     
      insertAt  

  public void removeRoute(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.media.MediaRouter$RouteInfo route
         0: .line 2484
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getGroup:()Landroid/media/MediaRouter$RouteGroup;
            aload 0 /* this */
            if_acmpeq 4
         1: .line 2485
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Route "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* route */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 2486
            ldc " is not a member of this group."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2485
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            aload 1 /* route */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 2489
            aload 1 /* route */
            aconst_null
            putfield android.media.MediaRouter$RouteInfo.mGroup:Landroid/media/MediaRouter$RouteGroup;
         6: .line 2490
            aload 0 /* this */
            iconst_1
            putfield android.media.MediaRouter$RouteGroup.mUpdateName:Z
         7: .line 2491
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.updateVolume:()V
         8: .line 2492
            aload 1 /* route */
            aload 0 /* this */
            invokestatic android.media.MediaRouter.dispatchRouteUngrouped:(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V
         9: .line 2493
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.routeUpdated:()V
        10: .line 2494
            return
        end local 1 // android.media.MediaRouter$RouteInfo route
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Landroid/media/MediaRouter$RouteGroup;
            0   11     1  route  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
       Name  Flags
      route  

  public void removeRoute(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // int index
         0: .line 2502
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            iload 1 /* index */
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            astore 2 /* route */
        start local 2 // android.media.MediaRouter$RouteInfo route
         1: .line 2503
            aload 2 /* route */
            aconst_null
            putfield android.media.MediaRouter$RouteInfo.mGroup:Landroid/media/MediaRouter$RouteGroup;
         2: .line 2504
            aload 0 /* this */
            iconst_1
            putfield android.media.MediaRouter$RouteGroup.mUpdateName:Z
         3: .line 2505
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.updateVolume:()V
         4: .line 2506
            aload 2 /* route */
            aload 0 /* this */
            invokestatic android.media.MediaRouter.dispatchRouteUngrouped:(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V
         5: .line 2507
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.routeUpdated:()V
         6: .line 2508
            return
        end local 2 // android.media.MediaRouter$RouteInfo route
        end local 1 // int index
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/media/MediaRouter$RouteGroup;
            0    7     1  index  I
            1    7     2  route  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
       Name  Flags
      index  

  public int getRouteCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter$RouteGroup this
         0: .line 2514
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaRouter$RouteGroup;

  public android.media.MediaRouter$RouteInfo getRouteAt(int);
    descriptor: (I)Landroid/media/MediaRouter$RouteInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // int index
         0: .line 2524
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            iload 1 /* index */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            areturn
        end local 1 // int index
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/media/MediaRouter$RouteGroup;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  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$RouteGroup this
        start local 1 // android.graphics.drawable.Drawable icon
         0: .line 2534
            aload 0 /* this */
            aload 1 /* icon */
            putfield android.media.MediaRouter$RouteGroup.mIcon:Landroid/graphics/drawable/Drawable;
         1: .line 2535
            return
        end local 1 // android.graphics.drawable.Drawable icon
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter$RouteGroup;
            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$RouteGroup this
        start local 1 // int resId
         0: .line 2544
            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$RouteGroup.setIconDrawable:(Landroid/graphics/drawable/Drawable;)V
         1: .line 2545
            return
        end local 1 // int resId
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/media/MediaRouter$RouteGroup;
            0    2     1  resId  I
    MethodParameters:
       Name  Flags
      resId  

  public void requestSetVolume(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // int volume
         0: .line 2549
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.getVolumeMax:()I
            istore 2 /* maxVol */
        start local 2 // int maxVol
         1: .line 2550
            iload 2 /* maxVol */
            ifne 3
         2: .line 2551
            return
         3: .line 2554
      StackMap locals: int
      StackMap stack:
            iload 1 /* volume */
            i2f
            iload 2 /* maxVol */
            i2f
            fdiv
            fstore 3 /* scaledVolume */
        start local 3 // float scaledVolume
         4: .line 2555
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.getRouteCount:()I
            istore 4 /* routeCount */
        start local 4 // int routeCount
         5: .line 2556
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 2557
      StackMap locals: float int int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual android.media.MediaRouter$RouteGroup.getRouteAt:(I)Landroid/media/MediaRouter$RouteInfo;
            astore 6 /* route */
        start local 6 // android.media.MediaRouter$RouteInfo route
         8: .line 2558
            fload 3 /* scaledVolume */
            aload 6 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getVolumeMax:()I
            i2f
            fmul
            f2i
            istore 7 /* routeVol */
        start local 7 // int routeVol
         9: .line 2559
            aload 6 /* route */
            iload 7 /* routeVol */
            invokevirtual android.media.MediaRouter$RouteInfo.requestSetVolume:(I)V
        end local 7 // int routeVol
        end local 6 // android.media.MediaRouter$RouteInfo route
        10: .line 2556
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 4 /* routeCount */
            if_icmplt 7
        end local 5 // int i
        12: .line 2561
            iload 1 /* volume */
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mVolume:I
            if_icmpeq 15
        13: .line 2562
            aload 0 /* this */
            iload 1 /* volume */
            putfield android.media.MediaRouter$RouteGroup.mVolume:I
        14: .line 2563
            aload 0 /* this */
            invokestatic android.media.MediaRouter.dispatchRouteVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        15: .line 2565
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int routeCount
        end local 3 // float scaledVolume
        end local 2 // int maxVol
        end local 1 // int volume
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Landroid/media/MediaRouter$RouteGroup;
            0   16     1        volume  I
            1   16     2        maxVol  I
            4   16     3  scaledVolume  F
            5   16     4    routeCount  I
            6   12     5             i  I
            8   10     6         route  Landroid/media/MediaRouter$RouteInfo;
            9   10     7      routeVol  I
    MethodParameters:
        Name  Flags
      volume  

  public void requestUpdateVolume(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // int direction
         0: .line 2569
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.getVolumeMax:()I
            istore 2 /* maxVol */
        start local 2 // int maxVol
         1: .line 2570
            iload 2 /* maxVol */
            ifne 3
         2: .line 2571
            return
         3: .line 2574
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.getRouteCount:()I
            istore 3 /* routeCount */
        start local 3 // int routeCount
         4: .line 2575
            iconst_0
            istore 4 /* volume */
        start local 4 // int volume
         5: .line 2576
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 13
         7: .line 2577
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual android.media.MediaRouter$RouteGroup.getRouteAt:(I)Landroid/media/MediaRouter$RouteInfo;
            astore 6 /* route */
        start local 6 // android.media.MediaRouter$RouteInfo route
         8: .line 2578
            aload 6 /* route */
            iload 1 /* direction */
            invokevirtual android.media.MediaRouter$RouteInfo.requestUpdateVolume:(I)V
         9: .line 2579
            aload 6 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getVolume:()I
            istore 7 /* routeVol */
        start local 7 // int routeVol
        10: .line 2580
            iload 7 /* routeVol */
            iload 4 /* volume */
            if_icmple 12
        11: .line 2581
            iload 7 /* routeVol */
            istore 4 /* volume */
        end local 7 // int routeVol
        end local 6 // android.media.MediaRouter$RouteInfo route
        12: .line 2576
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            iload 3 /* routeCount */
            if_icmplt 7
        end local 5 // int i
        14: .line 2584
            iload 4 /* volume */
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mVolume:I
            if_icmpeq 17
        15: .line 2585
            aload 0 /* this */
            iload 4 /* volume */
            putfield android.media.MediaRouter$RouteGroup.mVolume:I
        16: .line 2586
            aload 0 /* this */
            invokestatic android.media.MediaRouter.dispatchRouteVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        17: .line 2588
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int volume
        end local 3 // int routeCount
        end local 2 // int maxVol
        end local 1 // int direction
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Landroid/media/MediaRouter$RouteGroup;
            0   18     1   direction  I
            1   18     2      maxVol  I
            4   18     3  routeCount  I
            5   18     4      volume  I
            6   14     5           i  I
            8   12     6       route  Landroid/media/MediaRouter$RouteInfo;
           10   12     7    routeVol  I
    MethodParameters:
           Name  Flags
      direction  

  void memberNameChanged(android.media.MediaRouter$RouteInfo, java.lang.CharSequence);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;Ljava/lang/CharSequence;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.media.MediaRouter$RouteInfo info
        start local 2 // java.lang.CharSequence name
         0: .line 2591
            aload 0 /* this */
            iconst_1
            putfield android.media.MediaRouter$RouteGroup.mUpdateName:Z
         1: .line 2592
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.routeUpdated:()V
         2: .line 2593
            return
        end local 2 // java.lang.CharSequence name
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/MediaRouter$RouteGroup;
            0    3     1  info  Landroid/media/MediaRouter$RouteInfo;
            0    3     2  name  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      info  
      name  

  void memberStatusChanged(android.media.MediaRouter$RouteInfo, java.lang.CharSequence);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;Ljava/lang/CharSequence;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.media.MediaRouter$RouteInfo info
        start local 2 // java.lang.CharSequence status
         0: .line 2596
            aload 0 /* this */
            aload 2 /* status */
            invokevirtual android.media.MediaRouter$RouteGroup.setStatusInt:(Ljava/lang/CharSequence;)V
         1: .line 2597
            return
        end local 2 // java.lang.CharSequence status
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/media/MediaRouter$RouteGroup;
            0    2     1    info  Landroid/media/MediaRouter$RouteInfo;
            0    2     2  status  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      info    
      status  

  void memberVolumeChanged(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.media.MediaRouter$RouteGroup this
        start local 1 // android.media.MediaRouter$RouteInfo info
         0: .line 2600
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.updateVolume:()V
         1: .line 2601
            return
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter$RouteGroup;
            0    2     1  info  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
      Name  Flags
      info  

  void updateVolume();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // android.media.MediaRouter$RouteGroup this
         0: .line 2605
            aload 0 /* this */
            invokevirtual android.media.MediaRouter$RouteGroup.getRouteCount:()I
            istore 1 /* routeCount */
        start local 1 // int routeCount
         1: .line 2606
            iconst_0
            istore 2 /* volume */
        start local 2 // int volume
         2: .line 2607
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 2608
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual android.media.MediaRouter$RouteGroup.getRouteAt:(I)Landroid/media/MediaRouter$RouteInfo;
            invokevirtual android.media.MediaRouter$RouteInfo.getVolume:()I
            istore 4 /* routeVol */
        start local 4 // int routeVol
         5: .line 2609
            iload 4 /* routeVol */
            iload 2 /* volume */
            if_icmple 7
         6: .line 2610
            iload 4 /* routeVol */
            istore 2 /* volume */
        end local 4 // int routeVol
         7: .line 2607
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* routeCount */
            if_icmplt 4
        end local 3 // int i
         9: .line 2613
            iload 2 /* volume */
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mVolume:I
            if_icmpeq 12
        10: .line 2614
            aload 0 /* this */
            iload 2 /* volume */
            putfield android.media.MediaRouter$RouteGroup.mVolume:I
        11: .line 2615
            aload 0 /* this */
            invokestatic android.media.MediaRouter.dispatchRouteVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        12: .line 2617
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int volume
        end local 1 // int routeCount
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Landroid/media/MediaRouter$RouteGroup;
            1   13     1  routeCount  I
            2   13     2      volume  I
            3    9     3           i  I
            5    7     4    routeVol  I

  void routeUpdated();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // android.media.MediaRouter$RouteGroup this
         0: .line 2621
            iconst_0
            istore 1 /* types */
        start local 1 // int types
         1: .line 2622
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 2623
            iload 2 /* count */
            ifne 5
         3: .line 2625
            aload 0 /* this */
            invokestatic android.media.MediaRouter.removeRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
         4: .line 2626
            return
         5: .line 2629
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 3 /* maxVolume */
        start local 3 // int maxVolume
         6: .line 2630
            iconst_1
            istore 4 /* isLocal */
        start local 4 // boolean isLocal
         7: .line 2631
            iconst_1
            istore 5 /* isFixedVolume */
        start local 5 // boolean isFixedVolume
         8: .line 2632
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 22
        10: .line 2633
      StackMap locals: android.media.MediaRouter$RouteGroup int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            astore 7 /* route */
        start local 7 // android.media.MediaRouter$RouteInfo route
        11: .line 2634
            iload 1 /* types */
            aload 7 /* route */
            getfield android.media.MediaRouter$RouteInfo.mSupportedTypes:I
            ior
            istore 1 /* types */
        12: .line 2635
            aload 7 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getVolumeMax:()I
            istore 8 /* routeMaxVolume */
        start local 8 // int routeMaxVolume
        13: .line 2636
            iload 8 /* routeMaxVolume */
            iload 3 /* maxVolume */
            if_icmple 15
        14: .line 2637
            iload 8 /* routeMaxVolume */
            istore 3 /* maxVolume */
        15: .line 2639
      StackMap locals: android.media.MediaRouter$RouteInfo int
      StackMap stack:
            iload 4 /* isLocal */
            aload 7 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getPlaybackType:()I
            ifne 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack: int
        16: iconst_0
      StackMap locals: android.media.MediaRouter$RouteGroup int int int int int int android.media.MediaRouter$RouteInfo int
      StackMap stack: int int
        17: iand
            istore 4 /* isLocal */
        18: .line 2640
            iload 5 /* isFixedVolume */
            aload 7 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getVolumeHandling:()I
            ifne 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_0
      StackMap locals: android.media.MediaRouter$RouteGroup int int int int int int android.media.MediaRouter$RouteInfo int
      StackMap stack: int int
        20: iand
            istore 5 /* isFixedVolume */
        end local 8 // int routeMaxVolume
        end local 7 // android.media.MediaRouter$RouteInfo route
        21: .line 2632
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            iload 2 /* count */
            if_icmplt 10
        end local 6 // int i
        23: .line 2642
            aload 0 /* this */
            iload 4 /* isLocal */
            ifeq 24
            iconst_0
            goto 25
      StackMap locals: android.media.MediaRouter$RouteGroup int int int int int
      StackMap stack: android.media.MediaRouter$RouteGroup
        24: iconst_1
      StackMap locals: android.media.MediaRouter$RouteGroup int int int int int
      StackMap stack: android.media.MediaRouter$RouteGroup int
        25: putfield android.media.MediaRouter$RouteGroup.mPlaybackType:I
        26: .line 2643
            aload 0 /* this */
            iload 5 /* isFixedVolume */
            ifeq 27
            iconst_0
            goto 28
      StackMap locals:
      StackMap stack: android.media.MediaRouter$RouteGroup
        27: iconst_1
      StackMap locals: android.media.MediaRouter$RouteGroup int int int int int
      StackMap stack: android.media.MediaRouter$RouteGroup int
        28: putfield android.media.MediaRouter$RouteGroup.mVolumeHandling:I
        29: .line 2644
            aload 0 /* this */
            iload 1 /* types */
            putfield android.media.MediaRouter$RouteGroup.mSupportedTypes:I
        30: .line 2645
            aload 0 /* this */
            iload 3 /* maxVolume */
            putfield android.media.MediaRouter$RouteGroup.mVolumeMax:I
        31: .line 2646
            aload 0 /* this */
            iload 2 /* count */
            iconst_1
            if_icmpne 32
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            invokevirtual android.media.MediaRouter$RouteInfo.getIconDrawable:()Landroid/graphics/drawable/Drawable;
            goto 33
      StackMap locals:
      StackMap stack: android.media.MediaRouter$RouteGroup
        32: aconst_null
      StackMap locals: android.media.MediaRouter$RouteGroup int int int int int
      StackMap stack: android.media.MediaRouter$RouteGroup android.graphics.drawable.Drawable
        33: putfield android.media.MediaRouter$RouteGroup.mIcon:Landroid/graphics/drawable/Drawable;
        34: .line 2647
            aload 0 /* this */
            invokespecial android.media.MediaRouter$RouteInfo.routeUpdated:()V
        35: .line 2648
            return
        end local 5 // boolean isFixedVolume
        end local 4 // boolean isLocal
        end local 3 // int maxVolume
        end local 2 // int count
        end local 1 // int types
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   36     0            this  Landroid/media/MediaRouter$RouteGroup;
            1   36     1           types  I
            2   36     2           count  I
            6   36     3       maxVolume  I
            7   36     4         isLocal  Z
            8   36     5   isFixedVolume  Z
            9   23     6               i  I
           11   21     7           route  Landroid/media/MediaRouter$RouteInfo;
           13   21     8  routeMaxVolume  I

  void updateName();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // android.media.MediaRouter$RouteGroup this
         0: .line 2651
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 2652
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 2653
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 2654
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            astore 4 /* info */
        start local 4 // android.media.MediaRouter$RouteInfo info
         5: .line 2656
            iload 3 /* i */
            ifle 7
         6: .line 2657
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 2659
      StackMap locals: android.media.MediaRouter$RouteInfo
      StackMap stack:
            aload 1 /* sb */
            aload 4 /* info */
            invokevirtual android.media.MediaRouter$RouteInfo.getName:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 4 // android.media.MediaRouter$RouteInfo info
         8: .line 2653
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 3 // int i
        10: .line 2661
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield android.media.MediaRouter$RouteGroup.mName:Ljava/lang/CharSequence;
        11: .line 2662
            aload 0 /* this */
            iconst_0
            putfield android.media.MediaRouter$RouteGroup.mUpdateName:Z
        12: .line 2663
            return
        end local 2 // int count
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Landroid/media/MediaRouter$RouteGroup;
            1   13     1     sb  Ljava/lang/StringBuilder;
            2   13     2  count  I
            3   10     3      i  I
            5    8     4   info  Landroid/media/MediaRouter$RouteInfo;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.media.MediaRouter$RouteGroup this
         0: .line 2667
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial android.media.MediaRouter$RouteInfo.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 2668
            aload 1 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 2669
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* count */
        start local 2 // int count
         3: .line 2670
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 2671
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iload 3 /* i */
            ifle 6
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 2672
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield android.media.MediaRouter$RouteGroup.mRoutes:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         7: .line 2670
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 5
        end local 3 // int i
         9: .line 2674
            aload 1 /* sb */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 2675
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // int count
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.media.MediaRouter$RouteGroup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Landroid/media/MediaRouter$RouteGroup;
            1   11     1     sb  Ljava/lang/StringBuilder;
            3   11     2  count  I
            4    9     3      i  I
}
SourceFile: "MediaRouter.java"
NestHost: android.media.MediaRouter
InnerClasses:
  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