Merge change 24588 into eclair
* changes: Fix for multi-apn MMS access.
This commit is contained in:
@@ -145,12 +145,14 @@ public class MobileDataStateTracker extends NetworkStateTracker {
|
|||||||
if (DBG) Log.d(TAG, mApnType + " Received " + intent.getAction() +
|
if (DBG) Log.d(TAG, mApnType + " Received " + intent.getAction() +
|
||||||
" broadcast - state = " + state + ", oldstate = " + mMobileDataState +
|
" broadcast - state = " + state + ", oldstate = " + mMobileDataState +
|
||||||
", unavailable = " + unavailable + ", reason = " +
|
", unavailable = " + unavailable + ", reason = " +
|
||||||
(reason == null ? "(unspecified)" : reason));
|
(reason == null ? "(unspecified)" : reason) +
|
||||||
|
", apnTypeList = " + apnTypeList);
|
||||||
|
|
||||||
|
// set this regardless of the apnTypeList. It's all the same radio/network
|
||||||
|
// underneath
|
||||||
|
mNetworkInfo.setIsAvailable(!unavailable);
|
||||||
|
|
||||||
if (isApnTypeIncluded(apnTypeList)) {
|
if (isApnTypeIncluded(apnTypeList)) {
|
||||||
// set this even if the apn isn't Enabled
|
|
||||||
mNetworkInfo.setIsAvailable(!unavailable);
|
|
||||||
if (mEnabled == false) {
|
if (mEnabled == false) {
|
||||||
// if we're not enabled but the APN Type is supported by this connection
|
// if we're not enabled but the APN Type is supported by this connection
|
||||||
// we should record the interface name if one's provided. If the user
|
// we should record the interface name if one's provided. If the user
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ public class NetworkInfo implements Parcelable {
|
|||||||
mSubtypeName = subtypeName;
|
mSubtypeName = subtypeName;
|
||||||
setDetailedState(DetailedState.IDLE, null, null);
|
setDetailedState(DetailedState.IDLE, null, null);
|
||||||
mState = State.UNKNOWN;
|
mState = State.UNKNOWN;
|
||||||
mIsAvailable = true;
|
mIsAvailable = false; // until we're told otherwise, assume unavailable
|
||||||
mIsRoaming = false;
|
mIsRoaming = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -640,20 +640,14 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
NetworkStateTracker tracker = mNetTrackers[networkType];
|
NetworkStateTracker tracker = mNetTrackers[networkType];
|
||||||
/*
|
|
||||||
* If there's only one connected network, and it's the one requested,
|
if (!tracker.getNetworkInfo().isConnected() || tracker.isTeardownRequested()) {
|
||||||
* then we don't have to do anything - the requested route already
|
if (DBG) {
|
||||||
* exists. If it's not the requested network, then it's not possible
|
Log.d(TAG, "requestRouteToHost on down network (" + networkType + " - dropped");
|
||||||
* to establish the requested route. Finally, if there is more than
|
}
|
||||||
* one connected network, then we must insert an entry in the routing
|
return false;
|
||||||
* table.
|
|
||||||
*/
|
|
||||||
if (getNumConnectedNetworks() > 1) {
|
|
||||||
return tracker.requestRouteToHost(hostAddress);
|
|
||||||
} else {
|
|
||||||
return (mNetAttributes[networkType].isDefault() &&
|
|
||||||
tracker.getNetworkInfo().isConnected());
|
|
||||||
}
|
}
|
||||||
|
return tracker.requestRouteToHost(hostAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user