diff --git a/api/current.txt b/api/current.txt index 10b36288f1eb0..ba107f4b54f24 100644 --- a/api/current.txt +++ b/api/current.txt @@ -25838,6 +25838,23 @@ package android.net { enum_constant public static final android.net.LocalSocketAddress.Namespace RESERVED; } + public final class MacAddress implements android.os.Parcelable { + method public int addressType(); + method public int describeContents(); + method public static android.net.MacAddress fromBytes(byte[]); + method public static android.net.MacAddress fromString(java.lang.String); + method public boolean isLocallyAssigned(); + method public byte[] toByteArray(); + method public java.lang.String toOuiString(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.net.MacAddress BROADCAST_ADDRESS; + field public static final android.os.Parcelable.Creator CREATOR; + field public static final int TYPE_BROADCAST = 3; // 0x3 + field public static final int TYPE_MULTICAST = 2; // 0x2 + field public static final int TYPE_UNICAST = 1; // 0x1 + field public static final int TYPE_UNKNOWN = 0; // 0x0 + } + public class MailTo { method public java.lang.String getBody(); method public java.lang.String getCc(); diff --git a/core/java/android/net/MacAddress.java b/core/java/android/net/MacAddress.java index 5620a627df7f4..d6992aaede5f2 100644 --- a/core/java/android/net/MacAddress.java +++ b/core/java/android/net/MacAddress.java @@ -33,8 +33,6 @@ import java.util.Random; * * This class only supports 48 bits long addresses and does not support 64 bits long addresses. * Instances of this class are immutable. - * - * @hide */ public final class MacAddress implements Parcelable { @@ -132,11 +130,12 @@ public final class MacAddress implements Parcelable { } /** - * @return a String representation of the OUI part of this MacAddres, - * with the lower 3 bytes constituting the NIC part replaced with 0. + * @return a String representation of the OUI part of this MacAddress made of 3 hexadecimal + * numbers in [0,ff] joined by ':' characters. */ - public String toSafeString() { - return stringAddrFromLongAddr(mAddr & OUI_MASK); + public String toOuiString() { + return String.format( + "%02x:%02x:%02x", (mAddr >> 40) & 0xff, (mAddr >> 32) & 0xff, (mAddr >> 24) & 0xff); } @Override diff --git a/tests/net/java/android/net/MacAddressTest.java b/tests/net/java/android/net/MacAddressTest.java index 558dbb69aeb6b..473dc538f09d8 100644 --- a/tests/net/java/android/net/MacAddressTest.java +++ b/tests/net/java/android/net/MacAddressTest.java @@ -73,18 +73,18 @@ public class MacAddressTest { } @Test - public void testToSafeString() { + public void testToOuiString() { String[][] macs = { - {"07:00:d3:56:8a:c4", "07:00:d3:00:00:00"}, - {"33:33:aa:bb:cc:dd", "33:33:aa:00:00:00"}, - {"06:00:00:00:00:00", "06:00:00:00:00:00"}, - {"07:00:d3:56:8a:c4", "07:00:d3:00:00:00"} + {"07:00:d3:56:8a:c4", "07:00:d3"}, + {"33:33:aa:bb:cc:dd", "33:33:aa"}, + {"06:00:00:00:00:00", "06:00:00"}, + {"07:00:d3:56:8a:c4", "07:00:d3"} }; for (String[] pair : macs) { String mac = pair[0]; String expected = pair[1]; - assertEquals(expected, MacAddress.fromString(mac).toSafeString()); + assertEquals(expected, MacAddress.fromString(mac).toOuiString()); } }