summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2013-09-13 20:55:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-09-13 20:59:16 +0000
commit7770dcc3d351a494d0f5fe44feb776cc512e9b18 (patch)
treef53c5cd62eab915c10dea6fc24798be17129c918 /services/java/com/android/server/ConnectivityService.java
parent312c495f4b8d002264772f61fe1fa3ef87bf3e52 (diff)
parentd95ccc5c6a56ffbfd00727af72f8c90e50fda4f0 (diff)
Merge "checkMobileProvisioning should not block." into klp-dev
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-rw-r--r--services/java/com/android/server/ConnectivityService.java63
1 files changed, 24 insertions, 39 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 3c88222f6163..19b762d39c0e 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -3987,40 +3987,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
// 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 @@ public class ConnectivityService extends IConnectivityManager.Stub {
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 @@ public class ConnectivityService extends IConnectivityManager.Stub {
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 @@ public class ConnectivityService extends IConnectivityManager.Stub {
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 @@ public class ConnectivityService extends IConnectivityManager.Stub {
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 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
}
}
- 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);