Loading src/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java +11 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ import com.android.internal.telephony.SmsHeader; import com.android.internal.telephony.SmsUsageMonitor; import com.android.internal.telephony.TelephonyProperties; import com.android.internal.telephony.cdma.sms.UserData; import com.android.internal.telephony.PhoneConstants; import android.telephony.TelephonyManager; import java.util.HashMap; import java.util.concurrent.atomic.AtomicBoolean; Loading Loading @@ -260,11 +262,19 @@ public class CdmaSMSDispatcher extends SMSDispatcher { Message reply = obtainMessage(EVENT_SEND_SMS_COMPLETE, tracker); byte[] pdu = (byte[]) tracker.mData.get("pdu"); int currentDataNetwork = mPhone.getServiceState().getDataNetworkType(); boolean imsSmsDisabled = (currentDataNetwork == TelephonyManager.NETWORK_TYPE_EHRPD || (currentDataNetwork == TelephonyManager.NETWORK_TYPE_LTE && !mPhone.getServiceStateTracker().isConcurrentVoiceAndDataAllowed())) && mPhone.getServiceState().getVoiceNetworkType() == TelephonyManager.NETWORK_TYPE_1xRTT && mPhone.getState() != PhoneConstants.State.IDLE; // sms over cdma is used: // if sms over IMS is not supported AND // this is not a retry case after sms over IMS failed // indicated by mImsRetry > 0 if (0 == tracker.mImsRetry && !isIms()) { if (0 == tracker.mImsRetry && !isIms() || imsSmsDisabled) { mCi.sendCdmaSms(pdu, reply); } else { mCi.sendImsCdmaSms(pdu, tracker.mImsRetry, tracker.mMessageRef, reply); Loading Loading
src/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java +11 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,8 @@ import com.android.internal.telephony.SmsHeader; import com.android.internal.telephony.SmsUsageMonitor; import com.android.internal.telephony.TelephonyProperties; import com.android.internal.telephony.cdma.sms.UserData; import com.android.internal.telephony.PhoneConstants; import android.telephony.TelephonyManager; import java.util.HashMap; import java.util.concurrent.atomic.AtomicBoolean; Loading Loading @@ -260,11 +262,19 @@ public class CdmaSMSDispatcher extends SMSDispatcher { Message reply = obtainMessage(EVENT_SEND_SMS_COMPLETE, tracker); byte[] pdu = (byte[]) tracker.mData.get("pdu"); int currentDataNetwork = mPhone.getServiceState().getDataNetworkType(); boolean imsSmsDisabled = (currentDataNetwork == TelephonyManager.NETWORK_TYPE_EHRPD || (currentDataNetwork == TelephonyManager.NETWORK_TYPE_LTE && !mPhone.getServiceStateTracker().isConcurrentVoiceAndDataAllowed())) && mPhone.getServiceState().getVoiceNetworkType() == TelephonyManager.NETWORK_TYPE_1xRTT && mPhone.getState() != PhoneConstants.State.IDLE; // sms over cdma is used: // if sms over IMS is not supported AND // this is not a retry case after sms over IMS failed // indicated by mImsRetry > 0 if (0 == tracker.mImsRetry && !isIms()) { if (0 == tracker.mImsRetry && !isIms() || imsSmsDisabled) { mCi.sendCdmaSms(pdu, reply); } else { mCi.sendImsCdmaSms(pdu, tracker.mImsRetry, tracker.mMessageRef, reply); Loading