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

Commit 2f43e784 authored by Robert Greenwalt's avatar Robert Greenwalt
Browse files

Fix tcp buffer sizes on LTE_CA.

Make them the same as LTE since we don't have an overlay setting for
LTE_CA (nor do we want one).

Also noticed that on CDMA/CDMA+LTE we didn't enable the ratcheting
mechanism so we'd bounce between LTE and LTE_CA unnecessarily.

bug:30269506
Change-Id: I34d308c7ee92745ce18700f31b8b68e78728b01e
parent 625407ff
Loading
Loading
Loading
Loading
+26 −4
Original line number Diff line number Diff line
@@ -2794,6 +2794,19 @@ public class ServiceStateTracker extends Handler {
        boolean hasCdmaDataConnectionChanged =
                mSS.getDataRegState() != mNewSS.getDataRegState();

        boolean hasLocationChanged = !mNewCellLoc.equals(mCellLoc);

        // ratchet the new tech up through it's rat family but don't drop back down
        // until cell change
        if (hasLocationChanged == false) {
            mNewSS.setRilVoiceRadioTechnology(mRatRatcheter.ratchetRat(
                    mSS.getRilVoiceRadioTechnology(),
                    mNewSS.getRilVoiceRadioTechnology()));
            mNewSS.setRilDataRadioTechnology(mRatRatcheter.ratchetRat(
                    mSS.getRilDataRadioTechnology(),
                    mNewSS.getRilDataRadioTechnology()));
        }

        boolean hasRilVoiceRadioTechnologyChanged =
                mSS.getRilVoiceRadioTechnology() != mNewSS.getRilVoiceRadioTechnology();

@@ -2810,8 +2823,6 @@ public class ServiceStateTracker extends Handler {

        boolean hasDataRoamingOff = mSS.getDataRoaming() && !mNewSS.getDataRoaming();

        boolean hasLocationChanged = !mNewCellLoc.equals(mCellLoc);

        TelephonyManager tm =
                (TelephonyManager) mPhone.getContext().getSystemService(Context.TELEPHONY_SERVICE);

@@ -2989,6 +3000,19 @@ public class ServiceStateTracker extends Handler {
        boolean hasCdmaDataConnectionChanged =
                mSS.getDataRegState() != mNewSS.getDataRegState();

        boolean hasLocationChanged = !mNewCellLoc.equals(mCellLoc);

        // ratchet the new tech up through it's rat family but don't drop back down
        // until cell change
        if (hasLocationChanged == false) {
            mNewSS.setRilVoiceRadioTechnology(mRatRatcheter.ratchetRat(
                    mSS.getRilVoiceRadioTechnology(),
                    mNewSS.getRilVoiceRadioTechnology()));
            mNewSS.setRilDataRadioTechnology(mRatRatcheter.ratchetRat(
                    mSS.getRilDataRadioTechnology(),
                    mNewSS.getRilDataRadioTechnology()));
        }

        boolean hasVoiceRadioTechnologyChanged = mSS.getRilVoiceRadioTechnology()
                != mNewSS.getRilVoiceRadioTechnology();

@@ -3005,8 +3029,6 @@ public class ServiceStateTracker extends Handler {

        boolean hasDataRoamingOff = mSS.getDataRoaming() && !mNewSS.getDataRoaming();

        boolean hasLocationChanged = !mNewCellLoc.equals(mCellLoc);

        boolean has4gHandoff =
                mNewSS.getDataRegState() == ServiceState.STATE_IN_SERVICE &&
                ((ServiceState.isLte(mSS.getRilDataRadioTechnology()) &&
+5 −0
Original line number Diff line number Diff line
@@ -760,6 +760,11 @@ public class DataConnection extends StateMachine {

    private void updateTcpBufferSizes(int rilRat) {
        String sizes = null;
        if (rilRat == ServiceState.RIL_RADIO_TECHNOLOGY_LTE_CA) {
            // for now treat CA as LTE.  Plan to surface the extra bandwith in a more
            // precise manner which should affect buffer sizes
            rilRat = ServiceState.RIL_RADIO_TECHNOLOGY_LTE;
        }
        String ratName = ServiceState.rilRadioTechnologyToString(rilRat).toLowerCase(Locale.ROOT);
        // ServiceState gives slightly different names for EVDO tech ("evdo-rev.0" for ex)
        // - patch it up: