Loading src/java/com/android/internal/telephony/ImsSmsDispatcher.java +4 −0 Original line number Diff line number Diff line Loading @@ -278,6 +278,10 @@ public class ImsSmsDispatcher extends SMSDispatcher { + " mMessageRef=" + tracker.mMessageRef + " SS=" + mPhone.getServiceState().getState()); // Flag that this Tracker is using the ImsService implementation of SMS over IMS for sending // this message. Any fallbacks will happen over CS only. tracker.mUsesImsServiceForIms = true; HashMap<String, Object> map = tracker.getData(); byte[] pdu = (byte[]) map.get(MAP_KEY_PDU); Loading src/java/com/android/internal/telephony/SMSDispatcher.java +8 −1 Original line number Diff line number Diff line Loading @@ -1454,7 +1454,13 @@ public abstract class SMSDispatcher extends Handler { // fields need to be public for derived SmsDispatchers private final HashMap<String, Object> mData; public int mRetryCount; public int mImsRetry; // nonzero indicates initial message was sent over Ims // IMS retry counter. Nonzero indicates initial message was sent over IMS channel in RIL and // counts how many retries have been made on the IMS channel. // Used in older implementations where the message is sent over IMS using the RIL. public int mImsRetry; // Tag indicating that this SMS is being handled by the ImsSmsDispatcher. This tracker // should not try to use SMS over IMS over the RIL interface in this case when falling back. public boolean mUsesImsServiceForIms; public int mMessageRef; public boolean mExpectMore; public int mValidityPeriod; Loading Loading @@ -1504,6 +1510,7 @@ public abstract class SMSDispatcher extends Handler { mFormat = format; mExpectMore = expectMore; mImsRetry = 0; mUsesImsServiceForIms = false; mMessageRef = 0; mUnsentPartCount = unsentPartCount; mAnyPartFailed = anyPartFailed; Loading src/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java +6 −7 Original line number Diff line number Diff line Loading @@ -16,12 +16,7 @@ package com.android.internal.telephony.cdma; import android.app.Activity; import android.app.PendingIntent; import android.app.PendingIntent.CanceledException; import android.content.Intent; import android.os.Message; import android.provider.Telephony.Sms; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.TelephonyManager; Loading Loading @@ -123,6 +118,7 @@ public class CdmaSMSDispatcher extends SMSDispatcher { + " mRetryCount=" + tracker.mRetryCount + " mImsRetry=" + tracker.mImsRetry + " mMessageRef=" + tracker.mMessageRef + " mUsesImsServiceForIms=" + tracker.mUsesImsServiceForIms + " SS=" + mPhone.getServiceState().getState()); int ss = mPhone.getServiceState().getState(); Loading @@ -146,8 +142,11 @@ public class CdmaSMSDispatcher extends SMSDispatcher { // 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() || imsSmsDisabled) { // indicated by mImsRetry > 0 OR // SMS over IMS is disabled because of the network type OR // SMS over IMS is being handled by the ImsSmsDispatcher implementation and has indicated // that the message should fall back to sending over CS. if (0 == tracker.mImsRetry && !isIms() || imsSmsDisabled || tracker.mUsesImsServiceForIms) { mCi.sendCdmaSms(pdu, reply); } else { mCi.sendImsCdmaSms(pdu, tracker.mImsRetry, tracker.mMessageRef, reply); Loading src/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java +6 −7 Original line number Diff line number Diff line Loading @@ -16,13 +16,8 @@ package com.android.internal.telephony.gsm; import android.app.Activity; import android.app.PendingIntent; import android.app.PendingIntent.CanceledException; import android.content.Intent; import android.os.AsyncResult; import android.os.Message; import android.provider.Telephony.Sms; import android.provider.Telephony.Sms.Intents; import android.telephony.Rlog; import android.telephony.ServiceState; Loading Loading @@ -187,6 +182,7 @@ public final class GsmSMSDispatcher extends SMSDispatcher { + " mRetryCount=" + tracker.mRetryCount + " mImsRetry=" + tracker.mImsRetry + " mMessageRef=" + tracker.mMessageRef + " mUsesImsServiceForIms=" + tracker.mUsesImsServiceForIms + " SS=" + mPhone.getServiceState().getState()); int ss = mPhone.getServiceState().getState(); Loading @@ -202,8 +198,11 @@ public final class GsmSMSDispatcher extends SMSDispatcher { // sms over gsm 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()) { // indicated by mImsRetry > 0 OR // this tracker uses ImsSmsDispatcher to handle SMS over IMS. This dispatcher has received // this message because the ImsSmsDispatcher has indicated that the message needs to // fall back to sending over CS. if (0 == tracker.mImsRetry && !isIms() || tracker.mUsesImsServiceForIms) { if (tracker.mRetryCount == 0 && tracker.mExpectMore) { mCi.sendSMSExpectMore(IccUtils.bytesToHexString(smsc), IccUtils.bytesToHexString(pdu), reply); Loading Loading
src/java/com/android/internal/telephony/ImsSmsDispatcher.java +4 −0 Original line number Diff line number Diff line Loading @@ -278,6 +278,10 @@ public class ImsSmsDispatcher extends SMSDispatcher { + " mMessageRef=" + tracker.mMessageRef + " SS=" + mPhone.getServiceState().getState()); // Flag that this Tracker is using the ImsService implementation of SMS over IMS for sending // this message. Any fallbacks will happen over CS only. tracker.mUsesImsServiceForIms = true; HashMap<String, Object> map = tracker.getData(); byte[] pdu = (byte[]) map.get(MAP_KEY_PDU); Loading
src/java/com/android/internal/telephony/SMSDispatcher.java +8 −1 Original line number Diff line number Diff line Loading @@ -1454,7 +1454,13 @@ public abstract class SMSDispatcher extends Handler { // fields need to be public for derived SmsDispatchers private final HashMap<String, Object> mData; public int mRetryCount; public int mImsRetry; // nonzero indicates initial message was sent over Ims // IMS retry counter. Nonzero indicates initial message was sent over IMS channel in RIL and // counts how many retries have been made on the IMS channel. // Used in older implementations where the message is sent over IMS using the RIL. public int mImsRetry; // Tag indicating that this SMS is being handled by the ImsSmsDispatcher. This tracker // should not try to use SMS over IMS over the RIL interface in this case when falling back. public boolean mUsesImsServiceForIms; public int mMessageRef; public boolean mExpectMore; public int mValidityPeriod; Loading Loading @@ -1504,6 +1510,7 @@ public abstract class SMSDispatcher extends Handler { mFormat = format; mExpectMore = expectMore; mImsRetry = 0; mUsesImsServiceForIms = false; mMessageRef = 0; mUnsentPartCount = unsentPartCount; mAnyPartFailed = anyPartFailed; Loading
src/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java +6 −7 Original line number Diff line number Diff line Loading @@ -16,12 +16,7 @@ package com.android.internal.telephony.cdma; import android.app.Activity; import android.app.PendingIntent; import android.app.PendingIntent.CanceledException; import android.content.Intent; import android.os.Message; import android.provider.Telephony.Sms; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.TelephonyManager; Loading Loading @@ -123,6 +118,7 @@ public class CdmaSMSDispatcher extends SMSDispatcher { + " mRetryCount=" + tracker.mRetryCount + " mImsRetry=" + tracker.mImsRetry + " mMessageRef=" + tracker.mMessageRef + " mUsesImsServiceForIms=" + tracker.mUsesImsServiceForIms + " SS=" + mPhone.getServiceState().getState()); int ss = mPhone.getServiceState().getState(); Loading @@ -146,8 +142,11 @@ public class CdmaSMSDispatcher extends SMSDispatcher { // 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() || imsSmsDisabled) { // indicated by mImsRetry > 0 OR // SMS over IMS is disabled because of the network type OR // SMS over IMS is being handled by the ImsSmsDispatcher implementation and has indicated // that the message should fall back to sending over CS. if (0 == tracker.mImsRetry && !isIms() || imsSmsDisabled || tracker.mUsesImsServiceForIms) { mCi.sendCdmaSms(pdu, reply); } else { mCi.sendImsCdmaSms(pdu, tracker.mImsRetry, tracker.mMessageRef, reply); Loading
src/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java +6 −7 Original line number Diff line number Diff line Loading @@ -16,13 +16,8 @@ package com.android.internal.telephony.gsm; import android.app.Activity; import android.app.PendingIntent; import android.app.PendingIntent.CanceledException; import android.content.Intent; import android.os.AsyncResult; import android.os.Message; import android.provider.Telephony.Sms; import android.provider.Telephony.Sms.Intents; import android.telephony.Rlog; import android.telephony.ServiceState; Loading Loading @@ -187,6 +182,7 @@ public final class GsmSMSDispatcher extends SMSDispatcher { + " mRetryCount=" + tracker.mRetryCount + " mImsRetry=" + tracker.mImsRetry + " mMessageRef=" + tracker.mMessageRef + " mUsesImsServiceForIms=" + tracker.mUsesImsServiceForIms + " SS=" + mPhone.getServiceState().getState()); int ss = mPhone.getServiceState().getState(); Loading @@ -202,8 +198,11 @@ public final class GsmSMSDispatcher extends SMSDispatcher { // sms over gsm 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()) { // indicated by mImsRetry > 0 OR // this tracker uses ImsSmsDispatcher to handle SMS over IMS. This dispatcher has received // this message because the ImsSmsDispatcher has indicated that the message needs to // fall back to sending over CS. if (0 == tracker.mImsRetry && !isIms() || tracker.mUsesImsServiceForIms) { if (tracker.mRetryCount == 0 && tracker.mExpectMore) { mCi.sendSMSExpectMore(IccUtils.bytesToHexString(smsc), IccUtils.bytesToHexString(pdu), reply); Loading