am e5a28d34: am 20c5ce50: Handle provisioning APN by turning off/on radio.

* commit 'e5a28d34f662c469f85590dda28fc02eca12204b':
  Handle provisioning APN by turning off/on radio.
This commit is contained in:
Amit Mahajan
2014-06-09 19:50:09 +00:00
committed by Android Git Automerger

View File

@ -4152,7 +4152,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");
}
@ -4658,17 +4660,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));