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

Commit a78157b1 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "IMS: Always initiate emergency call on IMS"

parents 245f3e1e 5a56173a
Loading
Loading
Loading
Loading
+17 −11
Original line number Diff line number Diff line
@@ -440,17 +440,23 @@ public class CDMAPhone extends PhoneBase {

        boolean imsUseEnabled =
                ImsManager.isVolteEnabledByPlatform(mContext) &&
                ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mContext);
        if (!imsUseEnabled) {
            Rlog.w(LOG_TAG, "IMS is disabled: forced to CS");
        }

        if (imsUseEnabled && imsPhone != null && imsPhone.isVolteEnabled()
                && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE
                && !PhoneNumberUtils.isEmergencyNumber(dialString))
                || (PhoneNumberUtils.isEmergencyNumber(dialString)
                && mContext.getResources().getBoolean(
                        com.android.internal.R.bool.useImsAlwaysForEmergencyCall))) ) {
                ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mContext) &&
                ImsManager.isNonTtyOrTtyOnVolteEnabled(mContext) &&
                imsPhone != null &&
                imsPhone.isVolteEnabled() &&
                (imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE);

        boolean useImsForEmergency = imsPhone != null &&
                PhoneNumberUtils.isEmergencyNumber(dialString) &&
                mContext.getResources().getBoolean(
                        com.android.internal.R.bool.useImsAlwaysForEmergencyCall) &&
                ImsManager.isNonTtyOrTtyOnVolteEnabled(mContext) &&
                (imsPhone.getServiceState().getState() != ServiceState.STATE_POWER_OFF);

        Rlog.d(LOG_TAG,"imsUseEnabled = " + imsUseEnabled +
                ", useImsForEmergency = " + useImsForEmergency);

        if (imsUseEnabled || useImsForEmergency) {
            try {
                if (DBG) Rlog.d(LOG_TAG, "Trying IMS PS call");
                return imsPhone.dial(dialString, videoState, extras);
+17 −11
Original line number Diff line number Diff line
@@ -895,17 +895,23 @@ public class GSMPhone extends PhoneBase {

        boolean imsUseEnabled =
                ImsManager.isVolteEnabledByPlatform(mContext) &&
                ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mContext);
        if (!imsUseEnabled) {
            Rlog.w(LOG_TAG, "IMS is disabled: forced to CS");
        }

        if (imsUseEnabled && imsPhone != null && imsPhone.isVolteEnabled()
                && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE
                && !PhoneNumberUtils.isEmergencyNumber(dialString))
                || (PhoneNumberUtils.isEmergencyNumber(dialString)
                && mContext.getResources().getBoolean(
                        com.android.internal.R.bool.useImsAlwaysForEmergencyCall))) ) {
                ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mContext) &&
                ImsManager.isNonTtyOrTtyOnVolteEnabled(mContext) &&
                imsPhone != null &&
                imsPhone.isVolteEnabled() &&
                (imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE);

        boolean useImsForEmergency = imsPhone != null &&
                PhoneNumberUtils.isEmergencyNumber(dialString) &&
                mContext.getResources().getBoolean(
                        com.android.internal.R.bool.useImsAlwaysForEmergencyCall) &&
                ImsManager.isNonTtyOrTtyOnVolteEnabled(mContext) &&
                (imsPhone.getServiceState().getState() != ServiceState.STATE_POWER_OFF);

        Rlog.d(LOG_TAG,"imsUseEnabled = " + imsUseEnabled +
                ", useImsForEmergency = " + useImsForEmergency);

        if (imsUseEnabled || useImsForEmergency) {
            try {
                if (LOCAL_DEBUG) Rlog.d(LOG_TAG, "Trying IMS PS call");
                return imsPhone.dial(dialString, videoState, extras);