Merge "Fix Default route after secondary net use." into gingerbread

This commit is contained in:
Robert Greenwalt
2011-03-26 08:58:01 -07:00
committed by Android (Google) Code Review
2 changed files with 5 additions and 0 deletions

View File

@ -246,6 +246,9 @@ public class MobileDataStateTracker extends NetworkStateTracker {
Log.d(TAG, "CONNECTED event did not supply interface name.");
}
mDefaultGatewayAddr = intent.getIntExtra(Phone.DATA_GATEWAY_KEY, 0);
if (mDefaultGatewayAddr == 0) {
Log.d(TAG, "CONNECTED event did not supply a default gateway.");
}
setDetailedState(DetailedState.CONNECTED, reason, apnName);
break;
}
@ -384,6 +387,7 @@ public class MobileDataStateTracker extends NetworkStateTracker {
intent.putExtra(Phone.DATA_APN_KEY, mApnName);
intent.putExtra(Phone.DATA_IFACE_NAME_KEY, mInterfaceName);
intent.putExtra(Phone.NETWORK_UNAVAILABLE_KEY, false);
intent.putExtra(Phone.DATA_GATEWAY_KEY, mDefaultGatewayAddr);
if (mStateReceiver != null) mStateReceiver.onReceive(mContext, intent);
break;
case Phone.APN_REQUEST_STARTED:

View File

@ -162,6 +162,7 @@ public abstract class NetworkStateTracker extends Handler {
Log.d(TAG, "addDefaultRoute for " + mNetworkInfo.getTypeName() +
" (" + mInterfaceName + "), GatewayAddr=" + mDefaultGatewayAddr);
}
NetworkUtils.addHostRoute(mInterfaceName, mDefaultGatewayAddr);
NetworkUtils.setDefaultRoute(mInterfaceName, mDefaultGatewayAddr);
}
}