summaryrefslogtreecommitdiff
path: root/core/java/android/net/MobileDataStateTracker.java
diff options
context:
space:
mode:
authorRobert Greenwalt <robdroid@android.com>2010-06-15 15:43:39 -0700
committerRobert Greenwalt <robdroid@android.com>2010-07-13 18:07:41 -0700
commit47f69fe2999e46004f2f2463b70d38de9ff7079a (patch)
tree875b979084ecb5f10e78c70baec531ea8d8e8b91 /core/java/android/net/MobileDataStateTracker.java
parent50331a1e2f1f36e78886832a694ca8fbc8d0cafc (diff)
Pass network properties to ConnectivityService.
Used as a bag to hold ipaddr, gateway, dns, proxy info. addr's are InetAddresses for v4/v6 use. Cleaning up some old v4-only code bug:2655015 Change-Id: I7ac886fe5c519e8bab42f49cd82a5189d9c9ab59
Diffstat (limited to 'core/java/android/net/MobileDataStateTracker.java')
-rw-r--r--core/java/android/net/MobileDataStateTracker.java29
1 files changed, 15 insertions, 14 deletions
diff --git a/core/java/android/net/MobileDataStateTracker.java b/core/java/android/net/MobileDataStateTracker.java
index 5fd5315fe888..e74db6702366 100644
--- a/core/java/android/net/MobileDataStateTracker.java
+++ b/core/java/android/net/MobileDataStateTracker.java
@@ -29,6 +29,7 @@ import com.android.internal.telephony.Phone;
import com.android.internal.telephony.TelephonyIntents;
import android.net.NetworkInfo.DetailedState;
import android.net.NetworkInfo;
+import android.net.NetworkProperties;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.text.TextUtils;
@@ -55,7 +56,7 @@ public class MobileDataStateTracker implements NetworkStateTracker {
private boolean mTeardownRequested = false;
private Handler mTarget;
private Context mContext;
- private String mInterfaceName;
+ private NetworkProperties mNetworkProperties;
private boolean mPrivateDnsRouteSet = false;
private int mDefaultGatewayAddr = 0;
private boolean mDefaultRouteSet = false;
@@ -101,14 +102,6 @@ public class MobileDataStateTracker implements NetworkStateTracker {
return sDnsPropNames;
}
- /**
- * Return the name of our network interface.
- * @return the name of our interface.
- */
- public String getInterfaceName() {
- return mInterfaceName;
- }
-
public boolean isPrivateDnsRouteSet() {
return mPrivateDnsRouteSet;
}
@@ -211,9 +204,11 @@ public class MobileDataStateTracker implements NetworkStateTracker {
}
setDetailedState(DetailedState.DISCONNECTED, reason, apnName);
- if (mInterfaceName != null) {
- NetworkUtils.resetConnections(mInterfaceName);
+ if (mNetworkProperties != null) {
+ NetworkUtils.resetConnections(mNetworkProperties.getInterface().
+ getName());
}
+ // TODO - check this
// can't do this here - ConnectivityService needs it to clear stuff
// it's ok though - just leave it to be refreshed next time
// we connect.
@@ -229,9 +224,11 @@ public class MobileDataStateTracker implements NetworkStateTracker {
setDetailedState(DetailedState.SUSPENDED, reason, apnName);
break;
case CONNECTED:
- mInterfaceName = intent.getStringExtra(Phone.DATA_IFACE_NAME_KEY);
- if (mInterfaceName == null) {
- Log.d(TAG, "CONNECTED event did not supply interface name.");
+ mNetworkProperties = intent.getParcelableExtra(
+ Phone.DATA_NETWORK_PROPERTIES_KEY);
+ if (mNetworkProperties == null) {
+ Log.d(TAG,
+ "CONNECTED event did not supply network properties.");
}
setDetailedState(DetailedState.CONNECTED, reason, apnName);
break;
@@ -565,4 +562,8 @@ public class MobileDataStateTracker implements NetworkStateTracker {
return null;
}
}
+
+ public NetworkProperties getNetworkProperties() {
+ return mNetworkProperties;
+ }
}