am fe2c421f: Merge "Listen for network disconnect." into jb-mr2-dev

* commit 'fe2c421fa9051dd0608e9340c5ec641e5f83f651':
  Listen for network disconnect.
This commit is contained in:
Robert Greenwalt
2013-04-23 03:51:08 -07:00
committed by Android Git Automerger
2 changed files with 18 additions and 1 deletions

View File

@@ -129,4 +129,6 @@ interface IConnectivityManager
void captivePortalCheckComplete(in NetworkInfo info); void captivePortalCheckComplete(in NetworkInfo info);
void supplyMessenger(int networkType, in Messenger messenger); void supplyMessenger(int networkType, in Messenger messenger);
int findConnectionTypeForIface(in String iface);
} }

View File

@@ -544,7 +544,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
mTethering.getTetherableBluetoothRegexs().length != 0) && mTethering.getTetherableBluetoothRegexs().length != 0) &&
mTethering.getUpstreamIfaceTypes().length != 0); mTethering.getUpstreamIfaceTypes().length != 0);
mVpn = new Vpn(mContext, mVpnCallback, mNetd); mVpn = new Vpn(mContext, mVpnCallback, mNetd, this);
mVpn.startMonitoring(mContext, mTrackerHandler); mVpn.startMonitoring(mContext, mTrackerHandler);
mClat = new Nat464Xlat(mContext, mNetd, this, mTrackerHandler); mClat = new Nat464Xlat(mContext, mNetd, this, mTrackerHandler);
@@ -3448,4 +3448,19 @@ public class ConnectivityService extends IConnectivityManager.Stub {
mNetTrackers[networkType].supplyMessenger(messenger); mNetTrackers[networkType].supplyMessenger(messenger);
} }
} }
public int findConnectionTypeForIface(String iface) {
enforceConnectivityInternalPermission();
if (TextUtils.isEmpty(iface)) return ConnectivityManager.TYPE_NONE;
for (NetworkStateTracker tracker : mNetTrackers) {
if (tracker != null) {
LinkProperties lp = tracker.getLinkProperties();
if (lp != null && iface.equals(lp.getInterfaceName())) {
return tracker.getNetworkInfo().getType();
}
}
}
return ConnectivityManager.TYPE_NONE;
}
} }