Loading src/java/com/android/internal/telephony/GsmCdmaCallTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -1562,7 +1562,7 @@ public class GsmCdmaCallTracker extends CallTracker { TelephonyManager.getDefault().getNetworkType()); } if (isEmcRetryCause(causeCode)) { if (isEmcRetryCause(causeCode) && mPhone.useImsForEmergency()) { String dialString = ""; for(Connection conn : mForegroundCall.mConnections) { GsmCdmaConnection gsmCdmaConnection = (GsmCdmaConnection)conn; Loading src/java/com/android/internal/telephony/GsmCdmaPhone.java +12 −7 Original line number Diff line number Diff line Loading @@ -1234,6 +1234,17 @@ public class GsmCdmaPhone extends Phone { && (mImsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE); } public boolean useImsForEmergency() { CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE); boolean alwaysTryImsForEmergencyCarrierConfig = configManager.getConfigForSubId(getSubId()) .getBoolean(CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL); return mImsPhone != null && alwaysTryImsForEmergencyCarrierConfig && ImsManager.getInstance(mContext, mPhoneId).isNonTtyOrTtyOnVolteEnabled() && mImsPhone.isImsAvailable(); } @Override public Connection startConference(String[] participantsToDial, DialArgs dialArgs) throws CallStateException { Loading Loading @@ -1279,19 +1290,13 @@ public class GsmCdmaPhone extends Phone { CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE); boolean alwaysTryImsForEmergencyCarrierConfig = configManager.getConfigForSubId(getSubId()) .getBoolean(CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL); /** Check if the call is Wireless Priority Service call */ boolean isWpsCall = dialString != null ? dialString.startsWith(PREFIX_WPS) : false; boolean allowWpsOverIms = configManager.getConfigForSubId(getSubId()) .getBoolean(CarrierConfigManager.KEY_SUPPORT_WPS_OVER_IMS_BOOL); boolean useImsForEmergency = imsPhone != null && isEmergency && alwaysTryImsForEmergencyCarrierConfig && ImsManager.getInstance(mContext, mPhoneId).isNonTtyOrTtyOnVolteEnabled() && imsPhone.isImsAvailable(); boolean useImsForEmergency = isEmergency && useImsForEmergency(); String dialPart = PhoneNumberUtils.extractNetworkPortionAlt(PhoneNumberUtils. stripSeparators(dialString)); Loading Loading
src/java/com/android/internal/telephony/GsmCdmaCallTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -1562,7 +1562,7 @@ public class GsmCdmaCallTracker extends CallTracker { TelephonyManager.getDefault().getNetworkType()); } if (isEmcRetryCause(causeCode)) { if (isEmcRetryCause(causeCode) && mPhone.useImsForEmergency()) { String dialString = ""; for(Connection conn : mForegroundCall.mConnections) { GsmCdmaConnection gsmCdmaConnection = (GsmCdmaConnection)conn; Loading
src/java/com/android/internal/telephony/GsmCdmaPhone.java +12 −7 Original line number Diff line number Diff line Loading @@ -1234,6 +1234,17 @@ public class GsmCdmaPhone extends Phone { && (mImsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE); } public boolean useImsForEmergency() { CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE); boolean alwaysTryImsForEmergencyCarrierConfig = configManager.getConfigForSubId(getSubId()) .getBoolean(CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL); return mImsPhone != null && alwaysTryImsForEmergencyCarrierConfig && ImsManager.getInstance(mContext, mPhoneId).isNonTtyOrTtyOnVolteEnabled() && mImsPhone.isImsAvailable(); } @Override public Connection startConference(String[] participantsToDial, DialArgs dialArgs) throws CallStateException { Loading Loading @@ -1279,19 +1290,13 @@ public class GsmCdmaPhone extends Phone { CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE); boolean alwaysTryImsForEmergencyCarrierConfig = configManager.getConfigForSubId(getSubId()) .getBoolean(CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL); /** Check if the call is Wireless Priority Service call */ boolean isWpsCall = dialString != null ? dialString.startsWith(PREFIX_WPS) : false; boolean allowWpsOverIms = configManager.getConfigForSubId(getSubId()) .getBoolean(CarrierConfigManager.KEY_SUPPORT_WPS_OVER_IMS_BOOL); boolean useImsForEmergency = imsPhone != null && isEmergency && alwaysTryImsForEmergencyCarrierConfig && ImsManager.getInstance(mContext, mPhoneId).isNonTtyOrTtyOnVolteEnabled() && imsPhone.isImsAvailable(); boolean useImsForEmergency = isEmergency && useImsForEmergency(); String dialPart = PhoneNumberUtils.extractNetworkPortionAlt(PhoneNumberUtils. stripSeparators(dialString)); Loading