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

Commit 09db7890 authored by Avinash Nalluri's avatar Avinash Nalluri
Browse files

Add check before replacing volte RAT

Don't replace voice radio tech LTE with 1xRTT if modem does not support
cdma by reporting SIM_STATUS with no CSIM/RUIM application.

Change-Id: Icdd07fc221ac173bbf0757376c6f9689f3e06c50
Bug: 116779656
parent e0547bf9
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -3256,6 +3256,14 @@ public class GsmCdmaPhone extends Phone {
        }
    }

    //return true if either CSIM or RUIM app is present
    private boolean isCdmaSubscriptionAppPresent(){
        UiccCardApplication cdmaApplication =
                mUiccController.getUiccCardApplication(mPhoneId, UiccController.APP_FAM_3GPP2);
        return cdmaApplication != null && (cdmaApplication.getType() == AppType.APPTYPE_CSIM ||
                cdmaApplication.getType() == AppType.APPTYPE_RUIM);
    }

    private void phoneObjectUpdater(int newVoiceRadioTech) {
        logd("phoneObjectUpdater: newVoiceRadioTech=" + newVoiceRadioTech);

@@ -3269,7 +3277,10 @@ public class GsmCdmaPhone extends Phone {
                int volteReplacementRat =
                        b.getInt(CarrierConfigManager.KEY_VOLTE_REPLACEMENT_RAT_INT);
                logd("phoneObjectUpdater: volteReplacementRat=" + volteReplacementRat);
                if (volteReplacementRat != ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN) {
                if (volteReplacementRat != ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN &&
                           //In cdma case, replace rat only if csim or ruim app present
                           (ServiceState.isGsm(volteReplacementRat) ||
                           isCdmaSubscriptionAppPresent())) {
                    newVoiceRadioTech = volteReplacementRat;
                }
            } else {