public final class android.net.MacAddress implements android.os.Parcelable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.net.MacAddress
super_class: java.lang.Object
{
private static final int ETHER_ADDR_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final byte[] ETHER_ADDR_BROADCAST;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final android.net.MacAddress BROADCAST_ADDRESS;
descriptor: Landroid/net/MacAddress;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final android.net.MacAddress ALL_ZEROS_ADDRESS;
descriptor: Landroid/net/MacAddress;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int TYPE_UNKNOWN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int TYPE_UNICAST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int TYPE_MULTICAST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int TYPE_BROADCAST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final long VALID_LONG_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 281474976710655
private static final long LOCALLY_ASSIGNED_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long MULTICAST_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long OUI_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long NIC_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.net.MacAddress BASE_GOOGLE_MAC;
descriptor: Landroid/net/MacAddress;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final long mAddr;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final android.os.Parcelable$Creator<android.net.MacAddress> CREATOR;
descriptor: Landroid/os/Parcelable$Creator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Landroid/os/Parcelable$Creator<Landroid/net/MacAddress;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 6
newarray 10
dup
iconst_0
sipush 255
iastore
dup
iconst_1
sipush 255
iastore
dup
iconst_2
sipush 255
iastore
dup
iconst_3
sipush 255
iastore
dup
iconst_4
sipush 255
iastore
dup
iconst_5
sipush 255
iastore
invokestatic android.net.MacAddress.addr:([I)[B
putstatic android.net.MacAddress.ETHER_ADDR_BROADCAST:[B
1: getstatic android.net.MacAddress.ETHER_ADDR_BROADCAST:[B
invokestatic android.net.MacAddress.fromBytes:([B)Landroid/net/MacAddress;
putstatic android.net.MacAddress.BROADCAST_ADDRESS:Landroid/net/MacAddress;
2: new android.net.MacAddress
dup
lconst_0
invokespecial android.net.MacAddress.<init>:(J)V
putstatic android.net.MacAddress.ALL_ZEROS_ADDRESS:Landroid/net/MacAddress;
3: ldc "2:0:0:0:0:0"
invokestatic android.net.MacAddress.fromString:(Ljava/lang/String;)Landroid/net/MacAddress;
getfield android.net.MacAddress.mAddr:J
putstatic android.net.MacAddress.LOCALLY_ASSIGNED_MASK:J
4: ldc "1:0:0:0:0:0"
invokestatic android.net.MacAddress.fromString:(Ljava/lang/String;)Landroid/net/MacAddress;
getfield android.net.MacAddress.mAddr:J
putstatic android.net.MacAddress.MULTICAST_MASK:J
5: ldc "ff:ff:ff:0:0:0"
invokestatic android.net.MacAddress.fromString:(Ljava/lang/String;)Landroid/net/MacAddress;
getfield android.net.MacAddress.mAddr:J
putstatic android.net.MacAddress.OUI_MASK:J
6: ldc "0:0:0:ff:ff:ff"
invokestatic android.net.MacAddress.fromString:(Ljava/lang/String;)Landroid/net/MacAddress;
getfield android.net.MacAddress.mAddr:J
putstatic android.net.MacAddress.NIC_MASK:J
7: ldc "da:a1:19:0:0:0"
invokestatic android.net.MacAddress.fromString:(Ljava/lang/String;)Landroid/net/MacAddress;
putstatic android.net.MacAddress.BASE_GOOGLE_MAC:Landroid/net/MacAddress;
8: new android.net.MacAddress$1
dup
invokespecial android.net.MacAddress$1.<init>:()V
9: putstatic android.net.MacAddress.CREATOR:Landroid/os/Parcelable$Creator;
10: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc 281474976710655
lload 1
land
putfield android.net.MacAddress.mAddr:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/net/MacAddress;
0 3 1 addr J
MethodParameters:
Name Flags
addr
public int getAddressType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic android.net.MacAddress.BROADCAST_ADDRESS:Landroid/net/MacAddress;
invokevirtual android.net.MacAddress.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_3
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.net.MacAddress.isMulticastAddress:()Z
ifeq 4
3: iconst_2
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/net/MacAddress;
public boolean isMulticastAddress();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.net.MacAddress.mAddr:J
getstatic android.net.MacAddress.MULTICAST_MASK:J
land
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/MacAddress;
public boolean isLocallyAssigned();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.net.MacAddress.mAddr:J
getstatic android.net.MacAddress.LOCALLY_ASSIGNED_MASK:J
land
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/MacAddress;
public byte[] toByteArray();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.net.MacAddress.mAddr:J
invokestatic android.net.MacAddress.byteAddrFromLongAddr:(J)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/MacAddress;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.net.MacAddress.mAddr:J
invokestatic android.net.MacAddress.stringAddrFromLongAddr:(J)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/MacAddress;
public java.lang.String toOuiString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=1, args_size=1
start local 0 0: ldc "%02x:%02x:%02x"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield android.net.MacAddress.mAddr:J
bipush 40
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 0
getfield android.net.MacAddress.mAddr:J
bipush 32
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 0
getfield android.net.MacAddress.mAddr:J
bipush 24
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
1: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/MacAddress;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.net.MacAddress.mAddr:J
bipush 32
lshr
aload 0
getfield android.net.MacAddress.mAddr:J
lxor
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/MacAddress;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof android.net.MacAddress
ifeq 1
aload 1
checkcast android.net.MacAddress
getfield android.net.MacAddress.mAddr:J
aload 0
getfield android.net.MacAddress.mAddr:J
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/MacAddress;
0 2 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public void writeToParcel(android.os.Parcel, int);
descriptor: (Landroid/os/Parcel;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.net.MacAddress.mAddr:J
invokevirtual android.os.Parcel.writeLong:(J)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/MacAddress;
0 2 1 out Landroid/os/Parcel;
0 2 2 flags I
MethodParameters:
Name Flags
out
flags
public int describeContents();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/MacAddress;
public static boolean isMacAddress(byte[]);
descriptor: ([B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
arraylength
bipush 6
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 addr [B
MethodParameters:
Name Flags
addr
public static int macAddressType(byte[]);
descriptor: ([B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.net.MacAddress.isMacAddress:([B)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic android.net.MacAddress.fromBytes:([B)Landroid/net/MacAddress;
invokevirtual android.net.MacAddress.getAddressType:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 addr [B
MethodParameters:
Name Flags
addr
public static byte[] byteAddrFromStringAddr(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 2: aload 1
arraylength
bipush 6
if_icmpeq 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " was not a valid MAC address"
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
4: StackMap locals: java.lang.String[]
StackMap stack:
bipush 6
newarray 8
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 12
7: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 3
aaload
bipush 16
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 4
start local 4 8: iload 4
iflt 9
sipush 255
iload 4
if_icmpge 10
9: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "was not a valid MAC address"
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
10: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 4
i2b
bastore
end local 4 11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
bipush 6
if_icmplt 7
end local 3 13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 addr Ljava/lang/String;
2 14 1 parts [Ljava/lang/String;
5 14 2 bytes [B
6 13 3 i I
8 11 4 x I
MethodParameters:
Name Flags
addr
public static java.lang.String stringAddrFromByteAddr(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.net.MacAddress.isMacAddress:([B)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
ldc "%02x:%02x:%02x:%02x:%02x:%02x"
bipush 6
anewarray java.lang.Object
dup
iconst_0
3: aload 0
iconst_0
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_1
aload 0
iconst_1
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_2
aload 0
iconst_2
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_3
aload 0
iconst_3
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_4
aload 0
iconst_4
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_5
aload 0
iconst_5
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
4: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 addr [B
MethodParameters:
Name Flags
addr
private static byte[] byteAddrFromLongAddr(long);
descriptor: (J)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: bipush 6
newarray 8
astore 2
start local 2 1: bipush 6
istore 3
start local 3 2: goto 5
3: StackMap locals: byte[] int
StackMap stack:
aload 2
iload 3
lload 0
l2i
i2b
bastore
4: lload 0
bipush 8
lshr
lstore 0
5: StackMap locals:
StackMap stack:
iload 3
iinc 3 -1
ifgt 3
6: aload 2
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 addr J
1 7 2 bytes [B
2 7 3 index I
MethodParameters:
Name Flags
addr
private static long longAddrFromByteAddr(byte[]);
descriptor: ([B)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokestatic android.net.MacAddress.isMacAddress:([B)Z
ifne 5
2: new java.lang.IllegalArgumentException
dup
3: new java.lang.StringBuilder
dup
aload 0
invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " was not a valid MAC address"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
lconst_0
lstore 1
start local 1 6: aload 0
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: byte[] long top int int byte[]
StackMap stack:
7: aload 6
iload 4
baload
istore 3
start local 3 8: lload 1
bipush 8
lshl
iload 3
invokestatic com.android.internal.util.BitUtils.uint8:(B)I
i2l
ladd
lstore 1
end local 3 9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 7
11: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 addr [B
6 12 1 longAddr J
8 9 3 b B
MethodParameters:
Name Flags
addr
private static long longAddrFromStringAddr(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 2: aload 1
arraylength
bipush 6
if_icmpeq 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " was not a valid MAC address"
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
4: StackMap locals: java.lang.String[]
StackMap stack:
lconst_0
lstore 2
start local 2 5: iconst_0
istore 4
start local 4 6: goto 12
7: StackMap locals: long int
StackMap stack:
aload 1
iload 4
aaload
bipush 16
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 5
start local 5 8: iload 5
iflt 9
sipush 255
iload 5
if_icmpge 10
9: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "was not a valid MAC address"
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
10: StackMap locals:
StackMap stack:
iload 5
i2l
lload 2
bipush 8
lshl
ladd
lstore 2
end local 5 11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
aload 1
arraylength
if_icmplt 7
end local 4 13: lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 addr Ljava/lang/String;
2 14 1 parts [Ljava/lang/String;
5 14 2 longAddr J
6 13 4 i I
8 11 5 x I
MethodParameters:
Name Flags
addr
private static java.lang.String stringAddrFromLongAddr(long);
descriptor: (J)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: ldc "%02x:%02x:%02x:%02x:%02x:%02x"
bipush 6
anewarray java.lang.Object
dup
iconst_0
1: lload 0
bipush 40
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
2: lload 0
bipush 32
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
3: lload 0
bipush 24
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
4: lload 0
bipush 16
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
5: lload 0
bipush 8
lshr
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_5
6: lload 0
ldc 255
land
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
7: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 addr J
MethodParameters:
Name Flags
addr
public static android.net.MacAddress fromString(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/MacAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new android.net.MacAddress
dup
aload 0
invokestatic android.net.MacAddress.longAddrFromStringAddr:(Ljava/lang/String;)J
invokespecial android.net.MacAddress.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 addr Ljava/lang/String;
MethodParameters:
Name Flags
addr
public static android.net.MacAddress fromBytes(byte[]);
descriptor: ([B)Landroid/net/MacAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new android.net.MacAddress
dup
aload 0
invokestatic android.net.MacAddress.longAddrFromByteAddr:([B)J
invokespecial android.net.MacAddress.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 addr [B
MethodParameters:
Name Flags
addr
public static android.net.MacAddress createRandomUnicastAddressWithGoogleBase();
descriptor: ()Landroid/net/MacAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic android.net.MacAddress.BASE_GOOGLE_MAC:Landroid/net/MacAddress;
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
invokestatic android.net.MacAddress.createRandomUnicastAddress:(Landroid/net/MacAddress;Ljava/util/Random;)Landroid/net/MacAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static android.net.MacAddress createRandomUnicastAddress();
descriptor: ()Landroid/net/MacAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=0
0: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
astore 0
start local 0 1: aload 0
invokevirtual java.security.SecureRandom.nextLong:()J
ldc 281474976710655
land
lstore 1
start local 1 2: lload 1
getstatic android.net.MacAddress.LOCALLY_ASSIGNED_MASK:J
lor
lstore 1
3: lload 1
getstatic android.net.MacAddress.MULTICAST_MASK:J
ldc -1
lxor
land
lstore 1
4: new android.net.MacAddress
dup
lload 1
invokespecial android.net.MacAddress.<init>:(J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 r Ljava/security/SecureRandom;
2 5 1 addr J
public static android.net.MacAddress createRandomUnicastAddress(android.net.MacAddress, java.util.Random);
descriptor: (Landroid/net/MacAddress;Ljava/util/Random;)Landroid/net/MacAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.MacAddress.mAddr:J
getstatic android.net.MacAddress.OUI_MASK:J
land
getstatic android.net.MacAddress.NIC_MASK:J
aload 1
invokevirtual java.util.Random.nextLong:()J
land
lor
lstore 2
start local 2 1: lload 2
getstatic android.net.MacAddress.LOCALLY_ASSIGNED_MASK:J
lor
lstore 2
2: lload 2
getstatic android.net.MacAddress.MULTICAST_MASK:J
ldc -1
lxor
land
lstore 2
3: new android.net.MacAddress
dup
lload 2
invokespecial android.net.MacAddress.<init>:(J)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 base Landroid/net/MacAddress;
0 4 1 r Ljava/util/Random;
1 4 2 addr J
MethodParameters:
Name Flags
base
r
private static byte[] addr(int[]);
descriptor: ([I)[B
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
arraylength
bipush 6
if_icmpeq 4
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.util.Arrays.toString:([I)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc " was not an array with length equal to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
bipush 6
newarray 8
astore 1
start local 1 5: iconst_0
istore 2
start local 2 6: goto 9
7: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
iaload
i2b
bastore
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
bipush 6
if_icmplt 7
end local 2 10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 in [I
5 11 1 out [B
6 10 2 i I
MethodParameters:
Name Flags
in
}
SourceFile: "MacAddress.java"
NestMembers:
android.net.MacAddress$1 android.net.MacAddress$MacAddressType
InnerClasses:
android.net.MacAddress$1
public abstract MacAddressType = android.net.MacAddress$MacAddressType of android.net.MacAddress
public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable