Merge "Add Network-specific host name resolution API." am: a4e602ed6a
Original change: undetermined
Change-Id: Ia6b2972139c68c7a224efb9dbb474317b8101ed2
diff --git a/core/java/android/net/Network.java b/core/java/android/net/Network.java
index f82bc22..ac1289b 100644
--- a/core/java/android/net/Network.java
+++ b/core/java/android/net/Network.java
@@ -19,6 +19,8 @@
import android.os.Parcelable;
import android.os.Parcel;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
/**
* Identifies the Network.
@@ -36,6 +38,32 @@
this.netId = that.netId;
}
+ /**
+ * Operates the same as {@code InetAddress.getAllByName} except that host
+ * resolution is done on this network.
+ *
+ * @param host the hostname or literal IP string to be resolved.
+ * @return the array of addresses associated with the specified host.
+ * @throws UnknownHostException if the address lookup fails.
+ */
+ public InetAddress[] getAllByName(String host) throws UnknownHostException {
+ return InetAddress.getAllByNameOnNet(host, netId);
+ }
+
+ /**
+ * Operates the same as {@code InetAddress.getByName} except that host
+ * resolution is done on this network.
+ *
+ * @param host
+ * the hostName to be resolved to an address or {@code null}.
+ * @return the {@code InetAddress} instance representing the host.
+ * @throws UnknownHostException
+ * if the address lookup fails.
+ */
+ public InetAddress getByName(String host) throws UnknownHostException {
+ return InetAddress.getByNameOnNet(host, netId);
+ }
+
// implement the Parcelable interface
public int describeContents() {
return 0;