* commit 'e5a28d34f662c469f85590dda28fc02eca12204b': Handle provisioning APN by turning off/on radio.
This commit is contained in:
@ -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));
|
||||
|
Reference in New Issue
Block a user