summaryrefslogtreecommitdiffstats
path: root/core/java/android/net/NetworkStateTracker.java
diff options
context:
space:
mode:
authorBanavathu, Srinivas Naik <snb@codeaurora.org>2010-08-10 20:13:53 +0530
committerBanavathu Srinivas Naik <snb@codeaurora.org>2010-08-19 12:50:35 -0700
commit9bc709d46e1165ca0c9a02bd970767c401b990e5 (patch)
tree37e71098bad349ce6cedf0f3984878a30d763174 /core/java/android/net/NetworkStateTracker.java
parent0b7bd95d69763573b87f95d4e9cab7d7358e9b93 (diff)
downloadframeworks_base-9bc709d46e1165ca0c9a02bd970767c401b990e5.zip
frameworks_base-9bc709d46e1165ca0c9a02bd970767c401b990e5.tar.gz
frameworks_base-9bc709d46e1165ca0c9a02bd970767c401b990e5.tar.bz2
Add an API to request route to an IPv6 host.
Add API to create a route to an IPv6 host through a particular interface. Change-Id: I7649051e94832576e02b5f5ad17abe093d21d48e
Diffstat (limited to 'core/java/android/net/NetworkStateTracker.java')
-rw-r--r--core/java/android/net/NetworkStateTracker.java32
1 files changed, 23 insertions, 9 deletions
diff --git a/core/java/android/net/NetworkStateTracker.java b/core/java/android/net/NetworkStateTracker.java
index 1fb0144..5eb36ca 100644
--- a/core/java/android/net/NetworkStateTracker.java
+++ b/core/java/android/net/NetworkStateTracker.java
@@ -18,13 +18,14 @@ package android.net;
import java.io.FileWriter;
import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
import android.os.Handler;
import android.os.Message;
import android.os.SystemProperties;
import android.content.Context;
import android.text.TextUtils;
-import android.util.Config;
import android.util.Log;
@@ -129,13 +130,18 @@ public abstract class NetworkStateTracker extends Handler {
}
if (mInterfaceName != null && !mPrivateDnsRouteSet) {
for (String addrString : getNameServers()) {
- int addr = NetworkUtils.lookupHost(addrString);
- if (addr != -1 && addr != 0) {
- if (DBG) Log.d(TAG, " adding "+addrString+" ("+addr+")");
- NetworkUtils.addHostRoute(mInterfaceName, addr);
+ if (addrString != null) {
+ try {
+ InetAddress inetAddress = InetAddress.getByName(addrString);
+ if (DBG) Log.d(TAG, " adding " + addrString);
+ if (NetworkUtils.addHostRoute(mInterfaceName, inetAddress, null)) {
+ mPrivateDnsRouteSet = true;
+ }
+ } catch (UnknownHostException e) {
+ if (DBG) Log.d(TAG, " DNS address " + addrString + " : Exception " + e);
+ }
}
}
- mPrivateDnsRouteSet = true;
}
}
@@ -159,8 +165,16 @@ public abstract class NetworkStateTracker extends Handler {
Log.d(TAG, "addDefaultRoute for " + mNetworkInfo.getTypeName() +
" (" + mInterfaceName + "), GatewayAddr=" + mDefaultGatewayAddr);
}
- NetworkUtils.setDefaultRoute(mInterfaceName, mDefaultGatewayAddr);
- mDefaultRouteSet = true;
+ InetAddress inetAddress = NetworkUtils.intToInetAddress(mDefaultGatewayAddr);
+ if (inetAddress == null) {
+ if (DBG) Log.d(TAG, " Unable to add default route. mDefaultGatewayAddr Error");
+ } else {
+ if (NetworkUtils.addDefaultRoute(mInterfaceName, inetAddress)) {
+ mDefaultRouteSet = true;
+ } else {
+ if (DBG) Log.d(TAG, " Unable to add default route.");
+ }
+ }
}
}
@@ -398,7 +412,7 @@ public abstract class NetworkStateTracker extends Handler {
* @param hostAddress the IP address of the host to which the route is desired
* @return {@code true} on success, {@code false} on failure
*/
- public boolean requestRouteToHost(int hostAddress) {
+ public boolean requestRouteToHost(InetAddress hostAddress) {
return false;
}