Loading telephony/java/com/android/internal/telephony/SMSDispatcher.java 100644 → 100755 +22 −2 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import static android.telephony.SmsManager.RESULT_ERROR_FDN_CHECK_FAILURE; public abstract class SMSDispatcher extends Handler { private static final String TAG = "SMS"; private static final String SEND_NEXT_MSG_EXTRA = "SendNextMsg"; /** Default checking period for SMS sent without user permit */ private static final int DEFAULT_SMS_CHECK_PERIOD = 3600000; Loading Loading @@ -153,6 +154,8 @@ public abstract class SMSDispatcher extends Handler { protected boolean mStorageAvailable = true; protected boolean mReportMemoryStatusPending = false; protected static int mRemainingMessages = -1; protected static int getNextConcatenatedRef() { sConcatenatedRef += 1; return sConcatenatedRef; Loading Loading @@ -463,7 +466,17 @@ public abstract class SMSDispatcher extends Handler { if (sentIntent != null) { try { if (mRemainingMessages > -1) { mRemainingMessages--; } if (mRemainingMessages == 0) { Intent sendNext = new Intent(); sendNext.putExtra(SEND_NEXT_MSG_EXTRA, true); sentIntent.send(mContext, Activity.RESULT_OK, sendNext); } else { sentIntent.send(Activity.RESULT_OK); } } catch (CanceledException ex) {} } } else { Loading Loading @@ -502,8 +515,15 @@ public abstract class SMSDispatcher extends Handler { if (ar.result != null) { fillIn.putExtra("errorCode", ((SmsResponse)ar.result).errorCode); } tracker.mSentIntent.send(mContext, error, fillIn); if (mRemainingMessages > -1) { mRemainingMessages--; } if (mRemainingMessages == 0) { fillIn.putExtra(SEND_NEXT_MSG_EXTRA, true); } tracker.mSentIntent.send(mContext, error, fillIn); } catch (CanceledException ex) {} } } Loading telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java +4 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,8 @@ final class GsmSMSDispatcher extends SMSDispatcher { int msgCount = parts.size(); int encoding = android.telephony.SmsMessage.ENCODING_UNKNOWN; mRemainingMessages = msgCount; for (int i = 0; i < msgCount; i++) { TextEncodingDetails details = SmsMessage.calculateLength(parts.get(i), false); if (encoding != details.codeUnitSize Loading Loading @@ -269,6 +271,8 @@ final class GsmSMSDispatcher extends SMSDispatcher { int msgCount = parts.size(); int encoding = android.telephony.SmsMessage.ENCODING_UNKNOWN; mRemainingMessages = msgCount; for (int i = 0; i < msgCount; i++) { TextEncodingDetails details = SmsMessage.calculateLength(parts.get(i), false); if (encoding != details.codeUnitSize Loading Loading
telephony/java/com/android/internal/telephony/SMSDispatcher.java 100644 → 100755 +22 −2 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import static android.telephony.SmsManager.RESULT_ERROR_FDN_CHECK_FAILURE; public abstract class SMSDispatcher extends Handler { private static final String TAG = "SMS"; private static final String SEND_NEXT_MSG_EXTRA = "SendNextMsg"; /** Default checking period for SMS sent without user permit */ private static final int DEFAULT_SMS_CHECK_PERIOD = 3600000; Loading Loading @@ -153,6 +154,8 @@ public abstract class SMSDispatcher extends Handler { protected boolean mStorageAvailable = true; protected boolean mReportMemoryStatusPending = false; protected static int mRemainingMessages = -1; protected static int getNextConcatenatedRef() { sConcatenatedRef += 1; return sConcatenatedRef; Loading Loading @@ -463,7 +466,17 @@ public abstract class SMSDispatcher extends Handler { if (sentIntent != null) { try { if (mRemainingMessages > -1) { mRemainingMessages--; } if (mRemainingMessages == 0) { Intent sendNext = new Intent(); sendNext.putExtra(SEND_NEXT_MSG_EXTRA, true); sentIntent.send(mContext, Activity.RESULT_OK, sendNext); } else { sentIntent.send(Activity.RESULT_OK); } } catch (CanceledException ex) {} } } else { Loading Loading @@ -502,8 +515,15 @@ public abstract class SMSDispatcher extends Handler { if (ar.result != null) { fillIn.putExtra("errorCode", ((SmsResponse)ar.result).errorCode); } tracker.mSentIntent.send(mContext, error, fillIn); if (mRemainingMessages > -1) { mRemainingMessages--; } if (mRemainingMessages == 0) { fillIn.putExtra(SEND_NEXT_MSG_EXTRA, true); } tracker.mSentIntent.send(mContext, error, fillIn); } catch (CanceledException ex) {} } } Loading
telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java +4 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,8 @@ final class GsmSMSDispatcher extends SMSDispatcher { int msgCount = parts.size(); int encoding = android.telephony.SmsMessage.ENCODING_UNKNOWN; mRemainingMessages = msgCount; for (int i = 0; i < msgCount; i++) { TextEncodingDetails details = SmsMessage.calculateLength(parts.get(i), false); if (encoding != details.codeUnitSize Loading Loading @@ -269,6 +271,8 @@ final class GsmSMSDispatcher extends SMSDispatcher { int msgCount = parts.size(); int encoding = android.telephony.SmsMessage.ENCODING_UNKNOWN; mRemainingMessages = msgCount; for (int i = 0; i < msgCount; i++) { TextEncodingDetails details = SmsMessage.calculateLength(parts.get(i), false); if (encoding != details.codeUnitSize Loading