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

Commit 89bce0b5 authored by Jack Yu's avatar Jack Yu
Browse files

Cleaned up data enable code

Moved some data enabled logic into carrier action agent. Also
do not notify data connection state when user enable/dsiable data.
The data connection states will be notified when the data connection
state actually changed.

Test: Unit tests
Bug: 73659459
Change-Id: Ie137bd9b438d75c2e566ba6259fa14060f93c92a
parent fefe13e7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -118,6 +118,10 @@ public class CarrierActionAgent extends Handler {
                log("SET_METERED_APNS_ENABLED: " + mCarrierActionOnMeteredApnEnabled);
                mMeteredApnEnabledLog.log("SET_METERED_APNS_ENABLED: "
                        + mCarrierActionOnMeteredApnEnabled);
                int otaspState = (mCarrierActionOnMeteredApnEnabled)
                        ? mPhone.getServiceStateTracker().getOtasp()
                        : TelephonyManager.OTASP_SIM_UNPROVISIONED;
                mPhone.notifyOtaspChanged(otaspState);
                mMeteredApnEnableRegistrants.notifyRegistrants(
                        new AsyncResult(null, mCarrierActionOnMeteredApnEnabled, null));
                break;
+0 −14
Original line number Diff line number Diff line
@@ -793,14 +793,6 @@ public class DcTracker extends Handler {
    private void onSetUserDataEnabled(boolean enabled) {
        if (mDataEnabledSettings.isUserDataEnabled() != enabled) {
            mDataEnabledSettings.setUserDataEnabled(enabled);
            if (!getDataRoamingEnabled() && mPhone.getServiceState().getDataRoaming()) {
                if (enabled) {
                    notifyOffApnsOfAvailability(Phone.REASON_ROAMING_ON);
                } else {
                    notifyOffApnsOfAvailability(Phone.REASON_DATA_DISABLED);
                }
            }

            mPhone.notifyUserMobileDataStateChanged(enabled);

            // TODO: We should register for DataEnabledSetting's data enabled/disabled event and
@@ -2229,15 +2221,9 @@ public class DcTracker extends Handler {
            mDataEnabledSettings.setCarrierDataEnabled(enabled);

            if (!enabled) {
                // Send otasp_sim_unprovisioned so that SuW is able to proceed and notify users
                mPhone.notifyOtaspChanged(TelephonyManager.OTASP_SIM_UNPROVISIONED);
                // Tear down all metered apns
                cleanUpAllConnections(true, Phone.REASON_CARRIER_ACTION_DISABLE_METERED_APN);
            } else {
                // Re-evaluate Otasp state
                int otaspState = mPhone.getServiceStateTracker().getOtasp();
                mPhone.notifyOtaspChanged(otaspState);

                reevaluateDataConnections();
                setupDataOnConnectableApns(Phone.REASON_DATA_ENABLED);
            }