Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 437a77d4 authored by Amit Mahajan's avatar Amit Mahajan Committed by Android Git Automerger
Browse files

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

* commit '3f175a35':
  Handle provisioning APN by turning off/on radio.
parents ce8c1086 3f175a35
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -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));