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

Commit 8d5b5dda authored by Sarah Chin's avatar Sarah Chin
Browse files

Remove extra messages in DataSettingsManager

Test: atest TelephonyManagerTest
Bug: 222327018
Change-Id: Ia9ebbbfb9482319e8f7799d8175c4a0a74ce81a9
Merged-In: Ia9ebbbfb9482319e8f7799d8175c4a0a74ce81a9
parent 1ef32bad
Loading
Loading
Loading
Loading
+41 −78
Original line number Diff line number Diff line
@@ -65,28 +65,18 @@ public class DataSettingsManager extends Handler {
    private static final int EVENT_SUBSCRIPTIONS_CHANGED = 4;
    /** Event for set data enabled for reason. */
    private static final int EVENT_SET_DATA_ENABLED_FOR_REASON = 5;
    /** Event for set user data enabled. */
    private static final int EVENT_SET_USER_DATA_ENABLED = 6;
    /** Event for set policy data enabled. */
    private static final int EVENT_SET_POLICY_DATA_ENABLED = 7;
    /** Event for set carrier data enabled. */
    private static final int EVENT_SET_CARRIER_DATA_ENABLED = 8;
    /** Event for set thermal data enabled. */
    private static final int EVENT_SET_THERMAL_DATA_ENABLED = 9;
    /** Event for set data roaming enabled. */
    private static final int EVENT_SET_DATA_ROAMING_ENABLED = 10;
    private static final int EVENT_SET_DATA_ROAMING_ENABLED = 6;
    /** Event for set always allow MMS data. */
    private static final int EVENT_SET_ALWAYS_ALLOW_MMS_DATA = 11;
    private static final int EVENT_SET_ALWAYS_ALLOW_MMS_DATA = 7;
    /** Event for set allow data during voice call. */
    private static final int EVENT_SET_ALLOW_DATA_DURING_VOICE_CALL = 12;
    /** Event for update data enabled. */
    private static final int EVENT_UPDATE_DATA_ENABLED = 13;
    private static final int EVENT_SET_ALLOW_DATA_DURING_VOICE_CALL = 8;
    /** Event for device provisioned changed. */
    private static final int EVENT_PROVISIONED_CHANGED = 14;
    private static final int EVENT_PROVISIONED_CHANGED = 9;
    /** Event for provisioning data enabled setting changed. */
    private static final int EVENT_PROVISIONING_DATA_ENABLED_CHANGED = 15;
    private static final int EVENT_PROVISIONING_DATA_ENABLED_CHANGED = 10;
    /** Event for registering all events. */
    private static final int EVENT_REGISTER_ALL_EVENTS = 16;
    private static final int EVENT_REGISTER_ALL_EVENTS = 11;

    private final Phone mPhone;
    private final ContentResolver mResolver;
@@ -217,54 +207,6 @@ public class DataSettingsManager extends Handler {
                }
                break;
            }
            case EVENT_SET_USER_DATA_ENABLED: {
                boolean enabled = (boolean) msg.obj;
                // Can't disable data for stand alone opportunistic subscription.
                if (isStandAloneOpportunistic(mSubId, mPhone.getContext()) && !enabled) return;
                boolean changed = GlobalSettingsHelper.setInt(mPhone.getContext(),
                        Settings.Global.MOBILE_DATA, mSubId, (enabled ? 1 : 0));
                log("Set user data enabled to " + enabled + ", changed=" + changed);
                if (changed) {
                    logl("UserDataEnabled changed to " + enabled);
                    mPhone.notifyUserMobileDataStateChanged(enabled);
                    updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_USER);
                    // TODO: MultiSimSettingController should register the callback instead of let
                    //   DataSettingsManager directly feed information to it.
                    //   Also revisit if sub id is really needed.
                    MultiSimSettingController.getInstance().notifyUserDataEnabled(mSubId, enabled);
                }
                break;
            }
            case EVENT_SET_POLICY_DATA_ENABLED: {
                boolean enabled = (boolean) msg.obj;
                if (mDataEnabledSettings.get(TelephonyManager.DATA_ENABLED_REASON_POLICY)
                        != enabled) {
                    logl("PolicyDataEnabled changed to " + enabled);
                    mDataEnabledSettings.put(TelephonyManager.DATA_ENABLED_REASON_POLICY, enabled);
                    updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_POLICY);
                }
                break;
            }
            case EVENT_SET_CARRIER_DATA_ENABLED: {
                boolean enabled = (boolean) msg.obj;
                if (mDataEnabledSettings.get(TelephonyManager.DATA_ENABLED_REASON_CARRIER)
                        != enabled) {
                    logl("CarrierDataEnabled changed to " + enabled);
                    mDataEnabledSettings.put(TelephonyManager.DATA_ENABLED_REASON_CARRIER, enabled);
                    updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_CARRIER);
                }
                break;
            }
            case EVENT_SET_THERMAL_DATA_ENABLED: {
                boolean enabled = (boolean) msg.obj;
                if (mDataEnabledSettings.get(TelephonyManager.DATA_ENABLED_REASON_THERMAL)
                        != enabled) {
                    logl("ThermalDataEnabled changed to " + enabled);
                    mDataEnabledSettings.put(TelephonyManager.DATA_ENABLED_REASON_THERMAL, enabled);
                    updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_THERMAL);
                }
                break;
            }
            case EVENT_SET_DATA_ROAMING_ENABLED: {
                boolean enabled = (boolean) msg.obj;
                // Will trigger handleDataOnRoamingChange() through observer
@@ -305,15 +247,6 @@ public class DataSettingsManager extends Handler {
                }
                break;
            }
            case EVENT_UPDATE_DATA_ENABLED: {
                boolean prevDataEnabled = mIsDataEnabled;
                mIsDataEnabled = isDataEnabled(ApnSetting.TYPE_ALL);
                log("mIsDataEnabled=" + mIsDataEnabled + ", prevDataEnabled=" + prevDataEnabled);
                if (prevDataEnabled != mIsDataEnabled) {
                    notifyDataEnabledChanged(mIsDataEnabled, (int) msg.obj);
                }
                break;
            }
            case EVENT_PROVISIONED_CHANGED: {
                updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_UNKNOWN);
                break;
@@ -384,7 +317,12 @@ public class DataSettingsManager extends Handler {
    }

    private void updateDataEnabledAndNotify(@TelephonyManager.DataEnabledChangedReason int reason) {
        obtainMessage(EVENT_UPDATE_DATA_ENABLED, reason).sendToTarget();
        boolean prevDataEnabled = mIsDataEnabled;
        mIsDataEnabled = isDataEnabled(ApnSetting.TYPE_ALL);
        log("mIsDataEnabled=" + mIsDataEnabled + ", prevDataEnabled=" + prevDataEnabled);
        if (prevDataEnabled != mIsDataEnabled) {
            notifyDataEnabledChanged(mIsDataEnabled, reason);
        }
    }

    /**
@@ -448,7 +386,20 @@ public class DataSettingsManager extends Handler {
     * @param enabled {@code true} to enable user data and {@code false} to disable.
     */
    private void setUserDataEnabled(boolean enabled) {
        obtainMessage(EVENT_SET_USER_DATA_ENABLED, enabled).sendToTarget();
        // Can't disable data for stand alone opportunistic subscription.
        if (isStandAloneOpportunistic(mSubId, mPhone.getContext()) && !enabled) return;
        boolean changed = GlobalSettingsHelper.setInt(mPhone.getContext(),
                Settings.Global.MOBILE_DATA, mSubId, (enabled ? 1 : 0));
        log("Set user data enabled to " + enabled + ", changed=" + changed);
        if (changed) {
            logl("UserDataEnabled changed to " + enabled);
            mPhone.notifyUserMobileDataStateChanged(enabled);
            updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_USER);
            // TODO: MultiSimSettingController should register the callback instead of let
            //   DataSettingsManager directly feed information to it.
            //   Also revisit if sub id is really needed.
            MultiSimSettingController.getInstance().notifyUserDataEnabled(mSubId, enabled);
        }
    }

    /**
@@ -474,7 +425,11 @@ public class DataSettingsManager extends Handler {
     * @param enabled {@code true} to enable policy data and {@code false} to disable.
     */
    private void setPolicyDataEnabled(boolean enabled) {
        obtainMessage(EVENT_SET_POLICY_DATA_ENABLED, enabled).sendToTarget();
        if (mDataEnabledSettings.get(TelephonyManager.DATA_ENABLED_REASON_POLICY) != enabled) {
            logl("PolicyDataEnabled changed to " + enabled);
            mDataEnabledSettings.put(TelephonyManager.DATA_ENABLED_REASON_POLICY, enabled);
            updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_POLICY);
        }
    }

    /**
@@ -482,7 +437,11 @@ public class DataSettingsManager extends Handler {
     * @param enabled {@code true} to enable carrier data and {@code false} to disable.
     */
    private void setCarrierDataEnabled(boolean enabled) {
        obtainMessage(EVENT_SET_CARRIER_DATA_ENABLED, enabled).sendToTarget();
        if (mDataEnabledSettings.get(TelephonyManager.DATA_ENABLED_REASON_CARRIER) != enabled) {
            logl("CarrierDataEnabled changed to " + enabled);
            mDataEnabledSettings.put(TelephonyManager.DATA_ENABLED_REASON_CARRIER, enabled);
            updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_CARRIER);
        }
    }

    /**
@@ -490,7 +449,11 @@ public class DataSettingsManager extends Handler {
     * @param enabled {@code true} to enable thermal data and {@code false} to disable.
     */
    private void setThermalDataEnabled(boolean enabled) {
        obtainMessage(EVENT_SET_THERMAL_DATA_ENABLED, enabled).sendToTarget();
        if (mDataEnabledSettings.get(TelephonyManager.DATA_ENABLED_REASON_THERMAL) != enabled) {
            logl("ThermalDataEnabled changed to " + enabled);
            mDataEnabledSettings.put(TelephonyManager.DATA_ENABLED_REASON_THERMAL, enabled);
            updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_THERMAL);
        }
    }

    /**