summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Remi NGUYEN VAN <reminv@google.com> 2019-01-21 15:36:17 -0800
committer android-build-merger <android-build-merger@google.com> 2019-01-21 15:36:17 -0800
commit4bf93bb9c47950c3375cd1da2a3bd0dd1a4e89c9 (patch)
treea75389806129b66fd3dfa3ed74666381f91d6623
parent8376dfba3ea6ef3c6798144a99571ddb98d289ae (diff)
parent79a6d5e30c02509ba3241d66324b9d9386b42a15 (diff)
Merge "Add fields used by NetworkStack to the API"
am: 79a6d5e30c Change-Id: Iaf2dfea8263a1c7e78130222126e2ebbaa84fedd
-rwxr-xr-xapi/current.txt1
-rw-r--r--api/system-current.txt15
-rw-r--r--api/test-current.txt18
-rw-r--r--core/java/android/net/LinkAddress.java11
-rw-r--r--core/java/android/net/MacAddress.java2
-rw-r--r--core/java/android/net/Network.java4
-rw-r--r--core/java/android/net/RouteInfo.java17
-rw-r--r--services/net/java/android/net/util/InterfaceParams.java5
8 files changed, 64 insertions, 9 deletions
diff --git a/api/current.txt b/api/current.txt
index 7a506ee6e81e..bd769e09dec3 100755
--- a/api/current.txt
+++ b/api/current.txt
@@ -27553,6 +27553,7 @@ package android.net {
method public android.net.IpPrefix getDestination();
method public java.net.InetAddress getGateway();
method public String getInterface();
+ method public boolean hasGateway();
method public boolean isDefaultRoute();
method public boolean matches(java.net.InetAddress);
method public void writeToParcel(android.os.Parcel, int);
diff --git a/api/system-current.txt b/api/system-current.txt
index ab45a22730c0..2a68d0efc5cf 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -3044,6 +3044,10 @@ package android.net {
public class LinkAddress implements android.os.Parcelable {
ctor public LinkAddress(java.net.InetAddress, int);
ctor public LinkAddress(String);
+ method public boolean isGlobalPreferred();
+ method public boolean isIPv4();
+ method public boolean isIPv6();
+ method public boolean isSameAddressAs(android.net.LinkAddress);
}
public final class LinkProperties implements android.os.Parcelable {
@@ -3058,6 +3062,10 @@ package android.net {
method public void setMtu(int);
}
+ public class Network implements android.os.Parcelable {
+ method public android.net.Network getPrivateDnsBypassingCopy();
+ }
+
public final class NetworkCapabilities implements android.os.Parcelable {
method public int getSignalStrength();
field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
@@ -3099,6 +3107,13 @@ package android.net {
field public static final String EXTRA_PACKAGE_NAME = "packageName";
}
+ public final class RouteInfo implements android.os.Parcelable {
+ method public int getType();
+ field public static final int RTN_THROW = 9; // 0x9
+ field public static final int RTN_UNICAST = 1; // 0x1
+ field public static final int RTN_UNREACHABLE = 7; // 0x7
+ }
+
public class RssiCurve implements android.os.Parcelable {
ctor public RssiCurve(int, int, byte[]);
ctor public RssiCurve(int, int, byte[], int);
diff --git a/api/test-current.txt b/api/test-current.txt
index 5e7ce650e616..9574520e3370 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -602,11 +602,29 @@ package android.net {
field public static final int INVALID_SECURITY_PARAMETER_INDEX = 0; // 0x0
}
+ public class LinkAddress implements android.os.Parcelable {
+ method public boolean isGlobalPreferred();
+ method public boolean isIPv4();
+ method public boolean isIPv6();
+ method public boolean isSameAddressAs(android.net.LinkAddress);
+ }
+
+ public class Network implements android.os.Parcelable {
+ method public android.net.Network getPrivateDnsBypassingCopy();
+ }
+
public final class NetworkCapabilities implements android.os.Parcelable {
method public int[] getCapabilities();
method public int[] getTransportTypes();
}
+ public final class RouteInfo implements android.os.Parcelable {
+ method public int getType();
+ field public static final int RTN_THROW = 9; // 0x9
+ field public static final int RTN_UNICAST = 1; // 0x1
+ field public static final int RTN_UNREACHABLE = 7; // 0x7
+ }
+
public class TrafficStats {
method public static long getLoopbackRxBytes();
method public static long getLoopbackRxPackets();
diff --git a/core/java/android/net/LinkAddress.java b/core/java/android/net/LinkAddress.java
index b40f15ae17ba..a536d08876d6 100644
--- a/core/java/android/net/LinkAddress.java
+++ b/core/java/android/net/LinkAddress.java
@@ -26,6 +26,7 @@ import static android.system.OsConstants.RT_SCOPE_SITE;
import static android.system.OsConstants.RT_SCOPE_UNIVERSE;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.Parcel;
@@ -117,7 +118,8 @@ public class LinkAddress implements Parcelable {
* @return true if the address is IPv6.
* @hide
*/
- @UnsupportedAppUsage
+ @TestApi
+ @SystemApi
public boolean isIPv6() {
return address instanceof Inet6Address;
}
@@ -126,6 +128,8 @@ public class LinkAddress implements Parcelable {
* @return true if the address is IPv4 or is a mapped IPv4 address.
* @hide
*/
+ @TestApi
+ @SystemApi
public boolean isIPv4() {
return address instanceof Inet4Address;
}
@@ -263,7 +267,8 @@ public class LinkAddress implements Parcelable {
* otherwise.
* @hide
*/
- @UnsupportedAppUsage
+ @TestApi
+ @SystemApi
public boolean isSameAddressAs(LinkAddress other) {
return address.equals(other.address) && prefixLength == other.prefixLength;
}
@@ -310,6 +315,8 @@ public class LinkAddress implements Parcelable {
* Returns true if this {@code LinkAddress} is global scope and preferred.
* @hide
*/
+ @TestApi
+ @SystemApi
public boolean isGlobalPreferred() {
/**
* Note that addresses flagged as IFA_F_OPTIMISTIC are
diff --git a/core/java/android/net/MacAddress.java b/core/java/android/net/MacAddress.java
index 058cb941bfbc..c2b7d2c71b32 100644
--- a/core/java/android/net/MacAddress.java
+++ b/core/java/android/net/MacAddress.java
@@ -52,6 +52,8 @@ public final class MacAddress implements Parcelable {
/**
* The MacAddress zero MAC address.
+ *
+ * <p>Not publicly exposed or treated specially since the OUI 00:00:00 is registered.
* @hide
*/
@UnsupportedAppUsage
diff --git a/core/java/android/net/Network.java b/core/java/android/net/Network.java
index bf2344d4a9f6..2c831de72051 100644
--- a/core/java/android/net/Network.java
+++ b/core/java/android/net/Network.java
@@ -16,6 +16,8 @@
package android.net;
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
@@ -157,6 +159,8 @@ public class Network implements Parcelable {
*
* @hide
*/
+ @TestApi
+ @SystemApi
public Network getPrivateDnsBypassingCopy() {
return new Network(netId, true);
}
diff --git a/core/java/android/net/RouteInfo.java b/core/java/android/net/RouteInfo.java
index 37ab9ffb1f5b..6bf2c67da990 100644
--- a/core/java/android/net/RouteInfo.java
+++ b/core/java/android/net/RouteInfo.java
@@ -16,16 +16,17 @@
package android.net;
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
-import java.net.UnknownHostException;
-import java.net.InetAddress;
import java.net.Inet4Address;
import java.net.Inet6Address;
-
+import java.net.InetAddress;
+import java.net.UnknownHostException;
import java.util.Collection;
import java.util.Objects;
@@ -67,12 +68,18 @@ public final class RouteInfo implements Parcelable {
/** Unicast route. @hide */
+ @SystemApi
+ @TestApi
public static final int RTN_UNICAST = 1;
/** Unreachable route. @hide */
+ @SystemApi
+ @TestApi
public static final int RTN_UNREACHABLE = 7;
/** Throw route. @hide */
+ @SystemApi
+ @TestApi
public static final int RTN_THROW = 9;
/**
@@ -317,6 +324,8 @@ public final class RouteInfo implements Parcelable {
*
* @hide
*/
+ @TestApi
+ @SystemApi
public int getType() {
return mType;
}
@@ -362,9 +371,7 @@ public final class RouteInfo implements Parcelable {
* ({@code false}).
*
* @return {@code true} if a gateway is specified
- * @hide
*/
- @UnsupportedAppUsage
public boolean hasGateway() {
return mHasGateway;
}
diff --git a/services/net/java/android/net/util/InterfaceParams.java b/services/net/java/android/net/util/InterfaceParams.java
index a4b2fbb6d963..7b060da01a89 100644
--- a/services/net/java/android/net/util/InterfaceParams.java
+++ b/services/net/java/android/net/util/InterfaceParams.java
@@ -16,9 +16,9 @@
package android.net.util;
-import static android.net.MacAddress.ALL_ZEROS_ADDRESS;
import static android.net.util.NetworkConstants.ETHER_MTU;
import static android.net.util.NetworkConstants.IPV6_MIN_MTU;
+
import static com.android.internal.util.Preconditions.checkArgument;
import android.net.MacAddress;
@@ -67,7 +67,8 @@ public class InterfaceParams {
checkArgument((index > 0), "invalid interface index");
this.name = name;
this.index = index;
- this.macAddr = (macAddr != null) ? macAddr : ALL_ZEROS_ADDRESS;
+ this.macAddr = (macAddr != null) ? macAddr : MacAddress.fromBytes(new byte[] {
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 });
this.defaultMtu = (defaultMtu > IPV6_MIN_MTU) ? defaultMtu : IPV6_MIN_MTU;
}