diff options
| -rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 41a0e6b..3872674 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -4145,7 +4145,9 @@ public class ConnectivityService extends IConnectivityManager.Stub { mIsProvisioningNetwork.set(true); MobileDataStateTracker mdst = (MobileDataStateTracker) mNetTrackers[ConnectivityManager.TYPE_MOBILE]; - mdst.setInternalDataEnable(false); + + // Disable radio until user starts provisioning + mdst.setRadio(false); } else { if (DBG) log("CheckMp.onComplete: warm (no dns/tcp), no url"); } @@ -4651,17 +4653,24 @@ public class ConnectivityService extends IConnectivityManager.Stub { // Mark notification as not visible setProvNotificationVisible(false, ConnectivityManager.TYPE_MOBILE_HIPRI, null, null); - // If provisioning network handle as a special case, + // Check airplane mode + boolean isAirplaneModeOn = Settings.System.getInt(mContext.getContentResolver(), + Settings.Global.AIRPLANE_MODE_ON, 0) == 1; + // If provisioning network and not in airplane mode handle as a special case, // otherwise launch browser with the intent directly. - if (mIsProvisioningNetwork.get()) { + if (mIsProvisioningNetwork.get() && !isAirplaneModeOn) { if (DBG) log("handleMobileProvisioningAction: on prov network enable then launch"); + mIsProvisioningNetwork.set(false); mIsStartingProvisioning.set(true); MobileDataStateTracker mdst = (MobileDataStateTracker) mNetTrackers[ConnectivityManager.TYPE_MOBILE]; + // Radio was disabled on CMP_RESULT_CODE_PROVISIONING_NETWORK, enable it here + mdst.setRadio(true); mdst.setEnableFailFastMobileData(DctConstants.ENABLED); mdst.enableMobileProvisioning(url); } else { if (DBG) log("handleMobileProvisioningAction: not prov network, launch browser directly"); + mIsProvisioningNetwork.set(false); Intent newIntent = Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_BROWSER); newIntent.setData(Uri.parse(url)); |
