public class android.net.InterfaceConfiguration implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.net.InterfaceConfiguration
  super_class: java.lang.Object
{
  private java.lang.String mHwAddr;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private android.net.LinkAddress mAddr;
    descriptor: Landroid/net/LinkAddress;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashSet<java.lang.String> mFlags;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  private static final java.lang.String FLAG_UP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "up"

  private static final java.lang.String FLAG_DOWN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "down"

  public static final android.os.Parcelable$Creator<android.net.InterfaceConfiguration> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/net/InterfaceConfiguration;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 151
            new android.net.InterfaceConfiguration$1
            dup
            invokespecial android.net.InterfaceConfiguration$1.<init>:()V
            putstatic android.net.InterfaceConfiguration.CREATOR:Landroid/os/Parcelable$Creator;
         1: .line 169
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 34
            aload 0 /* this */
            invokestatic com.google.android.collect.Sets.newHashSet:()Ljava/util/HashSet;
            putfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
         2: .line 31
            return
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/InterfaceConfiguration;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 41
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 42
            aload 1 /* builder */
            ldc "mHwAddr="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mHwAddr:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 43
            aload 1 /* builder */
            ldc " mAddr="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mAddr:Landroid/net/LinkAddress;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 44
            aload 1 /* builder */
            ldc " mFlags="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual android.net.InterfaceConfiguration.getFlags:()Ljava/lang/Iterable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         4: .line 45
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Landroid/net/InterfaceConfiguration;
            1    5     1  builder  Ljava/lang/StringBuilder;

  public java.lang.Iterable<java.lang.String> getFlags();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 49
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            areturn
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/InterfaceConfiguration;
    Signature: ()Ljava/lang/Iterable<Ljava/lang/String;>;

  public boolean hasFlag(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.InterfaceConfiguration this
        start local 1 // java.lang.String flag
         0: .line 53
            aload 1 /* flag */
            invokestatic android.net.InterfaceConfiguration.validateFlag:(Ljava/lang/String;)V
         1: .line 54
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            aload 1 /* flag */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String flag
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/InterfaceConfiguration;
            0    2     1  flag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      flag  

  public void clearFlag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.InterfaceConfiguration this
        start local 1 // java.lang.String flag
         0: .line 58
            aload 1 /* flag */
            invokestatic android.net.InterfaceConfiguration.validateFlag:(Ljava/lang/String;)V
         1: .line 59
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            aload 1 /* flag */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 60
            return
        end local 1 // java.lang.String flag
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/InterfaceConfiguration;
            0    3     1  flag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      flag  

  public void setFlag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.InterfaceConfiguration this
        start local 1 // java.lang.String flag
         0: .line 63
            aload 1 /* flag */
            invokestatic android.net.InterfaceConfiguration.validateFlag:(Ljava/lang/String;)V
         1: .line 64
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            aload 1 /* flag */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 65
            return
        end local 1 // java.lang.String flag
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/InterfaceConfiguration;
            0    3     1  flag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      flag  

  public void setInterfaceUp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 71
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            ldc "down"
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 72
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            ldc "up"
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 73
            return
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/InterfaceConfiguration;

  public void setInterfaceDown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 79
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            ldc "up"
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 80
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            ldc "down"
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 81
            return
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/InterfaceConfiguration;

  public void ignoreInterfaceUpDownStatus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 87
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            ldc "up"
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 88
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            ldc "down"
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 89
            return
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/net/InterfaceConfiguration;

  public android.net.LinkAddress getLinkAddress();
    descriptor: ()Landroid/net/LinkAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 92
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mAddr:Landroid/net/LinkAddress;
            areturn
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/InterfaceConfiguration;

  public void setLinkAddress(android.net.LinkAddress);
    descriptor: (Landroid/net/LinkAddress;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.InterfaceConfiguration this
        start local 1 // android.net.LinkAddress addr
         0: .line 96
            aload 0 /* this */
            aload 1 /* addr */
            putfield android.net.InterfaceConfiguration.mAddr:Landroid/net/LinkAddress;
         1: .line 97
            return
        end local 1 // android.net.LinkAddress addr
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/InterfaceConfiguration;
            0    2     1  addr  Landroid/net/LinkAddress;
    MethodParameters:
      Name  Flags
      addr  

  public java.lang.String getHardwareAddress();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 100
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mHwAddr:Ljava/lang/String;
            areturn
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/InterfaceConfiguration;

  public void setHardwareAddress(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.InterfaceConfiguration this
        start local 1 // java.lang.String hwAddr
         0: .line 104
            aload 0 /* this */
            aload 1 /* hwAddr */
            putfield android.net.InterfaceConfiguration.mHwAddr:Ljava/lang/String;
         1: .line 105
            return
        end local 1 // java.lang.String hwAddr
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/net/InterfaceConfiguration;
            0    2     1  hwAddr  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      hwAddr  

  public boolean isActive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 116
            aload 0 /* this */
            invokevirtual android.net.InterfaceConfiguration.isUp:()Z
            ifeq 10
         1: .line 117
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mAddr:Landroid/net/LinkAddress;
            invokevirtual android.net.LinkAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getAddress:()[B
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 6
      StackMap locals: android.net.InterfaceConfiguration top int int byte[]
      StackMap stack:
         2: aload 4
            iload 2
            baload
            istore 1 /* b */
        start local 1 // byte b
         3: .line 118
            iload 1 /* b */
            ifeq 5
         4: iconst_1
            ireturn
        end local 1 // byte b
         5: .line 117
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         6: iload 2
            iload 3
            if_icmplt 2
         7: .line 121
            goto 10
      StackMap locals: android.net.InterfaceConfiguration
      StackMap stack: java.lang.NullPointerException
         8: pop
         9: .line 122
            iconst_0
            ireturn
        10: .line 124
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/net/InterfaceConfiguration;
            3    5     1     b  B
      Exception table:
        from    to  target  type
           0     4       8  Class java.lang.NullPointerException
           5     7       8  Class java.lang.NullPointerException

  public boolean isUp();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 128
            aload 0 /* this */
            ldc "up"
            invokevirtual android.net.InterfaceConfiguration.hasFlag:(Ljava/lang/String;)Z
            ireturn
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/InterfaceConfiguration;

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.InterfaceConfiguration this
         0: .line 133
            iconst_0
            ireturn
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/InterfaceConfiguration;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.net.InterfaceConfiguration this
        start local 1 // android.os.Parcel dest
        start local 2 // int flags
         0: .line 138
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mHwAddr:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         1: .line 139
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mAddr:Landroid/net/LinkAddress;
            ifnull 5
         2: .line 140
            aload 1 /* dest */
            iconst_1
            invokevirtual android.os.Parcel.writeByte:(B)V
         3: .line 141
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mAddr:Landroid/net/LinkAddress;
            iload 2 /* flags */
            invokevirtual android.os.Parcel.writeParcelable:(Landroid/os/Parcelable;I)V
         4: .line 142
            goto 6
         5: .line 143
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            iconst_0
            invokevirtual android.os.Parcel.writeByte:(B)V
         6: .line 145
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            invokevirtual android.os.Parcel.writeInt:(I)V
         7: .line 146
            aload 0 /* this */
            getfield android.net.InterfaceConfiguration.mFlags:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: android.net.InterfaceConfiguration android.os.Parcel int top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* flag */
        start local 3 // java.lang.String flag
         9: .line 147
            aload 1 /* dest */
            aload 3 /* flag */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
        end local 3 // java.lang.String flag
        10: .line 146
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 149
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel dest
        end local 0 // android.net.InterfaceConfiguration this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Landroid/net/InterfaceConfiguration;
            0   12     1   dest  Landroid/os/Parcel;
            0   12     2  flags  I
            9   10     3   flag  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      dest   
      flags  

  private static void validateFlag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String flag
         0: .line 172
            aload 0 /* flag */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 2
         1: .line 173
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "flag contains space: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* flag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 175
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String flag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  flag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      flag  
}
SourceFile: "InterfaceConfiguration.java"
NestMembers:
  android.net.InterfaceConfiguration$1
InnerClasses:
  android.net.InterfaceConfiguration$1
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable