summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Amit Mahajan <amitmahajan@google.com> 2014-06-09 19:46:01 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2014-06-09 19:46:01 +0000
commite5a28d34f662c469f85590dda28fc02eca12204b (patch)
treeb61d2d184e68ccb7611a763c782aeb8e0f662ebf
parent5cb180541332d652ed661559dfaa55a0fcc3751b (diff)
parent20c5ce50c456742bf912ebb915be45bfdb51487d (diff)
am 20c5ce50: Handle provisioning APN by turning off/on radio.
* commit '20c5ce50c456742bf912ebb915be45bfdb51487d': Handle provisioning APN by turning off/on radio.
-rw-r--r--services/java/com/android/server/ConnectivityService.java15
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 41a0e6b9a61d..3872674a5044 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));