Merge "checkMobileProvisioning should not block." into klp-dev
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 3c88222..19b762d 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -3987,40 +3987,6 @@
// Start off with notification off
setProvNotificationVisible(false, ConnectivityManager.TYPE_NONE, null, null);
- // See if we've alreadying determined if we've got a provsioning connection
- // if so we don't need to do anything active
- MobileDataStateTracker mdstDefault = (MobileDataStateTracker)
- mNetTrackers[ConnectivityManager.TYPE_MOBILE];
- boolean isDefaultProvisioning = mdstDefault.isProvisioningNetwork();
-
- MobileDataStateTracker mdstHipri = (MobileDataStateTracker)
- mNetTrackers[ConnectivityManager.TYPE_MOBILE_HIPRI];
- boolean isHipriProvisioning = mdstHipri.isProvisioningNetwork();
-
- if (isDefaultProvisioning || isHipriProvisioning) {
- if (mIsNotificationVisible) {
- if (DBG) {
- log("checkMobileProvisioning: provisioning-ignore notification is visible");
- }
- } else {
- NetworkInfo ni = null;
- if (isDefaultProvisioning) {
- ni = mdstDefault.getNetworkInfo();
- }
- if (isHipriProvisioning) {
- ni = mdstHipri.getNetworkInfo();
- }
- String url = getMobileProvisioningUrl();
- if ((ni != null) && (!TextUtils.isEmpty(url))) {
- setProvNotificationVisible(true, ni.getType(), ni.getExtraInfo(), url);
- } else {
- if (DBG) log("checkMobileProvisioning: provisioning but no url, ignore");
- }
- }
- mIsCheckingMobileProvisioning.set(false);
- return timeOutMs;
- }
-
CheckMp checkMp = new CheckMp(mContext, this);
CheckMp.CallBack cb = new CheckMp.CallBack() {
@Override
@@ -4154,8 +4120,26 @@
mParams = params;
if (mCs.isNetworkSupported(ConnectivityManager.TYPE_MOBILE) == false) {
- log("isMobileOk: not mobile capable");
result = CMP_RESULT_CODE_NO_CONNECTION;
+ log("isMobileOk: X not mobile capable result=" + result);
+ return result;
+ }
+
+ // See if we've already determined we've got a provisioning connection,
+ // if so we don't need to do anything active.
+ MobileDataStateTracker mdstDefault = (MobileDataStateTracker)
+ mCs.mNetTrackers[ConnectivityManager.TYPE_MOBILE];
+ boolean isDefaultProvisioning = mdstDefault.isProvisioningNetwork();
+ log("isMobileOk: isDefaultProvisioning=" + isDefaultProvisioning);
+
+ MobileDataStateTracker mdstHipri = (MobileDataStateTracker)
+ mCs.mNetTrackers[ConnectivityManager.TYPE_MOBILE_HIPRI];
+ boolean isHipriProvisioning = mdstHipri.isProvisioningNetwork();
+ log("isMobileOk: isHipriProvisioning=" + isHipriProvisioning);
+
+ if (isDefaultProvisioning || isHipriProvisioning) {
+ result = CMP_RESULT_CODE_PROVISIONING_NETWORK;
+ log("isMobileOk: X default || hipri is provisioning result=" + result);
return result;
}
@@ -4217,8 +4201,8 @@
MobileDataStateTracker mdst = (MobileDataStateTracker)
mCs.mNetTrackers[ConnectivityManager.TYPE_MOBILE_HIPRI];
if (mdst.isProvisioningNetwork()) {
- if (DBG) log("isMobileOk: isProvisioningNetwork is true");
result = CMP_RESULT_CODE_PROVISIONING_NETWORK;
+ if (DBG) log("isMobileOk: X isProvisioningNetwork result=" + result);
return result;
} else {
if (DBG) log("isMobileOk: isProvisioningNetwork is false, continue");
@@ -4233,8 +4217,8 @@
try {
addresses = InetAddress.getAllByName(orgUri.getHost());
} catch (UnknownHostException e) {
- log("isMobileOk: UnknownHostException");
result = CMP_RESULT_CODE_NO_DNS;
+ log("isMobileOk: X UnknownHostException result=" + result);
return result;
}
log("isMobileOk: addresses=" + inetAddressesToString(addresses));
@@ -4309,8 +4293,9 @@
if (responseCode == 204) {
// Return
- log("isMobileOk: expected responseCode=" + responseCode);
result = CMP_RESULT_CODE_CONNECTABLE;
+ log("isMobileOk: X expected responseCode=" + responseCode
+ + " result=" + result);
return result;
} else {
// Retry to be sure this was redirected, we've gotten
@@ -4328,7 +4313,7 @@
}
}
}
- log("isMobileOk: loops|timed out result=" + result);
+ log("isMobileOk: X loops|timed out result=" + result);
return result;
} catch (Exception e) {
log("isMobileOk: Exception e=" + e);