am 9b6363e5: am cbad1243: Merge "Check that hipri has started." into jb-mr2-dev

* commit '9b6363e5e6d37e3e8d103751d81613eeca32bbbf':
  Check that hipri has started.
This commit is contained in:
Wink Saville
2013-08-08 15:46:46 -07:00
committed by Android Git Automerger

View File

@@ -3732,11 +3732,26 @@ public class ConnectivityService extends IConnectivityManager.Stub {
// hipri connection so the default connection stays active. // hipri connection so the default connection stays active.
log("isMobileOk: start hipri url=" + params.mUrl); log("isMobileOk: start hipri url=" + params.mUrl);
mCs.setEnableFailFastMobileData(DctConstants.ENABLED); mCs.setEnableFailFastMobileData(DctConstants.ENABLED);
mCs.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
Phone.FEATURE_ENABLE_HIPRI, new Binder());
// Continue trying to connect until time has run out // Continue trying to connect until time has run out
long endTime = SystemClock.elapsedRealtime() + params.mTimeOutMs; long endTime = SystemClock.elapsedRealtime() + params.mTimeOutMs;
// First wait until we can start using hipri
Binder binder = new Binder();
while(SystemClock.elapsedRealtime() < endTime) {
int ret = mCs.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
Phone.FEATURE_ENABLE_HIPRI, binder);
if ((ret == PhoneConstants.APN_ALREADY_ACTIVE)
|| (ret == PhoneConstants.APN_REQUEST_STARTED)) {
log("isMobileOk: hipri started");
break;
}
if (VDBG) log("isMobileOk: hipri not started yet");
result = ConnectivityManager.CMP_RESULT_CODE_NO_CONNECTION;
sleep(1);
}
// Continue trying to connect until time has run out
while(SystemClock.elapsedRealtime() < endTime) { while(SystemClock.elapsedRealtime() < endTime) {
try { try {
// Wait for hipri to connect. // Wait for hipri to connect.
@@ -3745,8 +3760,10 @@ public class ConnectivityService extends IConnectivityManager.Stub {
NetworkInfo.State state = mCs NetworkInfo.State state = mCs
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE_HIPRI).getState(); .getNetworkInfo(ConnectivityManager.TYPE_MOBILE_HIPRI).getState();
if (state != NetworkInfo.State.CONNECTED) { if (state != NetworkInfo.State.CONNECTED) {
log("isMobileOk: not connected ni=" + if (VDBG) {
log("isMobileOk: not connected ni=" +
mCs.getNetworkInfo(ConnectivityManager.TYPE_MOBILE_HIPRI)); mCs.getNetworkInfo(ConnectivityManager.TYPE_MOBILE_HIPRI));
}
sleep(1); sleep(1);
result = ConnectivityManager.CMP_RESULT_CODE_NO_CONNECTION; result = ConnectivityManager.CMP_RESULT_CODE_NO_CONNECTION;
continue; continue;