summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hugo Benichi <hugobenichi@google.com> 2017-12-18 23:43:06 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-12-18 23:43:06 +0000
commitc5212b665486d9db34a726e4d9d8e7bd1fa09f1b (patch)
tree144d150d203e65cd0d2ed79a1a21d044e33fffb0
parent7be7d422a24b22b32be950893843494b851b547c (diff)
parenta0ecf38d302ef67aa9f767b1072369f8c417952d (diff)
Merge changes I798d8fec,I4a2d5866
* changes: MacAddress: address api review comments Expose the MacAddress class in the api
-rw-r--r--api/current.txt17
-rw-r--r--core/java/android/net/MacAddress.java11
-rw-r--r--tests/net/java/android/net/MacAddressTest.java12
3 files changed, 28 insertions, 12 deletions
diff --git a/api/current.txt b/api/current.txt
index 10b36288f1eb..ba107f4b54f2 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<android.net.MacAddress> 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 5620a627df7f..d6992aaede5f 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 558dbb69aeb6..473dc538f09d 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());
}
}