public class android.net.wifi.WifiManager$MulticastLock
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.net.wifi.WifiManager$MulticastLock
  super_class: java.lang.Object
{
  private java.lang.String mTag;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final android.os.IBinder mBinder;
    descriptor: Landroid/os/IBinder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  final android.net.wifi.WifiManager this$0;
    descriptor: Landroid/net/wifi/WifiManager;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(android.net.wifi.WifiManager, java.lang.String);
    descriptor: (Landroid/net/wifi/WifiManager;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.net.wifi.WifiManager$MulticastLock this
        start local 2 // java.lang.String tag
         0: .line 3374
            aload 0 /* this */
            aload 1
            putfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3375
            aload 0 /* this */
            aload 2 /* tag */
            putfield android.net.wifi.WifiManager$MulticastLock.mTag:Ljava/lang/String;
         2: .line 3376
            aload 0 /* this */
            new android.os.Binder
            dup
            invokespecial android.os.Binder.<init>:()V
            putfield android.net.wifi.WifiManager$MulticastLock.mBinder:Landroid/os/IBinder;
         3: .line 3377
            aload 0 /* this */
            iconst_0
            putfield android.net.wifi.WifiManager$MulticastLock.mRefCount:I
         4: .line 3378
            aload 0 /* this */
            iconst_1
            putfield android.net.wifi.WifiManager$MulticastLock.mRefCounted:Z
         5: .line 3379
            aload 0 /* this */
            iconst_0
            putfield android.net.wifi.WifiManager$MulticastLock.mHeld:Z
         6: .line 3380
            return
        end local 2 // java.lang.String tag
        end local 0 // android.net.wifi.WifiManager$MulticastLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/net/wifi/WifiManager$MulticastLock;
            0    7     2   tag  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      this$0  final
      tag     

  public void acquire();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // android.net.wifi.WifiManager$MulticastLock this
         0: .line 3403
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mBinder:Landroid/os/IBinder;
            dup
            astore 1
            monitorenter
         1: .line 3404
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mRefCounted:Z
            ifeq 2
            aload 0 /* this */
            dup
            getfield android.net.wifi.WifiManager$MulticastLock.mRefCount:I
            iconst_1
            iadd
            dup_x1
            putfield android.net.wifi.WifiManager$MulticastLock.mRefCount:I
            iconst_1
            if_icmpne 18
            goto 3
      StackMap locals: android.os.IBinder
      StackMap stack:
         2: aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mHeld:Z
            ifne 18
         3: .line 3406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            getfield android.net.wifi.WifiManager.mService:Landroid/net/wifi/IWifiManager;
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mBinder:Landroid/os/IBinder;
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mTag:Ljava/lang/String;
            invokeinterface android.net.wifi.IWifiManager.acquireMulticastLock:(Landroid/os/IBinder;Ljava/lang/String;)V
         4: .line 3407
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            dup
            astore 2
            monitorenter
         5: .line 3408
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            getfield android.net.wifi.WifiManager.mActiveLockCount:I
            bipush 50
            if_icmplt 10
         6: .line 3409
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            getfield android.net.wifi.WifiManager.mService:Landroid/net/wifi/IWifiManager;
            invokeinterface android.net.wifi.IWifiManager.releaseMulticastLock:()V
         7: .line 3410
            new java.lang.UnsupportedOperationException
            dup
         8: .line 3411
            ldc "Exceeded maximum number of wifi locks"
         9: .line 3410
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 3413
      StackMap locals: android.net.wifi.WifiManager
      StackMap stack:
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            dup
            getfield android.net.wifi.WifiManager.mActiveLockCount:I
            iconst_1
            iadd
            putfield android.net.wifi.WifiManager.mActiveLockCount:I
        11: .line 3407
            aload 2
            monitorexit
        12: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 3415
      StackMap locals: android.net.wifi.WifiManager$MulticastLock android.os.IBinder
      StackMap stack: android.os.RemoteException
            astore 2 /* e */
        start local 2 // android.os.RemoteException e
        16: .line 3416
            aload 2 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException e
        17: .line 3418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.net.wifi.WifiManager$MulticastLock.mHeld:Z
        18: .line 3403
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        19: goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: aload 1
            monitorexit
        21: athrow
        22: .line 3421
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.net.wifi.WifiManager$MulticastLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Landroid/net/wifi/WifiManager$MulticastLock;
           16   17     2     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           5    12      13  any
          13    14      13  any
           3    15      15  Class android.os.RemoteException
           1    19      20  any
          20    21      20  any

  public void release();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // android.net.wifi.WifiManager$MulticastLock this
         0: .line 3448
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mBinder:Landroid/os/IBinder;
            dup
            astore 1
            monitorenter
         1: .line 3449
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mRefCounted:Z
            ifeq 2
            aload 0 /* this */
            dup
            getfield android.net.wifi.WifiManager$MulticastLock.mRefCount:I
            iconst_1
            isub
            dup_x1
            putfield android.net.wifi.WifiManager$MulticastLock.mRefCount:I
            ifne 13
            goto 3
      StackMap locals: android.os.IBinder
      StackMap stack:
         2: aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mHeld:Z
            ifeq 13
         3: .line 3451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            getfield android.net.wifi.WifiManager.mService:Landroid/net/wifi/IWifiManager;
            invokeinterface android.net.wifi.IWifiManager.releaseMulticastLock:()V
         4: .line 3452
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            dup
            astore 2
            monitorenter
         5: .line 3453
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.this$0:Landroid/net/wifi/WifiManager;
            dup
            getfield android.net.wifi.WifiManager.mActiveLockCount:I
            iconst_1
            isub
            putfield android.net.wifi.WifiManager.mActiveLockCount:I
         6: .line 3452
            aload 2
            monitorexit
         7: goto 12
      StackMap locals: android.net.wifi.WifiManager$MulticastLock android.os.IBinder android.net.wifi.WifiManager
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 3455
      StackMap locals: android.net.wifi.WifiManager$MulticastLock android.os.IBinder
      StackMap stack: android.os.RemoteException
            astore 2 /* e */
        start local 2 // android.os.RemoteException e
        11: .line 3456
            aload 2 /* e */
            invokevirtual android.os.RemoteException.rethrowFromSystemServer:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException e
        12: .line 3458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.net.wifi.WifiManager$MulticastLock.mHeld:Z
        13: .line 3460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mRefCount:I
            ifge 17
        14: .line 3461
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "MulticastLock under-locked "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 3462
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mTag:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 3461
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 3448
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        18: goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: aload 1
            monitorexit
        20: athrow
        21: .line 3465
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.net.wifi.WifiManager$MulticastLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Landroid/net/wifi/WifiManager$MulticastLock;
           11   12     2     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  any
           3    10      10  Class android.os.RemoteException
           1    18      19  any
          19    20      19  any

  public void setReferenceCounted(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.wifi.WifiManager$MulticastLock this
        start local 1 // boolean refCounted
         0: .line 3483
            aload 0 /* this */
            iload 1 /* refCounted */
            putfield android.net.wifi.WifiManager$MulticastLock.mRefCounted:Z
         1: .line 3484
            return
        end local 1 // boolean refCounted
        end local 0 // android.net.wifi.WifiManager$MulticastLock this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/net/wifi/WifiManager$MulticastLock;
            0    2     1  refCounted  Z
    MethodParameters:
            Name  Flags
      refCounted  

  public boolean isHeld();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.net.wifi.WifiManager$MulticastLock this
         0: .line 3492
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mBinder:Landroid/os/IBinder;
            dup
            astore 1
            monitorenter
         1: .line 3493
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mHeld:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 3492
      StackMap locals: android.net.wifi.WifiManager$MulticastLock android.os.IBinder
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // android.net.wifi.WifiManager$MulticastLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/net/wifi/WifiManager$MulticastLock;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // android.net.wifi.WifiManager$MulticastLock this
         0: .line 3499
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mBinder:Landroid/os/IBinder;
            dup
            astore 4
            monitorenter
         1: .line 3500
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 1 /* s1 */
        start local 1 // java.lang.String s1
         2: .line 3501
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mHeld:Z
            ifeq 3
            ldc "held; "
            goto 4
      StackMap locals: android.net.wifi.WifiManager$MulticastLock java.lang.String top top android.os.IBinder
      StackMap stack:
         3: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 2 /* s2 */
        start local 2 // java.lang.String s2
         5: .line 3502
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mRefCounted:Z
            ifeq 8
         6: .line 3503
            new java.lang.StringBuilder
            dup
            ldc "refcounted: refcount = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.net.wifi.WifiManager$MulticastLock.mRefCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* s3 */
        start local 3 // java.lang.String s3
         7: .line 3504
            goto 9
        end local 3 // java.lang.String s3
         8: .line 3505
      StackMap locals: android.net.wifi.WifiManager$MulticastLock java.lang.String java.lang.String top android.os.IBinder
      StackMap stack:
            ldc "not refcounted"
            astore 3 /* s3 */
        start local 3 // java.lang.String s3
         9: .line 3507
      StackMap locals: android.net.wifi.WifiManager$MulticastLock java.lang.String java.lang.String java.lang.String android.os.IBinder
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "MulticastLock{ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* s1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* s2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* s3 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " }"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4
            monitorexit
        10: areturn
        end local 3 // java.lang.String s3
        end local 2 // java.lang.String s2
        end local 1 // java.lang.String s1
        11: .line 3499
      StackMap locals: android.net.wifi.WifiManager$MulticastLock top top top android.os.IBinder
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        12: athrow
        end local 0 // android.net.wifi.WifiManager$MulticastLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Landroid/net/wifi/WifiManager$MulticastLock;
            2   11     1    s1  Ljava/lang/String;
            5   11     2    s2  Ljava/lang/String;
            7    8     3    s3  Ljava/lang/String;
            9   11     3    s3  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.wifi.WifiManager$MulticastLock this
         0: .line 3513
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         1: .line 3514
            aload 0 /* this */
            iconst_0
            invokevirtual android.net.wifi.WifiManager$MulticastLock.setReferenceCounted:(Z)V
         2: .line 3515
            aload 0 /* this */
            invokevirtual android.net.wifi.WifiManager$MulticastLock.release:()V
         3: .line 3516
            return
        end local 0 // android.net.wifi.WifiManager$MulticastLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/wifi/WifiManager$MulticastLock;
    Exceptions:
      throws java.lang.Throwable
}
SourceFile: "WifiManager.java"
NestHost: android.net.wifi.WifiManager
InnerClasses:
  public MulticastLock = android.net.wifi.WifiManager$MulticastLock of android.net.wifi.WifiManager