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

Commit 21728cfb authored by Jayachandran C's avatar Jayachandran C Committed by android-build-merger
Browse files

Merge "Set CDMA data roaming based on TSB58 roaming indicator if voice is not...

Merge "Set CDMA data roaming based on TSB58 roaming indicator if voice is not in service" am: 5eb93305 am: 3e332133
am: 4e46c7a5

Change-Id: I835fe7c7fe482e7c5620b86bbeeeb044f43cddf7
parents d00e9096 4e46c7a5
Loading
Loading
Loading
Loading
+21 −6
Original line number Diff line number Diff line
@@ -1637,12 +1637,27 @@ public class ServiceStateTracker extends Handler {
                if (mIsSubscriptionFromRuim) {
                    mNewSS.setVoiceRoaming(isRoamingBetweenOperators(mNewSS.getVoiceRoaming(), mNewSS));
                }
                // For CDMA, voice and data should have the same roaming status
                /**
                 * For CDMA, voice and data should have the same roaming status.
                 * If voice is not in service, use TSB58 roaming indicator to set
                 * data roaming status. If TSB58 roaming indicator is not in the
                 * carrier-specified list of ERIs for home system then set roaming.
                 */
                final int dataRat = mNewSS.getRilDataRadioTechnology();
                if (ServiceState.isCdma(dataRat)) {
                    final boolean isVoiceInService =
                            (mNewSS.getVoiceRegState() == ServiceState.STATE_IN_SERVICE);
                final int dataRegType = mNewSS.getRilDataRadioTechnology();
                if (isVoiceInService && ServiceState.isCdma(dataRegType)) {
                    if (isVoiceInService) {
                        mNewSS.setDataRoaming(mNewSS.getVoiceRoaming());
                    } else {
                        /**
                         * As per VoiceRegStateResult from radio types.hal the TSB58
                         * Roaming Indicator shall be sent if device is registered
                         * on a CDMA or EVDO system.
                         */
                        mNewSS.setDataRoaming(
                                !isRoamIndForHomeSystem(Integer.toString(mRoamingIndicator)));
                    }
                }

                // Setting SS CdmaRoamingIndicator and CdmaDefaultRoamingIndicator