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

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

  static android.media.MediaRouter$Static sStatic;
    descriptor: Landroid/media/MediaRouter$Static;
    flags: (0x0008) ACC_STATIC

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

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

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

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

  static final int ROUTE_TYPE_ANY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8388615

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

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

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

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

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

  static final java.util.HashMap<android.content.Context, android.media.MediaRouter> sRouters;
    descriptor: Ljava/util/HashMap;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Landroid/content/Context;Landroid/media/MediaRouter;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 66
            ldc Landroid/media/MediaRouter;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic android.media.MediaRouter.$assertionsDisabled:Z
         3: .line 68
            ldc "MediaRouter"
            iconst_3
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            putstatic android.media.MediaRouter.DEBUG:Z
         4: .line 728
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic android.media.MediaRouter.sRouters:Ljava/util/HashMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.String typesToString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int types
         0: .line 731
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 732
            iload 0 /* types */
            iconst_1
            iand
            ifeq 3
         2: .line 733
            aload 1 /* result */
            ldc "ROUTE_TYPE_LIVE_AUDIO "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 735
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iload 0 /* types */
            iconst_2
            iand
            ifeq 5
         4: .line 736
            aload 1 /* result */
            ldc "ROUTE_TYPE_LIVE_VIDEO "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 738
      StackMap locals:
      StackMap stack:
            iload 0 /* types */
            iconst_4
            iand
            ifeq 7
         6: .line 739
            aload 1 /* result */
            ldc "ROUTE_TYPE_REMOTE_DISPLAY "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 741
      StackMap locals:
      StackMap stack:
            iload 0 /* types */
            ldc 8388608
            iand
            ifeq 9
         8: .line 742
            aload 1 /* result */
            ldc "ROUTE_TYPE_USER "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 744
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // int types
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0   types  I
            1   10     1  result  Ljava/lang/StringBuilder;
    MethodParameters:
       Name  Flags
      types  

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.content.Context context
         0: .line 748
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 749
            ldc Landroid/media/MediaRouter$Static;
            dup
            astore 2
            monitorenter
         2: .line 750
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            ifnonnull 6
         3: .line 751
            aload 1 /* context */
            invokevirtual android.content.Context.getApplicationContext:()Landroid/content/Context;
            astore 3 /* appContext */
        start local 3 // android.content.Context appContext
         4: .line 752
            new android.media.MediaRouter$Static
            dup
            aload 3 /* appContext */
            invokespecial android.media.MediaRouter$Static.<init>:(Landroid/content/Context;)V
            putstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
         5: .line 753
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            aload 3 /* appContext */
            invokevirtual android.media.MediaRouter$Static.startMonitoringRoutes:(Landroid/content/Context;)V
        end local 3 // android.content.Context appContext
         6: .line 749
      StackMap locals: android.media.MediaRouter android.content.Context java.lang.Class
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 756
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.content.Context context
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Landroid/media/MediaRouter;
            0   11     1     context  Landroid/content/Context;
            4    6     3  appContext  Landroid/content/Context;
      Exception table:
        from    to  target  type
           2     7       8  any
           8     9       8  any
    MethodParameters:
         Name  Flags
      context  

  public android.media.MediaRouter$RouteInfo getDefaultRoute();
    descriptor: ()Landroid/media/MediaRouter$RouteInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter this
         0: .line 767
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            areturn
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaRouter;

  public android.media.MediaRouter$RouteInfo getFallbackRoute();
    descriptor: ()Landroid/media/MediaRouter$RouteInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter this
         0: .line 775
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            ifnull 2
         1: .line 776
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
         3: .line 775
      StackMap locals:
      StackMap stack: android.media.MediaRouter$RouteInfo
            areturn
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/MediaRouter;

  public android.media.MediaRouter$RouteCategory getSystemCategory();
    descriptor: ()Landroid/media/MediaRouter$RouteCategory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter this
         0: .line 783
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mSystemCategory:Landroid/media/MediaRouter$RouteCategory;
            areturn
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaRouter;

  public android.media.MediaRouter$RouteInfo getSelectedRoute();
    descriptor: ()Landroid/media/MediaRouter$RouteInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.MediaRouter this
         0: .line 788
            aload 0 /* this */
            ldc 8388615
            invokevirtual android.media.MediaRouter.getSelectedRoute:(I)Landroid/media/MediaRouter$RouteInfo;
            areturn
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaRouter;

  public android.media.MediaRouter$RouteInfo getSelectedRoute(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 this
        start local 1 // int type
         0: .line 798
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mSelectedRoute:Landroid/media/MediaRouter$RouteInfo;
            ifnull 3
         1: .line 799
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mSelectedRoute:Landroid/media/MediaRouter$RouteInfo;
            getfield android.media.MediaRouter$RouteInfo.mSupportedTypes:I
            iload 1 /* type */
            iand
            ifeq 3
         2: .line 802
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mSelectedRoute:Landroid/media/MediaRouter$RouteInfo;
            areturn
         3: .line 803
      StackMap locals:
      StackMap stack:
            iload 1 /* type */
            ldc 8388608
            if_icmpne 5
         4: .line 806
            aconst_null
            areturn
         5: .line 810
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            areturn
        end local 1 // int type
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/media/MediaRouter;
            0    6     1  type  I
    MethodParameters:
      Name  Flags
      type  

  public boolean isRouteAvailable(int, int);
    descriptor: (II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // android.media.MediaRouter this
        start local 1 // int types
        start local 2 // int flags
         0: .line 830
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* count */
        start local 3 // int count
         1: .line 831
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 832
      StackMap locals: int int
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            astore 5 /* route */
        start local 5 // android.media.MediaRouter$RouteInfo route
         4: .line 833
            aload 5 /* route */
            iload 1 /* types */
            invokevirtual android.media.MediaRouter$RouteInfo.matchesTypes:(I)Z
            ifeq 8
         5: .line 834
            iload 2 /* flags */
            iconst_1
            iand
            ifeq 7
         6: .line 835
            aload 5 /* route */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            if_acmpeq 8
         7: .line 836
      StackMap locals: android.media.MediaRouter$RouteInfo
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // android.media.MediaRouter$RouteInfo route
         8: .line 831
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 3
        end local 4 // int i
        10: .line 842
            iconst_0
            ireturn
        end local 3 // int count
        end local 2 // int flags
        end local 1 // int types
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Landroid/media/MediaRouter;
            0   11     1  types  I
            0   11     2  flags  I
            1   11     3  count  I
            2   10     4      i  I
            4    8     5  route  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
       Name  Flags
      types  
      flags  

  public void addCallback(int, android.media.MediaRouter$Callback);
    descriptor: (ILandroid/media/MediaRouter$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.media.MediaRouter this
        start local 1 // int types
        start local 2 // android.media.MediaRouter$Callback cb
         0: .line 858
            aload 0 /* this */
            iload 1 /* types */
            aload 2 /* cb */
            iconst_0
            invokevirtual android.media.MediaRouter.addCallback:(ILandroid/media/MediaRouter$Callback;I)V
         1: .line 859
            return
        end local 2 // android.media.MediaRouter$Callback cb
        end local 1 // int types
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/media/MediaRouter;
            0    2     1  types  I
            0    2     2     cb  Landroid/media/MediaRouter$Callback;
    MethodParameters:
       Name  Flags
      types  
      cb     

  public void addCallback(int, android.media.MediaRouter$Callback, int);
    descriptor: (ILandroid/media/MediaRouter$Callback;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // android.media.MediaRouter this
        start local 1 // int types
        start local 2 // android.media.MediaRouter$Callback cb
        start local 3 // int flags
         0: .line 879
            aload 0 /* this */
            aload 2 /* cb */
            invokevirtual android.media.MediaRouter.findCallbackInfo:(Landroid/media/MediaRouter$Callback;)I
            istore 5 /* index */
        start local 5 // int index
         1: .line 880
            iload 5 /* index */
            iflt 6
         2: .line 881
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            iload 5 /* index */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 4 /* info */
        start local 4 // android.media.MediaRouter$CallbackInfo info
         3: .line 882
            aload 4 /* info */
            dup
            getfield android.media.MediaRouter$CallbackInfo.type:I
            iload 1 /* types */
            ior
            putfield android.media.MediaRouter$CallbackInfo.type:I
         4: .line 883
            aload 4 /* info */
            dup
            getfield android.media.MediaRouter$CallbackInfo.flags:I
            iload 3 /* flags */
            ior
            putfield android.media.MediaRouter$CallbackInfo.flags:I
         5: .line 884
            goto 8
        end local 4 // android.media.MediaRouter$CallbackInfo info
         6: .line 885
      StackMap locals: android.media.MediaRouter int android.media.MediaRouter$Callback int top int
      StackMap stack:
            new android.media.MediaRouter$CallbackInfo
            dup
            aload 2 /* cb */
            iload 1 /* types */
            iload 3 /* flags */
            aload 0 /* this */
            invokespecial android.media.MediaRouter$CallbackInfo.<init>:(Landroid/media/MediaRouter$Callback;IILandroid/media/MediaRouter;)V
            astore 4 /* info */
        start local 4 // android.media.MediaRouter$CallbackInfo info
         7: .line 886
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            aload 4 /* info */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 888
      StackMap locals: android.media.MediaRouter int android.media.MediaRouter$Callback int android.media.MediaRouter$CallbackInfo int
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            invokevirtual android.media.MediaRouter$Static.updateDiscoveryRequest:()V
         9: .line 889
            return
        end local 5 // int index
        end local 4 // android.media.MediaRouter$CallbackInfo info
        end local 3 // int flags
        end local 2 // android.media.MediaRouter$Callback cb
        end local 1 // int types
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Landroid/media/MediaRouter;
            0   10     1  types  I
            0   10     2     cb  Landroid/media/MediaRouter$Callback;
            0   10     3  flags  I
            3    6     4   info  Landroid/media/MediaRouter$CallbackInfo;
            7   10     4   info  Landroid/media/MediaRouter$CallbackInfo;
            1   10     5  index  I
    MethodParameters:
       Name  Flags
      types  
      cb     
      flags  

  public void removeCallback(android.media.MediaRouter$Callback);
    descriptor: (Landroid/media/MediaRouter$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.media.MediaRouter$Callback cb
         0: .line 897
            aload 0 /* this */
            aload 1 /* cb */
            invokevirtual android.media.MediaRouter.findCallbackInfo:(Landroid/media/MediaRouter$Callback;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 898
            iload 2 /* index */
            iflt 5
         2: .line 899
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            iload 2 /* index */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(I)Ljava/lang/Object;
            pop
         3: .line 900
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            invokevirtual android.media.MediaRouter$Static.updateDiscoveryRequest:()V
         4: .line 901
            goto 6
         5: .line 902
      StackMap locals: int
      StackMap stack:
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "removeCallback("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cb */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "): callback not registered"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         6: .line 904
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int index
        end local 1 // android.media.MediaRouter$Callback cb
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/media/MediaRouter;
            0    7     1     cb  Landroid/media/MediaRouter$Callback;
            1    7     2  index  I
    MethodParameters:
      Name  Flags
      cb    

  private int findCallbackInfo(android.media.MediaRouter$Callback);
    descriptor: (Landroid/media/MediaRouter$Callback;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.media.MediaRouter$Callback cb
         0: .line 907
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.size:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 908
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 909
      StackMap locals: int int
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            iload 3 /* i */
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 4 /* info */
        start local 4 // android.media.MediaRouter$CallbackInfo info
         4: .line 910
            aload 4 /* info */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 1 /* cb */
            if_acmpne 6
         5: .line 911
            iload 3 /* i */
            ireturn
        end local 4 // android.media.MediaRouter$CallbackInfo info
         6: .line 908
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 3
        end local 3 // int i
         8: .line 914
            iconst_m1
            ireturn
        end local 2 // int count
        end local 1 // android.media.MediaRouter$Callback cb
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Landroid/media/MediaRouter;
            0    9     1     cb  Landroid/media/MediaRouter$Callback;
            1    9     2  count  I
            2    8     3      i  I
            4    6     4   info  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
      Name  Flags
      cb    

  public void selectRoute(int, android.media.MediaRouter$RouteInfo);
    descriptor: (ILandroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaRouter this
        start local 1 // int types
        start local 2 // android.media.MediaRouter$RouteInfo route
         0: .line 931
            aload 2 /* route */
            ifnonnull 2
         1: .line 932
            new java.lang.IllegalArgumentException
            dup
            ldc "Route cannot be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 934
      StackMap locals:
      StackMap stack:
            iload 1 /* types */
            aload 2 /* route */
            iconst_1
            invokestatic android.media.MediaRouter.selectRouteStatic:(ILandroid/media/MediaRouter$RouteInfo;Z)V
         3: .line 935
            return
        end local 2 // android.media.MediaRouter$RouteInfo route
        end local 1 // int types
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/media/MediaRouter;
            0    4     1  types  I
            0    4     2  route  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
       Name  Flags
      types  
      route  

  public void selectRouteInt(int, android.media.MediaRouter$RouteInfo, boolean);
    descriptor: (ILandroid/media/MediaRouter$RouteInfo;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.media.MediaRouter this
        start local 1 // int types
        start local 2 // android.media.MediaRouter$RouteInfo route
        start local 3 // boolean explicit
         0: .line 941
            iload 1 /* types */
            aload 2 /* route */
            iload 3 /* explicit */
            invokestatic android.media.MediaRouter.selectRouteStatic:(ILandroid/media/MediaRouter$RouteInfo;Z)V
         1: .line 942
            return
        end local 3 // boolean explicit
        end local 2 // android.media.MediaRouter$RouteInfo route
        end local 1 // int types
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/media/MediaRouter;
            0    2     1     types  I
            0    2     2     route  Landroid/media/MediaRouter$RouteInfo;
            0    2     3  explicit  Z
    MethodParameters:
          Name  Flags
      types     
      route     
      explicit  

  static void selectRouteStatic(int, android.media.MediaRouter$RouteInfo, boolean);
    descriptor: (ILandroid/media/MediaRouter$RouteInfo;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // int types
        start local 1 // android.media.MediaRouter$RouteInfo route
        start local 2 // boolean explicit
         0: .line 945
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "Selecting route: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* route */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 946
            getstatic android.media.MediaRouter.$assertionsDisabled:Z
            ifne 2
            aload 1 /* route */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 947
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mSelectedRoute:Landroid/media/MediaRouter$RouteInfo;
            astore 3 /* oldRoute */
        start local 3 // android.media.MediaRouter$RouteInfo oldRoute
         3: .line 948
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            invokevirtual android.media.MediaRouter$Static.isBluetoothA2dpOn:()Z
            ifeq 5
         4: .line 949
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            goto 6
      StackMap locals: android.media.MediaRouter$RouteInfo
      StackMap stack:
         5: getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
         6: .line 948
      StackMap locals:
      StackMap stack: android.media.MediaRouter$RouteInfo
            astore 4 /* currentSystemRoute */
        start local 4 // android.media.MediaRouter$RouteInfo currentSystemRoute
         7: .line 950
            aload 3 /* oldRoute */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            if_acmpeq 10
         8: .line 951
            aload 3 /* oldRoute */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            if_acmpeq 10
         9: .line 950
            iconst_0
            goto 11
      StackMap locals: android.media.MediaRouter$RouteInfo
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* wasDefaultOrBluetoothRoute */
        start local 5 // boolean wasDefaultOrBluetoothRoute
        12: .line 952
            aload 3 /* oldRoute */
            aload 1 /* route */
            if_acmpne 15
        13: .line 953
            iload 5 /* wasDefaultOrBluetoothRoute */
            ifeq 14
            aload 1 /* route */
            aload 4 /* currentSystemRoute */
            if_acmpne 15
        14: .line 954
      StackMap locals: int
      StackMap stack:
            return
        15: .line 956
      StackMap locals:
      StackMap stack:
            aload 1 /* route */
            iload 0 /* types */
            invokevirtual android.media.MediaRouter$RouteInfo.matchesTypes:(I)Z
            ifne 21
        16: .line 957
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "selectRoute ignored; cannot select route with supported types "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 958
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getSupportedTypes:()I
            invokestatic android.media.MediaRouter.typesToString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " into route types "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 959
            iload 0 /* types */
            invokestatic android.media.MediaRouter.typesToString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 957
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        20: .line 960
            return
        21: .line 963
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            astore 6 /* btRoute */
        start local 6 // android.media.MediaRouter$RouteInfo btRoute
        22: .line 964
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            invokevirtual android.media.MediaRouter$Static.isPlaybackActive:()Z
            ifeq 45
            aload 6 /* btRoute */
            ifnull 45
            iload 0 /* types */
            iconst_1
            iand
            ifeq 45
        23: .line 965
            aload 1 /* route */
            aload 6 /* btRoute */
            if_acmpeq 24
            aload 1 /* route */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            if_acmpne 45
        24: .line 967
      StackMap locals: android.media.MediaRouter$RouteInfo
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mAudioService:Landroid/media/IAudioService;
            aload 1 /* route */
            aload 6 /* btRoute */
            if_acmpne 25
            iconst_1
            goto 26
      StackMap locals:
      StackMap stack: android.media.IAudioService
        25: iconst_0
      StackMap locals: int android.media.MediaRouter$RouteInfo int android.media.MediaRouter$RouteInfo android.media.MediaRouter$RouteInfo int android.media.MediaRouter$RouteInfo
      StackMap stack: android.media.IAudioService int
        26: invokeinterface android.media.IAudioService.setBluetoothA2dpOn:(Z)V
        27: .line 969
            aload 1 /* route */
            aload 6 /* btRoute */
            if_acmpeq 45
        28: .line 970
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 7 /* callStack */
        start local 7 // java.lang.StackTraceElement[] callStack
        29: .line 971
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 8 /* sb */
        start local 8 // java.lang.StringBuffer sb
        30: .line 973
            iconst_3
            istore 9 /* i */
        start local 9 // int i
        31: goto 38
        32: .line 974
      StackMap locals: java.lang.StackTraceElement[] java.lang.StringBuffer int
      StackMap stack:
            aload 7 /* callStack */
            iload 9 /* i */
            aaload
            astore 10 /* caller */
        start local 10 // java.lang.StackTraceElement caller
        33: .line 975
            aload 8 /* sb */
            new java.lang.StringBuilder
            dup
            aload 10 /* caller */
            invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* caller */
            invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 976
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* caller */
            invokevirtual java.lang.StackTraceElement.getLineNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 975
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
        36: .line 976
            ldc "  "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 10 // java.lang.StackTraceElement caller
        37: .line 973
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 9 /* i */
            aload 7 /* callStack */
            arraylength
            if_icmplt 32
        end local 9 // int i
        39: .line 978
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "Default route is selected while a BT route is available: pkgName="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        40: .line 979
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mPackageName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", callers="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 978
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 8 // java.lang.StringBuffer sb
        end local 7 // java.lang.StackTraceElement[] callStack
        42: .line 981
            goto 45
      StackMap locals: int android.media.MediaRouter$RouteInfo int android.media.MediaRouter$RouteInfo android.media.MediaRouter$RouteInfo int android.media.MediaRouter$RouteInfo
      StackMap stack: android.os.RemoteException
        43: astore 7 /* e */
        start local 7 // android.os.RemoteException e
        44: .line 982
            ldc "MediaRouter"
            ldc "Error changing Bluetooth A2DP state"
            aload 7 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 7 // android.os.RemoteException e
        45: .line 987
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDisplayService:Landroid/hardware/display/DisplayManager;
            invokevirtual android.hardware.display.DisplayManager.getWifiDisplayStatus:()Landroid/hardware/display/WifiDisplayStatus;
            invokevirtual android.hardware.display.WifiDisplayStatus.getActiveDisplay:()Landroid/hardware/display/WifiDisplay;
        46: .line 986
            astore 7 /* activeDisplay */
        start local 7 // android.hardware.display.WifiDisplay activeDisplay
        47: .line 988
            aload 3 /* oldRoute */
            ifnull 48
            aload 3 /* oldRoute */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            ifnull 48
            iconst_1
            goto 49
      StackMap locals: android.hardware.display.WifiDisplay
      StackMap stack:
        48: iconst_0
      StackMap locals:
      StackMap stack: int
        49: istore 8 /* oldRouteHasAddress */
        start local 8 // boolean oldRouteHasAddress
        50: .line 989
            aload 1 /* route */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            ifnull 51
            iconst_1
            goto 52
      StackMap locals: int
      StackMap stack:
        51: iconst_0
      StackMap locals:
      StackMap stack: int
        52: istore 9 /* newRouteHasAddress */
        start local 9 // boolean newRouteHasAddress
        53: .line 990
            aload 7 /* activeDisplay */
            ifnonnull 54
            iload 8 /* oldRouteHasAddress */
            ifne 54
            iload 9 /* newRouteHasAddress */
            ifeq 62
        54: .line 991
      StackMap locals: int
      StackMap stack:
            iload 9 /* newRouteHasAddress */
            ifeq 60
            aload 7 /* activeDisplay */
            aload 1 /* route */
            invokestatic android.media.MediaRouter.matchesDeviceAddress:(Landroid/hardware/display/WifiDisplay;Landroid/media/MediaRouter$RouteInfo;)Z
            ifne 60
        55: .line 992
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCanConfigureWifiDisplays:Z
            ifeq 58
        56: .line 993
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDisplayService:Landroid/hardware/display/DisplayManager;
            aload 1 /* route */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            invokevirtual android.hardware.display.DisplayManager.connectWifiDisplay:(Ljava/lang/String;)V
        57: .line 994
            goto 62
        58: .line 995
      StackMap locals:
      StackMap stack:
            ldc "MediaRouter"
            ldc "Cannot connect to wifi displays because this process is not allowed to do so."
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        59: .line 998
            goto 62
      StackMap locals:
      StackMap stack:
        60: aload 7 /* activeDisplay */
            ifnull 62
            iload 9 /* newRouteHasAddress */
            ifne 62
        61: .line 999
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDisplayService:Landroid/hardware/display/DisplayManager;
            invokevirtual android.hardware.display.DisplayManager.disconnectWifiDisplay:()V
        62: .line 1003
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            aload 1 /* route */
            iload 2 /* explicit */
            invokevirtual android.media.MediaRouter$Static.setSelectedRoute:(Landroid/media/MediaRouter$RouteInfo;Z)V
        63: .line 1005
            aload 3 /* oldRoute */
            ifnull 67
        64: .line 1006
            iload 0 /* types */
            aload 3 /* oldRoute */
            invokevirtual android.media.MediaRouter$RouteInfo.getSupportedTypes:()I
            iand
            aload 3 /* oldRoute */
            invokestatic android.media.MediaRouter.dispatchRouteUnselected:(ILandroid/media/MediaRouter$RouteInfo;)V
        65: .line 1007
            aload 3 /* oldRoute */
            invokevirtual android.media.MediaRouter$RouteInfo.resolveStatusCode:()Z
            ifeq 67
        66: .line 1008
            aload 3 /* oldRoute */
            invokestatic android.media.MediaRouter.dispatchRouteChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        67: .line 1011
      StackMap locals:
      StackMap stack:
            aload 1 /* route */
            ifnull 71
        68: .line 1012
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.resolveStatusCode:()Z
            ifeq 70
        69: .line 1013
            aload 1 /* route */
            invokestatic android.media.MediaRouter.dispatchRouteChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        70: .line 1015
      StackMap locals:
      StackMap stack:
            iload 0 /* types */
            aload 1 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getSupportedTypes:()I
            iand
            aload 1 /* route */
            invokestatic android.media.MediaRouter.dispatchRouteSelected:(ILandroid/media/MediaRouter$RouteInfo;)V
        71: .line 1019
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            invokevirtual android.media.MediaRouter$Static.updateDiscoveryRequest:()V
        72: .line 1020
            return
        end local 9 // boolean newRouteHasAddress
        end local 8 // boolean oldRouteHasAddress
        end local 7 // android.hardware.display.WifiDisplay activeDisplay
        end local 6 // android.media.MediaRouter$RouteInfo btRoute
        end local 5 // boolean wasDefaultOrBluetoothRoute
        end local 4 // android.media.MediaRouter$RouteInfo currentSystemRoute
        end local 3 // android.media.MediaRouter$RouteInfo oldRoute
        end local 2 // boolean explicit
        end local 1 // android.media.MediaRouter$RouteInfo route
        end local 0 // int types
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   73     0                       types  I
            0   73     1                       route  Landroid/media/MediaRouter$RouteInfo;
            0   73     2                    explicit  Z
            3   73     3                    oldRoute  Landroid/media/MediaRouter$RouteInfo;
            7   73     4          currentSystemRoute  Landroid/media/MediaRouter$RouteInfo;
           12   73     5  wasDefaultOrBluetoothRoute  Z
           22   73     6                     btRoute  Landroid/media/MediaRouter$RouteInfo;
           29   42     7                   callStack  [Ljava/lang/StackTraceElement;
           30   42     8                          sb  Ljava/lang/StringBuffer;
           31   39     9                           i  I
           33   37    10                      caller  Ljava/lang/StackTraceElement;
           44   45     7                           e  Landroid/os/RemoteException;
           47   73     7               activeDisplay  Landroid/hardware/display/WifiDisplay;
           50   73     8          oldRouteHasAddress  Z
           53   73     9          newRouteHasAddress  Z
      Exception table:
        from    to  target  type
          24    42      43  Class android.os.RemoteException
    MethodParameters:
          Name  Flags
      types     
      route     
      explicit  

  static void selectDefaultRouteStatic();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 1024
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mSelectedRoute:Landroid/media/MediaRouter$RouteInfo;
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            if_acmpeq 3
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            invokevirtual android.media.MediaRouter$Static.isBluetoothA2dpOn:()Z
            ifeq 3
         1: .line 1025
            ldc 8388615
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            iconst_0
            invokestatic android.media.MediaRouter.selectRouteStatic:(ILandroid/media/MediaRouter$RouteInfo;Z)V
         2: .line 1026
            goto 4
         3: .line 1027
      StackMap locals:
      StackMap stack:
            ldc 8388615
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            iconst_0
            invokestatic android.media.MediaRouter.selectRouteStatic:(ILandroid/media/MediaRouter$RouteInfo;Z)V
         4: .line 1029
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean matchesDeviceAddress(android.hardware.display.WifiDisplay, android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/hardware/display/WifiDisplay;Landroid/media/MediaRouter$RouteInfo;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.hardware.display.WifiDisplay display
        start local 1 // android.media.MediaRouter$RouteInfo info
         0: .line 1036
            aload 1 /* info */
            ifnull 1
            aload 1 /* info */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* routeHasAddress */
        start local 2 // boolean routeHasAddress
         3: .line 1037
            aload 0 /* display */
            ifnonnull 5
            iload 2 /* routeHasAddress */
            ifne 5
         4: .line 1038
            iconst_1
            ireturn
         5: .line 1041
      StackMap locals: int
      StackMap stack:
            aload 0 /* display */
            ifnull 7
            iload 2 /* routeHasAddress */
            ifeq 7
         6: .line 1042
            aload 0 /* display */
            invokevirtual android.hardware.display.WifiDisplay.getDeviceAddress:()Ljava/lang/String;
            aload 1 /* info */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         7: .line 1044
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // boolean routeHasAddress
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // android.hardware.display.WifiDisplay display
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0          display  Landroid/hardware/display/WifiDisplay;
            0    8     1             info  Landroid/media/MediaRouter$RouteInfo;
            3    8     2  routeHasAddress  Z
    MethodParameters:
         Name  Flags
      display  
      info     

  public void addUserRoute(android.media.MediaRouter$UserRouteInfo);
    descriptor: (Landroid/media/MediaRouter$UserRouteInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.media.MediaRouter$UserRouteInfo info
         0: .line 1056
            aload 1 /* info */
            invokestatic android.media.MediaRouter.addRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
         1: .line 1057
            return
        end local 1 // android.media.MediaRouter$UserRouteInfo info
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter;
            0    2     1  info  Landroid/media/MediaRouter$UserRouteInfo;
    MethodParameters:
      Name  Flags
      info  

  public void addRouteInt(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.media.MediaRouter$RouteInfo info
         0: .line 1063
            aload 1 /* info */
            invokestatic android.media.MediaRouter.addRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
         1: .line 1064
            return
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter;
            0    2     1  info  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
      Name  Flags
      info  

  static void addRouteStatic(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1067
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "Adding route: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* info */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 1068
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            astore 1 /* cat */
        start local 1 // android.media.MediaRouter$RouteCategory cat
         2: .line 1069
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCategories:Ljava/util/ArrayList;
            aload 1 /* cat */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 1070
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCategories:Ljava/util/ArrayList;
            aload 1 /* cat */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1072
      StackMap locals: android.media.MediaRouter$RouteCategory
      StackMap stack:
            aload 1 /* cat */
            invokevirtual android.media.MediaRouter$RouteCategory.isGroupable:()Z
            ifeq 12
            aload 0 /* info */
            instanceof android.media.MediaRouter$RouteGroup
            ifne 12
         5: .line 1074
            new android.media.MediaRouter$RouteGroup
            dup
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            invokespecial android.media.MediaRouter$RouteGroup.<init>:(Landroid/media/MediaRouter$RouteCategory;)V
            astore 2 /* group */
        start local 2 // android.media.MediaRouter$RouteGroup group
         6: .line 1075
            aload 2 /* group */
            aload 0 /* info */
            getfield android.media.MediaRouter$RouteInfo.mSupportedTypes:I
            putfield android.media.MediaRouter$RouteGroup.mSupportedTypes:I
         7: .line 1076
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            aload 2 /* group */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1077
            aload 2 /* group */
            invokestatic android.media.MediaRouter.dispatchRouteAdded:(Landroid/media/MediaRouter$RouteInfo;)V
         9: .line 1078
            aload 2 /* group */
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$RouteGroup.addRoute:(Landroid/media/MediaRouter$RouteInfo;)V
        10: .line 1080
            aload 2 /* group */
            astore 0 /* info */
        end local 2 // android.media.MediaRouter$RouteGroup group
        11: .line 1081
            goto 14
        12: .line 1082
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            aload 0 /* info */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1083
            aload 0 /* info */
            invokestatic android.media.MediaRouter.dispatchRouteAdded:(Landroid/media/MediaRouter$RouteInfo;)V
        14: .line 1085
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.MediaRouter$RouteCategory cat
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   info  Landroid/media/MediaRouter$RouteInfo;
            2   15     1    cat  Landroid/media/MediaRouter$RouteCategory;
            6   11     2  group  Landroid/media/MediaRouter$RouteGroup;
    MethodParameters:
      Name  Flags
      info  

  public void removeUserRoute(android.media.MediaRouter$UserRouteInfo);
    descriptor: (Landroid/media/MediaRouter$UserRouteInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.media.MediaRouter$UserRouteInfo info
         0: .line 1094
            aload 1 /* info */
            invokestatic android.media.MediaRouter.removeRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
         1: .line 1095
            return
        end local 1 // android.media.MediaRouter$UserRouteInfo info
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter;
            0    2     1  info  Landroid/media/MediaRouter$UserRouteInfo;
    MethodParameters:
      Name  Flags
      info  

  public void clearUserRoutes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.media.MediaRouter this
         0: .line 1103
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 7
         2: .line 1104
      StackMap locals: int
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            iload 1 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            astore 2 /* info */
        start local 2 // android.media.MediaRouter$RouteInfo info
         3: .line 1107
            aload 2 /* info */
            instanceof android.media.MediaRouter$UserRouteInfo
            ifne 4
            aload 2 /* info */
            instanceof android.media.MediaRouter$RouteGroup
            ifeq 6
         4: .line 1108
      StackMap locals: android.media.MediaRouter$RouteInfo
      StackMap stack:
            aload 2 /* info */
            invokestatic android.media.MediaRouter.removeRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
         5: .line 1109
            iinc 1 /* i */ -1
        end local 2 // android.media.MediaRouter$RouteInfo info
         6: .line 1103
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 2
        end local 1 // int i
         8: .line 1112
            return
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/media/MediaRouter;
            1    8     1     i  I
            3    6     2  info  Landroid/media/MediaRouter$RouteInfo;

  public void removeRouteInt(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.media.MediaRouter$RouteInfo info
         0: .line 1118
            aload 1 /* info */
            invokestatic android.media.MediaRouter.removeRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
         1: .line 1119
            return
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/MediaRouter;
            0    2     1  info  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
      Name  Flags
      info  

  static void removeRouteStatic(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1122
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "Removing route: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* info */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         1: .line 1123
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            aload 0 /* info */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            ifeq 18
         2: .line 1124
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            astore 1 /* removingCat */
        start local 1 // android.media.MediaRouter$RouteCategory removingCat
         3: .line 1125
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* count */
        start local 2 // int count
         4: .line 1126
            iconst_0
            istore 3 /* found */
        start local 3 // boolean found
         5: .line 1127
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 12
         7: .line 1128
      StackMap locals: android.media.MediaRouter$RouteInfo android.media.MediaRouter$RouteCategory int int int
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            invokevirtual android.media.MediaRouter$RouteInfo.getCategory:()Landroid/media/MediaRouter$RouteCategory;
            astore 5 /* cat */
        start local 5 // android.media.MediaRouter$RouteCategory cat
         8: .line 1129
            aload 1 /* removingCat */
            aload 5 /* cat */
            if_acmpne 11
         9: .line 1130
            iconst_1
            istore 3 /* found */
        10: .line 1131
            goto 13
        end local 5 // android.media.MediaRouter$RouteCategory cat
        11: .line 1127
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 2 /* count */
            if_icmplt 7
        end local 4 // int i
        13: .line 1134
      StackMap locals:
      StackMap stack:
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$RouteInfo.isSelected:()Z
            ifeq 15
        14: .line 1136
            invokestatic android.media.MediaRouter.selectDefaultRouteStatic:()V
        15: .line 1138
      StackMap locals:
      StackMap stack:
            iload 3 /* found */
            ifne 17
        16: .line 1139
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCategories:Ljava/util/ArrayList;
            aload 1 /* removingCat */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
        17: .line 1141
      StackMap locals:
      StackMap stack:
            aload 0 /* info */
            invokestatic android.media.MediaRouter.dispatchRouteRemoved:(Landroid/media/MediaRouter$RouteInfo;)V
        end local 3 // boolean found
        end local 2 // int count
        end local 1 // android.media.MediaRouter$RouteCategory removingCat
        18: .line 1143
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         info  Landroid/media/MediaRouter$RouteInfo;
            3   18     1  removingCat  Landroid/media/MediaRouter$RouteCategory;
            4   18     2        count  I
            5   18     3        found  Z
            6   13     4            i  I
            8   11     5          cat  Landroid/media/MediaRouter$RouteCategory;
    MethodParameters:
      Name  Flags
      info  

  public int getCategoryCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter this
         0: .line 1152
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCategories:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaRouter;

  public android.media.MediaRouter$RouteCategory getCategoryAt(int);
    descriptor: (I)Landroid/media/MediaRouter$RouteCategory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // int index
         0: .line 1163
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCategories:Ljava/util/ArrayList;
            iload 1 /* index */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteCategory
            areturn
        end local 1 // int index
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/media/MediaRouter;
            0    1     1  index  I
    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 this
         0: .line 1173
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaRouter;

  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 this
        start local 1 // int index
         0: .line 1183
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.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 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/media/MediaRouter;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  static int getRouteCountStatic();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1187
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static android.media.MediaRouter$RouteInfo getRouteAtStatic(int);
    descriptor: (I)Landroid/media/MediaRouter$RouteInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int index
         0: .line 1191
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            iload 0 /* index */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            areturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  index  I
    MethodParameters:
       Name  Flags
      index  

  public android.media.MediaRouter$UserRouteInfo createUserRoute(android.media.MediaRouter$RouteCategory);
    descriptor: (Landroid/media/MediaRouter$RouteCategory;)Landroid/media/MediaRouter$UserRouteInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // android.media.MediaRouter$RouteCategory category
         0: .line 1205
            new android.media.MediaRouter$UserRouteInfo
            dup
            aload 1 /* category */
            invokespecial android.media.MediaRouter$UserRouteInfo.<init>:(Landroid/media/MediaRouter$RouteCategory;)V
            areturn
        end local 1 // android.media.MediaRouter$RouteCategory category
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/media/MediaRouter;
            0    1     1  category  Landroid/media/MediaRouter$RouteCategory;
    MethodParameters:
          Name  Flags
      category  

  public android.media.MediaRouter$RouteCategory createRouteCategory(java.lang.CharSequence, boolean);
    descriptor: (Ljava/lang/CharSequence;Z)Landroid/media/MediaRouter$RouteCategory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.media.MediaRouter this
        start local 1 // java.lang.CharSequence name
        start local 2 // boolean isGroupable
         0: .line 1216
            new android.media.MediaRouter$RouteCategory
            dup
            aload 1 /* name */
            ldc 8388608
            iload 2 /* isGroupable */
            invokespecial android.media.MediaRouter$RouteCategory.<init>:(Ljava/lang/CharSequence;IZ)V
            areturn
        end local 2 // boolean isGroupable
        end local 1 // java.lang.CharSequence name
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/media/MediaRouter;
            0    1     1         name  Ljava/lang/CharSequence;
            0    1     2  isGroupable  Z
    MethodParameters:
             Name  Flags
      name         
      isGroupable  

  public android.media.MediaRouter$RouteCategory createRouteCategory(int, boolean);
    descriptor: (IZ)Landroid/media/MediaRouter$RouteCategory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.media.MediaRouter this
        start local 1 // int nameResId
        start local 2 // boolean isGroupable
         0: .line 1227
            new android.media.MediaRouter$RouteCategory
            dup
            iload 1 /* nameResId */
            ldc 8388608
            iload 2 /* isGroupable */
            invokespecial android.media.MediaRouter$RouteCategory.<init>:(IIZ)V
            areturn
        end local 2 // boolean isGroupable
        end local 1 // int nameResId
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/media/MediaRouter;
            0    1     1    nameResId  I
            0    1     2  isGroupable  Z
    MethodParameters:
             Name  Flags
      nameResId    
      isGroupable  

  public void rebindAsUser(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.MediaRouter this
        start local 1 // int userId
         0: .line 1244
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            iload 1 /* userId */
            invokevirtual android.media.MediaRouter$Static.rebindAsUser:(I)V
         1: .line 1245
            return
        end local 1 // int userId
        end local 0 // android.media.MediaRouter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/media/MediaRouter;
            0    2     1  userId  I
    MethodParameters:
        Name  Flags
      userId  

  static void updateRoute(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1248
            aload 0 /* info */
            invokestatic android.media.MediaRouter.dispatchRouteChanged:(Landroid/media/MediaRouter$RouteInfo;)V
         1: .line 1249
            return
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  info  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
      Name  Flags
      info  final

  static void dispatchRouteSelected(int, android.media.MediaRouter$RouteInfo);
    descriptor: (ILandroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // int type
        start local 1 // android.media.MediaRouter$RouteInfo info
         0: .line 1252
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: int android.media.MediaRouter$RouteInfo top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 2 /* cbi */
        start local 2 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1253
            aload 2 /* cbi */
            aload 1 /* info */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1254
            aload 2 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 2 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            iload 0 /* type */
            aload 1 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteSelected:(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V
        end local 2 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1252
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1257
            return
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  type  I
            0    6     1  info  Landroid/media/MediaRouter$RouteInfo;
            2    4     2   cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
      Name  Flags
      type  
      info  

  static void dispatchRouteUnselected(int, android.media.MediaRouter$RouteInfo);
    descriptor: (ILandroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // int type
        start local 1 // android.media.MediaRouter$RouteInfo info
         0: .line 1260
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: int android.media.MediaRouter$RouteInfo top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 2 /* cbi */
        start local 2 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1261
            aload 2 /* cbi */
            aload 1 /* info */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1262
            aload 2 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 2 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            iload 0 /* type */
            aload 1 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteUnselected:(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V
        end local 2 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1260
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1265
            return
        end local 1 // android.media.MediaRouter$RouteInfo info
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  type  I
            0    6     1  info  Landroid/media/MediaRouter$RouteInfo;
            2    4     2   cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
      Name  Flags
      type  
      info  

  static void dispatchRouteChanged(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1268
            aload 0 /* info */
            aload 0 /* info */
            getfield android.media.MediaRouter$RouteInfo.mSupportedTypes:I
            invokestatic android.media.MediaRouter.dispatchRouteChanged:(Landroid/media/MediaRouter$RouteInfo;I)V
         1: .line 1269
            return
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  info  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
      Name  Flags
      info  

  static void dispatchRouteChanged(android.media.MediaRouter$RouteInfo, int);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.media.MediaRouter$RouteInfo info
        start local 1 // int oldSupportedTypes
         0: .line 1272
            getstatic android.media.MediaRouter.DEBUG:Z
            ifeq 2
         1: .line 1273
            ldc "MediaRouter"
            new java.lang.StringBuilder
            dup
            ldc "Dispatching route change: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* info */
            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
         2: .line 1275
      StackMap locals:
      StackMap stack:
            aload 0 /* info */
            getfield android.media.MediaRouter$RouteInfo.mSupportedTypes:I
            istore 2 /* newSupportedTypes */
        start local 2 // int newSupportedTypes
         3: .line 1276
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: android.media.MediaRouter$RouteInfo int int top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 3 /* cbi */
        start local 3 // android.media.MediaRouter$CallbackInfo cbi
         5: .line 1282
            aload 3 /* cbi */
            iload 1 /* oldSupportedTypes */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(I)Z
            istore 5 /* oldVisibility */
        start local 5 // boolean oldVisibility
         6: .line 1283
            aload 3 /* cbi */
            iload 2 /* newSupportedTypes */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(I)Z
            istore 6 /* newVisibility */
        start local 6 // boolean newVisibility
         7: .line 1284
            iload 5 /* oldVisibility */
            ifne 11
            iload 6 /* newVisibility */
            ifeq 11
         8: .line 1285
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteAdded:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
         9: .line 1286
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$RouteInfo.isSelected:()Z
            ifeq 11
        10: .line 1287
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            iload 2 /* newSupportedTypes */
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteSelected:(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V
        11: .line 1290
      StackMap locals: android.media.MediaRouter$RouteInfo int int android.media.MediaRouter$CallbackInfo java.util.Iterator int int
      StackMap stack:
            iload 5 /* oldVisibility */
            ifne 12
            iload 6 /* newVisibility */
            ifeq 13
        12: .line 1291
      StackMap locals:
      StackMap stack:
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteChanged:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
        13: .line 1293
      StackMap locals:
      StackMap stack:
            iload 5 /* oldVisibility */
            ifeq 17
            iload 6 /* newVisibility */
            ifne 17
        14: .line 1294
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$RouteInfo.isSelected:()Z
            ifeq 16
        15: .line 1295
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            iload 1 /* oldSupportedTypes */
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteUnselected:(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V
        16: .line 1297
      StackMap locals:
      StackMap stack:
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteRemoved:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
        end local 6 // boolean newVisibility
        end local 5 // boolean oldVisibility
        end local 3 // android.media.MediaRouter$CallbackInfo cbi
        17: .line 1276
      StackMap locals: android.media.MediaRouter$RouteInfo int int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        18: .line 1300
            return
        end local 2 // int newSupportedTypes
        end local 1 // int oldSupportedTypes
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               info  Landroid/media/MediaRouter$RouteInfo;
            0   19     1  oldSupportedTypes  I
            3   19     2  newSupportedTypes  I
            5   17     3                cbi  Landroid/media/MediaRouter$CallbackInfo;
            6   17     5      oldVisibility  Z
            7   17     6      newVisibility  Z
    MethodParameters:
                   Name  Flags
      info               
      oldSupportedTypes  

  static void dispatchRouteAdded(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1303
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: android.media.MediaRouter$RouteInfo top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 1 /* cbi */
        start local 1 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1304
            aload 1 /* cbi */
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1305
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteAdded:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
        end local 1 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1303
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1308
            return
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  info  Landroid/media/MediaRouter$RouteInfo;
            2    4     1   cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
      Name  Flags
      info  

  static void dispatchRouteRemoved(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1311
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: android.media.MediaRouter$RouteInfo top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 1 /* cbi */
        start local 1 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1312
            aload 1 /* cbi */
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1313
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteRemoved:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
        end local 1 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1311
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1316
            return
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  info  Landroid/media/MediaRouter$RouteInfo;
            2    4     1   cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
      Name  Flags
      info  

  static void dispatchRouteGrouped(android.media.MediaRouter$RouteInfo, android.media.MediaRouter$RouteGroup, int);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // android.media.MediaRouter$RouteInfo info
        start local 1 // android.media.MediaRouter$RouteGroup group
        start local 2 // int index
         0: .line 1319
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: android.media.MediaRouter$RouteInfo android.media.MediaRouter$RouteGroup int top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 3 /* cbi */
        start local 3 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1320
            aload 3 /* cbi */
            aload 1 /* group */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1321
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 3 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            aload 1 /* group */
            iload 2 /* index */
            invokevirtual android.media.MediaRouter$Callback.onRouteGrouped:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V
        end local 3 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1319
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1324
            return
        end local 2 // int index
        end local 1 // android.media.MediaRouter$RouteGroup group
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   info  Landroid/media/MediaRouter$RouteInfo;
            0    6     1  group  Landroid/media/MediaRouter$RouteGroup;
            0    6     2  index  I
            2    4     3    cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
       Name  Flags
      info   
      group  
      index  

  static void dispatchRouteUngrouped(android.media.MediaRouter$RouteInfo, android.media.MediaRouter$RouteGroup);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.media.MediaRouter$RouteInfo info
        start local 1 // android.media.MediaRouter$RouteGroup group
         0: .line 1327
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: android.media.MediaRouter$RouteInfo android.media.MediaRouter$RouteGroup top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 2 /* cbi */
        start local 2 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1328
            aload 2 /* cbi */
            aload 1 /* group */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1329
            aload 2 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 2 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            aload 1 /* group */
            invokevirtual android.media.MediaRouter$Callback.onRouteUngrouped:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V
        end local 2 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1327
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1332
            return
        end local 1 // android.media.MediaRouter$RouteGroup group
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   info  Landroid/media/MediaRouter$RouteInfo;
            0    6     1  group  Landroid/media/MediaRouter$RouteGroup;
            2    4     2    cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
       Name  Flags
      info   
      group  

  static void dispatchRouteVolumeChanged(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1335
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: android.media.MediaRouter$RouteInfo top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 1 /* cbi */
        start local 1 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1336
            aload 1 /* cbi */
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1337
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRouteVolumeChanged:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
        end local 1 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1335
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1340
            return
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  info  Landroid/media/MediaRouter$RouteInfo;
            2    4     1   cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
      Name  Flags
      info  

  static void dispatchRoutePresentationDisplayChanged(android.media.MediaRouter$RouteInfo);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.media.MediaRouter$RouteInfo info
         0: .line 1343
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCallbacks:Ljava/util/concurrent/CopyOnWriteArrayList;
            invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: android.media.MediaRouter$RouteInfo top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.media.MediaRouter$CallbackInfo
            astore 1 /* cbi */
        start local 1 // android.media.MediaRouter$CallbackInfo cbi
         2: .line 1344
            aload 1 /* cbi */
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$CallbackInfo.filterRouteEvent:(Landroid/media/MediaRouter$RouteInfo;)Z
            ifeq 4
         3: .line 1345
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.cb:Landroid/media/MediaRouter$Callback;
            aload 1 /* cbi */
            getfield android.media.MediaRouter$CallbackInfo.router:Landroid/media/MediaRouter;
            aload 0 /* info */
            invokevirtual android.media.MediaRouter$Callback.onRoutePresentationDisplayChanged:(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
        end local 1 // android.media.MediaRouter$CallbackInfo cbi
         4: .line 1343
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1348
            return
        end local 0 // android.media.MediaRouter$RouteInfo info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  info  Landroid/media/MediaRouter$RouteInfo;
            2    4     1   cbi  Landroid/media/MediaRouter$CallbackInfo;
    MethodParameters:
      Name  Flags
      info  

  static void systemVolumeChanged(int);
    descriptor: (I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int newValue
         0: .line 1351
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mSelectedRoute:Landroid/media/MediaRouter$RouteInfo;
            astore 1 /* selectedRoute */
        start local 1 // android.media.MediaRouter$RouteInfo selectedRoute
         1: .line 1352
            aload 1 /* selectedRoute */
            ifnonnull 2
            return
         2: .line 1354
      StackMap locals: android.media.MediaRouter$RouteInfo
      StackMap stack:
            aload 1 /* selectedRoute */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            if_acmpeq 4
         3: .line 1355
            aload 1 /* selectedRoute */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            if_acmpne 6
         4: .line 1356
      StackMap locals:
      StackMap stack:
            aload 1 /* selectedRoute */
            invokestatic android.media.MediaRouter.dispatchRouteVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
         5: .line 1357
            goto 16
      StackMap locals:
      StackMap stack:
         6: getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            ifnull 15
         7: .line 1359
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mAudioService:Landroid/media/IAudioService;
            invokeinterface android.media.IAudioService.isBluetoothA2dpOn:()Z
            ifeq 9
         8: .line 1360
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mBluetoothA2dpRoute:Landroid/media/MediaRouter$RouteInfo;
            goto 10
      StackMap locals:
      StackMap stack:
         9: getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
        10: .line 1359
      StackMap locals:
      StackMap stack: android.media.MediaRouter$RouteInfo
            invokestatic android.media.MediaRouter.dispatchRouteVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        11: .line 1361
            goto 16
      StackMap locals:
      StackMap stack: android.os.RemoteException
        12: astore 2 /* e */
        start local 2 // android.os.RemoteException e
        13: .line 1362
            ldc "MediaRouter"
            ldc "Error checking Bluetooth A2DP state to report volume change"
            aload 2 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 2 // android.os.RemoteException e
        14: .line 1364
            goto 16
        15: .line 1365
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mDefaultAudioVideo:Landroid/media/MediaRouter$RouteInfo;
            invokestatic android.media.MediaRouter.dispatchRouteVolumeChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        16: .line 1367
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.MediaRouter$RouteInfo selectedRoute
        end local 0 // int newValue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0       newValue  I
            1   17     1  selectedRoute  Landroid/media/MediaRouter$RouteInfo;
           13   14     2              e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           7    11      12  Class android.os.RemoteException
    MethodParameters:
          Name  Flags
      newValue  

  static void updateWifiDisplayStatus(android.hardware.display.WifiDisplayStatus);
    descriptor: (Landroid/hardware/display/WifiDisplayStatus;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // android.hardware.display.WifiDisplayStatus status
         0: .line 1372
            aload 0 /* status */
            invokevirtual android.hardware.display.WifiDisplayStatus.getFeatureState:()I
            iconst_3
            if_icmpne 9
         1: .line 1373
            aload 0 /* status */
            invokevirtual android.hardware.display.WifiDisplayStatus.getDisplays:()[Landroid/hardware/display/WifiDisplay;
            astore 1 /* displays */
        start local 1 // android.hardware.display.WifiDisplay[] displays
         2: .line 1374
            aload 0 /* status */
            invokevirtual android.hardware.display.WifiDisplayStatus.getActiveDisplay:()Landroid/hardware/display/WifiDisplay;
            astore 2 /* activeDisplay */
        start local 2 // android.hardware.display.WifiDisplay activeDisplay
         3: .line 1380
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mCanConfigureWifiDisplays:Z
            ifne 11
         4: .line 1381
            aload 2 /* activeDisplay */
            ifnull 7
         5: .line 1382
            iconst_1
            anewarray android.hardware.display.WifiDisplay
            dup
            iconst_0
            aload 2 /* activeDisplay */
            aastore
            astore 1 /* displays */
         6: .line 1383
            goto 11
         7: .line 1384
      StackMap locals: android.hardware.display.WifiDisplay[] android.hardware.display.WifiDisplay
      StackMap stack:
            getstatic android.hardware.display.WifiDisplay.EMPTY_ARRAY:[Landroid/hardware/display/WifiDisplay;
            astore 1 /* displays */
         8: .line 1387
            goto 11
        end local 2 // android.hardware.display.WifiDisplay activeDisplay
        end local 1 // android.hardware.display.WifiDisplay[] displays
         9: .line 1388
      StackMap locals:
      StackMap stack:
            getstatic android.hardware.display.WifiDisplay.EMPTY_ARRAY:[Landroid/hardware/display/WifiDisplay;
            astore 1 /* displays */
        start local 1 // android.hardware.display.WifiDisplay[] displays
        10: .line 1389
            aconst_null
            astore 2 /* activeDisplay */
        start local 2 // android.hardware.display.WifiDisplay activeDisplay
        11: .line 1391
      StackMap locals: android.hardware.display.WifiDisplay[] android.hardware.display.WifiDisplay
      StackMap stack:
            aload 2 /* activeDisplay */
            ifnull 13
        12: .line 1392
            aload 2 /* activeDisplay */
            invokevirtual android.hardware.display.WifiDisplay.getDeviceAddress:()Ljava/lang/String;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aconst_null
        14: .line 1391
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* activeDisplayAddress */
        start local 3 // java.lang.String activeDisplayAddress
        15: .line 1395
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        16: goto 34
        17: .line 1396
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* displays */
            iload 4 /* i */
            aaload
            astore 5 /* d */
        start local 5 // android.hardware.display.WifiDisplay d
        18: .line 1397
            aload 5 /* d */
            aload 2 /* activeDisplay */
            invokestatic android.media.MediaRouter.shouldShowWifiDisplay:(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplay;)Z
            ifeq 33
        19: .line 1398
            aload 5 /* d */
            invokestatic android.media.MediaRouter.findWifiDisplayRoute:(Landroid/hardware/display/WifiDisplay;)Landroid/media/MediaRouter$RouteInfo;
            astore 6 /* route */
        start local 6 // android.media.MediaRouter$RouteInfo route
        20: .line 1399
            aload 6 /* route */
            ifnonnull 24
        21: .line 1400
            aload 5 /* d */
            aload 0 /* status */
            invokestatic android.media.MediaRouter.makeWifiDisplayRoute:(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)Landroid/media/MediaRouter$RouteInfo;
            astore 6 /* route */
        22: .line 1401
            aload 6 /* route */
            invokestatic android.media.MediaRouter.addRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
        23: .line 1402
            goto 31
        24: .line 1403
      StackMap locals: android.hardware.display.WifiDisplay android.media.MediaRouter$RouteInfo
      StackMap stack:
            aload 5 /* d */
            invokevirtual android.hardware.display.WifiDisplay.getDeviceAddress:()Ljava/lang/String;
            astore 7 /* address */
        start local 7 // java.lang.String address
        25: .line 1404
            aload 7 /* address */
            aload 3 /* activeDisplayAddress */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 28
        26: .line 1405
            aload 7 /* address */
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mPreviousActiveWifiDisplayAddress:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 1404
            iconst_1
            goto 29
      StackMap locals: java.lang.String
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 8 /* disconnected */
        start local 8 // boolean disconnected
        30: .line 1406
            aload 6 /* route */
            aload 5 /* d */
            aload 0 /* status */
            iload 8 /* disconnected */
            invokestatic android.media.MediaRouter.updateWifiDisplayRoute:(Landroid/media/MediaRouter$RouteInfo;Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;Z)V
        end local 8 // boolean disconnected
        end local 7 // java.lang.String address
        31: .line 1408
      StackMap locals:
      StackMap stack:
            aload 5 /* d */
            aload 2 /* activeDisplay */
            invokevirtual android.hardware.display.WifiDisplay.equals:(Landroid/hardware/display/WifiDisplay;)Z
            ifeq 33
        32: .line 1409
            aload 6 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getSupportedTypes:()I
            aload 6 /* route */
            iconst_0
            invokestatic android.media.MediaRouter.selectRouteStatic:(ILandroid/media/MediaRouter$RouteInfo;Z)V
        end local 6 // android.media.MediaRouter$RouteInfo route
        end local 5 // android.hardware.display.WifiDisplay d
        33: .line 1395
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 4 /* i */
            aload 1 /* displays */
            arraylength
            if_icmplt 17
        end local 4 // int i
        35: .line 1415
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* i */
        start local 4 // int i
        36: goto 42
        37: .line 1416
      StackMap locals:
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            astore 5 /* route */
        start local 5 // android.media.MediaRouter$RouteInfo route
        38: .line 1417
            aload 5 /* route */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            ifnull 42
        39: .line 1418
            aload 1 /* displays */
            aload 5 /* route */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            invokestatic android.media.MediaRouter.findWifiDisplay:([Landroid/hardware/display/WifiDisplay;Ljava/lang/String;)Landroid/hardware/display/WifiDisplay;
            astore 6 /* d */
        start local 6 // android.hardware.display.WifiDisplay d
        40: .line 1419
            aload 6 /* d */
            ifnull 41
            aload 6 /* d */
            aload 2 /* activeDisplay */
            invokestatic android.media.MediaRouter.shouldShowWifiDisplay:(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplay;)Z
            ifne 42
        41: .line 1420
      StackMap locals: android.media.MediaRouter$RouteInfo android.hardware.display.WifiDisplay
      StackMap stack:
            aload 5 /* route */
            invokestatic android.media.MediaRouter.removeRouteStatic:(Landroid/media/MediaRouter$RouteInfo;)V
        end local 6 // android.hardware.display.WifiDisplay d
        end local 5 // android.media.MediaRouter$RouteInfo route
        42: .line 1415
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iinc 4 /* i */ -1
            ifgt 37
        end local 4 // int i
        43: .line 1427
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            aload 3 /* activeDisplayAddress */
            putfield android.media.MediaRouter$Static.mPreviousActiveWifiDisplayAddress:Ljava/lang/String;
        44: .line 1428
            return
        end local 3 // java.lang.String activeDisplayAddress
        end local 2 // android.hardware.display.WifiDisplay activeDisplay
        end local 1 // android.hardware.display.WifiDisplay[] displays
        end local 0 // android.hardware.display.WifiDisplayStatus status
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   45     0                status  Landroid/hardware/display/WifiDisplayStatus;
            2    9     1              displays  [Landroid/hardware/display/WifiDisplay;
           10   45     1              displays  [Landroid/hardware/display/WifiDisplay;
            3    9     2         activeDisplay  Landroid/hardware/display/WifiDisplay;
           11   45     2         activeDisplay  Landroid/hardware/display/WifiDisplay;
           15   45     3  activeDisplayAddress  Ljava/lang/String;
           16   35     4                     i  I
           18   33     5                     d  Landroid/hardware/display/WifiDisplay;
           20   33     6                 route  Landroid/media/MediaRouter$RouteInfo;
           25   31     7               address  Ljava/lang/String;
           30   31     8          disconnected  Z
           36   43     4                     i  I
           38   42     5                 route  Landroid/media/MediaRouter$RouteInfo;
           40   42     6                     d  Landroid/hardware/display/WifiDisplay;
    MethodParameters:
        Name  Flags
      status  

  private static boolean shouldShowWifiDisplay(android.hardware.display.WifiDisplay, android.hardware.display.WifiDisplay);
    descriptor: (Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplay;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.display.WifiDisplay d
        start local 1 // android.hardware.display.WifiDisplay activeDisplay
         0: .line 1431
            aload 0 /* d */
            invokevirtual android.hardware.display.WifiDisplay.isRemembered:()Z
            ifne 1
            aload 0 /* d */
            aload 1 /* activeDisplay */
            invokevirtual android.hardware.display.WifiDisplay.equals:(Landroid/hardware/display/WifiDisplay;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // android.hardware.display.WifiDisplay activeDisplay
        end local 0 // android.hardware.display.WifiDisplay d
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0              d  Landroid/hardware/display/WifiDisplay;
            0    2     1  activeDisplay  Landroid/hardware/display/WifiDisplay;
    MethodParameters:
               Name  Flags
      d              
      activeDisplay  

  static int getWifiDisplayStatusCode(android.hardware.display.WifiDisplay, android.hardware.display.WifiDisplayStatus);
    descriptor: (Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.hardware.display.WifiDisplay d
        start local 1 // android.hardware.display.WifiDisplayStatus wfdStatus
         0: .line 1436
            aload 1 /* wfdStatus */
            invokevirtual android.hardware.display.WifiDisplayStatus.getScanState:()I
            iconst_1
            if_icmpne 3
         1: .line 1437
            iconst_1
            istore 2 /* newStatus */
        start local 2 // int newStatus
         2: .line 1438
            goto 10
        end local 2 // int newStatus
      StackMap locals:
      StackMap stack:
         3: aload 0 /* d */
            invokevirtual android.hardware.display.WifiDisplay.isAvailable:()Z
            ifeq 9
         4: .line 1439
            aload 0 /* d */
            invokevirtual android.hardware.display.WifiDisplay.canConnect:()Z
            ifeq 6
         5: .line 1440
            iconst_3
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_5
         7: .line 1439
      StackMap locals:
      StackMap stack: int
            istore 2 /* newStatus */
        start local 2 // int newStatus
         8: .line 1441
            goto 10
        end local 2 // int newStatus
         9: .line 1442
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 2 /* newStatus */
        start local 2 // int newStatus
        10: .line 1445
      StackMap locals: int
      StackMap stack:
            aload 0 /* d */
            aload 1 /* wfdStatus */
            invokevirtual android.hardware.display.WifiDisplayStatus.getActiveDisplay:()Landroid/hardware/display/WifiDisplay;
            invokevirtual android.hardware.display.WifiDisplay.equals:(Landroid/hardware/display/WifiDisplay;)Z
            ifeq 18
        11: .line 1446
            aload 1 /* wfdStatus */
            invokevirtual android.hardware.display.WifiDisplayStatus.getActiveDisplayState:()I
            istore 3 /* activeState */
        start local 3 // int activeState
        12: .line 1447
            iload 3 /* activeState */
            tableswitch { // 0 - 2
                    0: 17
                    1: 15
                    2: 13
              default: 18
          }
        13: .line 1449
      StackMap locals: int
      StackMap stack:
            bipush 6
            istore 2 /* newStatus */
        14: .line 1450
            goto 18
        15: .line 1452
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 2 /* newStatus */
        16: .line 1453
            goto 18
        17: .line 1455
      StackMap locals:
      StackMap stack:
            ldc "MediaRouter"
            ldc "Active display is not connected!"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 3 // int activeState
        18: .line 1460
      StackMap locals:
      StackMap stack:
            iload 2 /* newStatus */
            ireturn
        end local 2 // int newStatus
        end local 1 // android.hardware.display.WifiDisplayStatus wfdStatus
        end local 0 // android.hardware.display.WifiDisplay d
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0            d  Landroid/hardware/display/WifiDisplay;
            0   19     1    wfdStatus  Landroid/hardware/display/WifiDisplayStatus;
            2    3     2    newStatus  I
            8    9     2    newStatus  I
           10   19     2    newStatus  I
           12   18     3  activeState  I
    MethodParameters:
           Name  Flags
      d          
      wfdStatus  

  static boolean isWifiDisplayEnabled(android.hardware.display.WifiDisplay, android.hardware.display.WifiDisplayStatus);
    descriptor: (Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.display.WifiDisplay d
        start local 1 // android.hardware.display.WifiDisplayStatus wfdStatus
         0: .line 1464
            aload 0 /* d */
            invokevirtual android.hardware.display.WifiDisplay.isAvailable:()Z
            ifeq 2
            aload 0 /* d */
            invokevirtual android.hardware.display.WifiDisplay.canConnect:()Z
            ifne 1
            aload 0 /* d */
            aload 1 /* wfdStatus */
            invokevirtual android.hardware.display.WifiDisplayStatus.getActiveDisplay:()Landroid/hardware/display/WifiDisplay;
            invokevirtual android.hardware.display.WifiDisplay.equals:(Landroid/hardware/display/WifiDisplay;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // android.hardware.display.WifiDisplayStatus wfdStatus
        end local 0 // android.hardware.display.WifiDisplay d
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          d  Landroid/hardware/display/WifiDisplay;
            0    3     1  wfdStatus  Landroid/hardware/display/WifiDisplayStatus;
    MethodParameters:
           Name  Flags
      d          
      wfdStatus  

  static android.media.MediaRouter$RouteInfo makeWifiDisplayRoute(android.hardware.display.WifiDisplay, android.hardware.display.WifiDisplayStatus);
    descriptor: (Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)Landroid/media/MediaRouter$RouteInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 1479
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tcom.android.internal.R.string cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
           Name  Flags
      display    
      wfdStatus  

  private static void updateWifiDisplayRoute(android.media.MediaRouter$RouteInfo, android.hardware.display.WifiDisplay, android.hardware.display.WifiDisplayStatus, boolean);
    descriptor: (Landroid/media/MediaRouter$RouteInfo;Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.media.MediaRouter$RouteInfo route
        start local 1 // android.hardware.display.WifiDisplay display
        start local 2 // android.hardware.display.WifiDisplayStatus wfdStatus
        start local 3 // boolean disconnected
         0: .line 1488
            iconst_0
            istore 4 /* changed */
        start local 4 // boolean changed
         1: .line 1489
            aload 1 /* display */
            invokevirtual android.hardware.display.WifiDisplay.getFriendlyDisplayName:()Ljava/lang/String;
            astore 5 /* newName */
        start local 5 // java.lang.String newName
         2: .line 1490
            aload 0 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.getName:()Ljava/lang/CharSequence;
            aload 5 /* newName */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
         3: .line 1491
            aload 0 /* route */
            aload 5 /* newName */
            putfield android.media.MediaRouter$RouteInfo.mName:Ljava/lang/CharSequence;
         4: .line 1492
            iconst_1
            istore 4 /* changed */
         5: .line 1495
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* display */
            aload 2 /* wfdStatus */
            invokestatic android.media.MediaRouter.isWifiDisplayEnabled:(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)Z
            istore 6 /* enabled */
        start local 6 // boolean enabled
         6: .line 1496
            iload 4 /* changed */
            aload 0 /* route */
            getfield android.media.MediaRouter$RouteInfo.mEnabled:Z
            iload 6 /* enabled */
            ixor
            ior
            istore 4 /* changed */
         7: .line 1497
            aload 0 /* route */
            iload 6 /* enabled */
            putfield android.media.MediaRouter$RouteInfo.mEnabled:Z
         8: .line 1499
            iload 4 /* changed */
            aload 0 /* route */
            aload 1 /* display */
            aload 2 /* wfdStatus */
            invokestatic android.media.MediaRouter.getWifiDisplayStatusCode:(Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplayStatus;)I
            invokevirtual android.media.MediaRouter$RouteInfo.setRealStatusCode:(I)Z
            ior
            istore 4 /* changed */
         9: .line 1501
            iload 4 /* changed */
            ifeq 11
        10: .line 1502
            aload 0 /* route */
            invokestatic android.media.MediaRouter.dispatchRouteChanged:(Landroid/media/MediaRouter$RouteInfo;)V
        11: .line 1505
      StackMap locals: int
      StackMap stack:
            iload 6 /* enabled */
            ifeq 12
            iload 3 /* disconnected */
            ifeq 14
      StackMap locals:
      StackMap stack:
        12: aload 0 /* route */
            invokevirtual android.media.MediaRouter$RouteInfo.isSelected:()Z
            ifeq 14
        13: .line 1507
            invokestatic android.media.MediaRouter.selectDefaultRouteStatic:()V
        14: .line 1509
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean enabled
        end local 5 // java.lang.String newName
        end local 4 // boolean changed
        end local 3 // boolean disconnected
        end local 2 // android.hardware.display.WifiDisplayStatus wfdStatus
        end local 1 // android.hardware.display.WifiDisplay display
        end local 0 // android.media.MediaRouter$RouteInfo route
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0         route  Landroid/media/MediaRouter$RouteInfo;
            0   15     1       display  Landroid/hardware/display/WifiDisplay;
            0   15     2     wfdStatus  Landroid/hardware/display/WifiDisplayStatus;
            0   15     3  disconnected  Z
            1   15     4       changed  Z
            2   15     5       newName  Ljava/lang/String;
            6   15     6       enabled  Z
    MethodParameters:
              Name  Flags
      route         
      display       
      wfdStatus     
      disconnected  

  private static android.hardware.display.WifiDisplay findWifiDisplay(android.hardware.display.WifiDisplay[], java.lang.String);
    descriptor: ([Landroid/hardware/display/WifiDisplay;Ljava/lang/String;)Landroid/hardware/display/WifiDisplay;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.hardware.display.WifiDisplay[] displays
        start local 1 // java.lang.String deviceAddress
         0: .line 1512
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 1513
      StackMap locals: int
      StackMap stack:
            aload 0 /* displays */
            iload 2 /* i */
            aaload
            astore 3 /* d */
        start local 3 // android.hardware.display.WifiDisplay d
         3: .line 1514
            aload 3 /* d */
            invokevirtual android.hardware.display.WifiDisplay.getDeviceAddress:()Ljava/lang/String;
            aload 1 /* deviceAddress */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1515
            aload 3 /* d */
            areturn
        end local 3 // android.hardware.display.WifiDisplay d
         5: .line 1512
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* displays */
            arraylength
            if_icmplt 2
        end local 2 // int i
         7: .line 1518
            aconst_null
            areturn
        end local 1 // java.lang.String deviceAddress
        end local 0 // android.hardware.display.WifiDisplay[] displays
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0       displays  [Landroid/hardware/display/WifiDisplay;
            0    8     1  deviceAddress  Ljava/lang/String;
            1    7     2              i  I
            3    5     3              d  Landroid/hardware/display/WifiDisplay;
    MethodParameters:
               Name  Flags
      displays       
      deviceAddress  

  private static android.media.MediaRouter$RouteInfo findWifiDisplayRoute(android.hardware.display.WifiDisplay);
    descriptor: (Landroid/hardware/display/WifiDisplay;)Landroid/media/MediaRouter$RouteInfo;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // android.hardware.display.WifiDisplay d
         0: .line 1522
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 1523
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 1524
      StackMap locals: int int
      StackMap stack:
            getstatic android.media.MediaRouter.sStatic:Landroid/media/MediaRouter$Static;
            getfield android.media.MediaRouter$Static.mRoutes:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.media.MediaRouter$RouteInfo
            astore 3 /* info */
        start local 3 // android.media.MediaRouter$RouteInfo info
         4: .line 1525
            aload 0 /* d */
            invokevirtual android.hardware.display.WifiDisplay.getDeviceAddress:()Ljava/lang/String;
            aload 3 /* info */
            getfield android.media.MediaRouter$RouteInfo.mDeviceAddress:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1526
            aload 3 /* info */
            areturn
        end local 3 // android.media.MediaRouter$RouteInfo info
         6: .line 1523
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 1 /* count */
            if_icmplt 3
        end local 2 // int i
         8: .line 1529
            aconst_null
            areturn
        end local 1 // int count
        end local 0 // android.hardware.display.WifiDisplay d
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0      d  Landroid/hardware/display/WifiDisplay;
            1    9     1  count  I
            2    8     2      i  I
            4    6     3   info  Landroid/media/MediaRouter$RouteInfo;
    MethodParameters:
      Name  Flags
      d     
}
SourceFile: "MediaRouter.java"
NestMembers:
  android.media.MediaRouter$Callback  android.media.MediaRouter$CallbackInfo  android.media.MediaRouter$RouteCategory  android.media.MediaRouter$RouteGroup  android.media.MediaRouter$RouteInfo  android.media.MediaRouter$RouteInfo$1  android.media.MediaRouter$RouteInfo$1$1  android.media.MediaRouter$RouteInfo$DeviceType  android.media.MediaRouter$RouteInfo$PlaybackType  android.media.MediaRouter$RouteInfo$PlaybackVolume  android.media.MediaRouter$SimpleCallback  android.media.MediaRouter$Static  android.media.MediaRouter$Static$1  android.media.MediaRouter$Static$1$1  android.media.MediaRouter$Static$Client  android.media.MediaRouter$Static$Client$1  android.media.MediaRouter$Static$Client$2  android.media.MediaRouter$UserRouteInfo  android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider  android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider$1  android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider$2  android.media.MediaRouter$VolumeCallback  android.media.MediaRouter$VolumeCallbackInfo  android.media.MediaRouter$VolumeChangeReceiver  android.media.MediaRouter$WifiDisplayStatusChangedReceiver
InnerClasses:
  public abstract Callback = android.media.MediaRouter$Callback of android.media.MediaRouter
  CallbackInfo = android.media.MediaRouter$CallbackInfo of android.media.MediaRouter
  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
  public SimpleCallback = android.media.MediaRouter$SimpleCallback of android.media.MediaRouter
  Static = android.media.MediaRouter$Static of android.media.MediaRouter
  public UserRouteInfo = android.media.MediaRouter$UserRouteInfo of android.media.MediaRouter
  public abstract VolumeCallback = android.media.MediaRouter$VolumeCallback of android.media.MediaRouter
  VolumeCallbackInfo = android.media.MediaRouter$VolumeCallbackInfo of android.media.MediaRouter
  VolumeChangeReceiver = android.media.MediaRouter$VolumeChangeReceiver of android.media.MediaRouter
  WifiDisplayStatusChangedReceiver = android.media.MediaRouter$WifiDisplayStatusChangedReceiver of android.media.MediaRouter