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

Commit 8c9afd0c authored by Thomas Nguyen's avatar Thomas Nguyen Committed by Android (Google) Code Review
Browse files

Merge "Add unique message id to an outgoing SMS" into main

parents 79fae788 55ff22dd
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -202,8 +202,7 @@ public class ImsSmsDispatcher extends SMSDispatcher {
                        tracker.onSent(mContext);
                        mTrackers.remove(token);
                        mPhone.notifySmsSent(tracker.mDestAddress);
                        mSmsDispatchersController.notifySmsSent(
                                tracker.mDestAddress, tracker.mMessageId, true,
                        mSmsDispatchersController.notifySmsSent(tracker, true,
                                tracker.isSinglePartOrLastPart(), true /*success*/);
                        break;
                    case ImsSmsImplBase.SEND_STATUS_ERROR:
+48 −22
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.Manifest.permission.SEND_SMS_NO_CONFIRMATION;

import static com.android.internal.telephony.IccSmsInterfaceManager.SMS_MESSAGE_PERIOD_NOT_SPECIFIED;
import static com.android.internal.telephony.IccSmsInterfaceManager.SMS_MESSAGE_PRIORITY_NOT_SPECIFIED;
import static com.android.internal.telephony.SmsDispatchersController.PendingRequest;
import static com.android.internal.telephony.SmsResponse.NO_ERROR_CODE;

import android.annotation.UserIdInt;
@@ -1016,8 +1017,8 @@ public abstract class SMSDispatcher extends Handler {
     */
    protected void notifySmsSentFailedToEmergencyStateTracker(SmsTracker tracker,
            boolean isOverIms) {
        mSmsDispatchersController.notifySmsSent(tracker.mDestAddress, tracker.mMessageId,
                isOverIms, true /*isLastSmsPart*/, false /*success*/);
        mSmsDispatchersController.notifySmsSent(tracker, isOverIms,
            true /*isLastSmsPart*/, false /*success*/);
    }

    /**
@@ -1052,8 +1053,7 @@ public abstract class SMSDispatcher extends Handler {
            }
            tracker.onSent(mContext);
            mPhone.notifySmsSent(tracker.mDestAddress);
            mSmsDispatchersController.notifySmsSent(
                    tracker.mDestAddress, tracker.mMessageId, false,
            mSmsDispatchersController.notifySmsSent(tracker, false,
                tracker.isSinglePartOrLastPart(), true /*success*/);

            mPhone.getSmsStats().onOutgoingSms(
@@ -1399,7 +1399,7 @@ public abstract class SMSDispatcher extends Handler {
    @UnsupportedAppUsage
    protected void sendData(String callingPackage, int callingUser, String destAddr, String scAddr,
            int destPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent,
            boolean isForVvm) {
            boolean isForVvm, long uniqueMessageId) {
        int messageRef = nextMessageRef();
        SmsMessageBase.SubmitPduBase pdu = getSubmitPdu(
                scAddr, destAddr, destPort, data, (deliveryIntent != null), messageRef);
@@ -1408,7 +1408,8 @@ public abstract class SMSDispatcher extends Handler {
            SmsTracker tracker = getSmsTracker(callingPackage, callingUser, map, sentIntent,
                    deliveryIntent, getFormat(), null /*messageUri*/, false /*expectMore*/,
                    null /*fullMessageText*/, false /*isText*/,
                    true /*persistMessage*/, isForVvm, 0L /* messageId */, messageRef);
                    true /*persistMessage*/, isForVvm, 0L /* messageId */, messageRef,
                    uniqueMessageId);

            if (!sendSmsByCarrierApp(true /* isDataSms */, tracker)) {
                sendSubmitPdu(tracker);
@@ -1526,7 +1527,7 @@ public abstract class SMSDispatcher extends Handler {
            long messageId) {
        sendText(destAddr, scAddr, text, sentIntent, deliveryIntent, messageUri, callingPkg,
                callingUser, persistMessage, priority, expectMore, validityPeriod, isForVvm,
                messageId, false);
                messageId, false, PendingRequest.getNextUniqueMessageId());
    }

    /**
@@ -1634,7 +1635,7 @@ public abstract class SMSDispatcher extends Handler {
            PendingIntent sentIntent, PendingIntent deliveryIntent, Uri messageUri,
            String callingPkg, int callingUser, boolean persistMessage, int priority,
            boolean expectMore, int validityPeriod, boolean isForVvm,
            long messageId, boolean skipShortCodeCheck) {
            long messageId, boolean skipShortCodeCheck, long uniqueMessageId) {
        Rlog.d(TAG, "sendText id: " + SmsController.formatCrossStackMessageId(messageId));
        int messageRef = nextMessageRef();
        SmsMessageBase.SubmitPduBase pdu = getSubmitPdu(
@@ -1645,7 +1646,7 @@ public abstract class SMSDispatcher extends Handler {
            SmsTracker tracker = getSmsTracker(callingPkg, callingUser, map, sentIntent,
                    deliveryIntent, getFormat(), messageUri, expectMore, text, true /*isText*/,
                    persistMessage, priority, validityPeriod, isForVvm, messageId, messageRef,
                    skipShortCodeCheck);
                    skipShortCodeCheck, uniqueMessageId);

            if (!sendSmsByCarrierApp(false /* isDataSms */, tracker)) {
                sendSubmitPdu(tracker);
@@ -1827,7 +1828,7 @@ public abstract class SMSDispatcher extends Handler {
            ArrayList<String> parts, ArrayList<PendingIntent> sentIntents,
            ArrayList<PendingIntent> deliveryIntents, Uri messageUri, String callingPkg,
            int callingUser, boolean persistMessage, int priority, boolean expectMore,
            int validityPeriod, long messageId) {
            int validityPeriod, long messageId, long uniqueMessageId) {
        final String fullMessageText = getMultipartMessageText(parts);
        int refNumber = getNextConcatenatedRef() & 0x00FF;
        int encoding = SmsConstants.ENCODING_UNKNOWN;
@@ -1890,7 +1891,7 @@ public abstract class SMSDispatcher extends Handler {
                        smsHeader, encoding, sentIntent, deliveryIntent, (i == (msgCount - 1)),
                        unsentPartCount, anyPartFailed, messageUri,
                        fullMessageText, priority, expectMore, validityPeriod, messageId,
                        messageRef);
                        messageRef, uniqueMessageId);
            if (trackers[i] == null) {
                triggerSentIntentForFailure(sentIntents);
                return;
@@ -1926,7 +1927,7 @@ public abstract class SMSDispatcher extends Handler {
            int encoding, PendingIntent sentIntent, PendingIntent deliveryIntent, boolean lastPart,
            AtomicInteger unsentPartCount, AtomicBoolean anyPartFailed, Uri messageUri,
            String fullMessageText, int priority, boolean expectMore, int validityPeriod,
            long messageId, int messageRef) {
            long messageId, int messageRef, long uniqueMessageId) {
        if (isCdmaMo()) {
            UserData uData = new UserData();
            uData.payloadStr = message;
@@ -1956,7 +1957,7 @@ public abstract class SMSDispatcher extends Handler {
                        deliveryIntent, getFormat(), unsentPartCount, anyPartFailed, messageUri,
                        smsHeader, (!lastPart || expectMore), fullMessageText,  /*isText*/
                        true,  /*persistMessage*/ true, priority, validityPeriod,  /* isForVvm */
                        false, messageId, messageRef, false);
                        false, messageId, messageRef, false, uniqueMessageId);
            } else {
                Rlog.e(TAG, "CdmaSMSDispatcher.getNewSubmitPduTracker(): getSubmitPdu() returned "
                        + "null " + SmsController.formatCrossStackMessageId(messageId));
@@ -1975,7 +1976,7 @@ public abstract class SMSDispatcher extends Handler {
                        messageUri, smsHeader, (!lastPart || expectMore),
                        fullMessageText,  /*isText*/
                        true,  /*persistMessage*/ false, priority, validityPeriod,  /* isForVvm */
                        false, messageId, messageRef, false);
                        false, messageId, messageRef, false, uniqueMessageId);
            } else {
                Rlog.e(TAG, "GsmSMSDispatcher.getNewSubmitPduTracker(): getSubmitPdu() returned "
                        + "null " + SmsController.formatCrossStackMessageId(messageId));
@@ -2492,6 +2493,7 @@ public abstract class SMSDispatcher extends Handler {

        private int mCarrierId;
        private boolean mSkipShortCodeDestAddrCheck;
        public final long mUniqueMessageId;
        // SMS anomaly uuid -- unexpected error from RIL
        private final UUID mAnomalyUnexpectedErrorFromRilUUID =
                UUID.fromString("43043600-ea7a-44d2-9ae6-a58567ac7886");
@@ -2502,7 +2504,8 @@ public abstract class SMSDispatcher extends Handler {
                SmsHeader smsHeader, boolean expectMore, String fullMessageText, int subId,
                boolean isText, boolean persistMessage, int userId, int priority,
                int validityPeriod, boolean isForVvm, long messageId, int carrierId,
                int messageRef, boolean skipShortCodeDestAddrCheck) {
                int messageRef, boolean skipShortCodeDestAddrCheck,
                long uniqueMessageId) {
            mData = data;
            mSentIntent = sentIntent;
            mDeliveryIntent = deliveryIntent;
@@ -2529,6 +2532,26 @@ public abstract class SMSDispatcher extends Handler {
            mMessageId = messageId;
            mCarrierId = carrierId;
            mSkipShortCodeDestAddrCheck = skipShortCodeDestAddrCheck;
            mUniqueMessageId = uniqueMessageId;
        }

        @VisibleForTesting
        public SmsTracker(String destAddr, long messageId) {
            mData = null;
            mSentIntent = null;
            mDeliveryIntent = null;
            mAppInfo = null;
            mDestAddress = destAddr;
            mUsesImsServiceForIms = false;
            mSmsHeader = null;
            mMessageId = messageId;
            mUserId = 0;
            mPriority = 0;
            mValidityPeriod = 0;
            mIsForVvm = false;
            mCarrierId = 0;
            mSkipShortCodeDestAddrCheck = false;
            mUniqueMessageId = 0;
        }

        public HashMap<String, Object> getData() {
@@ -2820,7 +2843,8 @@ public abstract class SMSDispatcher extends Handler {
            AtomicInteger unsentPartCount, AtomicBoolean anyPartFailed, Uri messageUri,
            SmsHeader smsHeader, boolean expectMore, String fullMessageText, boolean isText,
            boolean persistMessage, int priority, int validityPeriod, boolean isForVvm,
            long messageId, int messageRef, boolean skipShortCodeCheck) {
            long messageId, int messageRef, boolean skipShortCodeCheck,
            long uniqueMessageId) {
        if (!Flags.smsMmsDeliverBroadcastsRedirectToMainUser()) {
            callingUser = UserHandle.getUserHandleForUid(Binder.getCallingUid()).getIdentifier();
        }
@@ -2841,31 +2865,33 @@ public abstract class SMSDispatcher extends Handler {
                unsentPartCount, anyPartFailed, messageUri, smsHeader, expectMore,
                fullMessageText, getSubId(), isText, persistMessage, callingUser, priority,
                validityPeriod, isForVvm, messageId, mPhone.getCarrierId(), messageRef,
                skipShortCodeCheck);
                skipShortCodeCheck, uniqueMessageId);
    }

    protected SmsTracker getSmsTracker(String callingPackage, int callingUser,
            HashMap<String, Object> data, PendingIntent sentIntent, PendingIntent deliveryIntent,
            String format, Uri messageUri, boolean expectMore, String fullMessageText,
            boolean isText, boolean persistMessage, boolean isForVvm,
            long messageId, int messageRef) {
            long messageId, int messageRef, long uniqueMessageId) {
        return getSmsTracker(callingPackage, callingUser , data, sentIntent, deliveryIntent,
                format, /*unsentPartCount*/ null, /*anyPartFailed*/ null, messageUri, /*smsHeader*/
                null, expectMore, fullMessageText, isText,
                persistMessage, SMS_MESSAGE_PRIORITY_NOT_SPECIFIED,
                SMS_MESSAGE_PERIOD_NOT_SPECIFIED,
                isForVvm, messageId, messageRef, false);
                isForVvm, messageId, messageRef, false, uniqueMessageId);
    }

    protected SmsTracker getSmsTracker(String callingPackage, int callingUser,
            HashMap<String, Object> data, PendingIntent sentIntent, PendingIntent deliveryIntent,
            String format, Uri messageUri, boolean expectMore, String fullMessageText,
            boolean isText, boolean persistMessage, int priority, int validityPeriod,
            boolean isForVvm, long messageId, int messageRef, boolean skipShortCodeCheck) {
            boolean isForVvm, long messageId, int messageRef, boolean skipShortCodeCheck,
            long uniqueMessageId) {
        return getSmsTracker(callingPackage, callingUser, data, sentIntent, deliveryIntent,
                format, /*unsentPartCount*/ null, /*anyPartFailed*/ null, messageUri, /*smsHeader*/
                null, expectMore, fullMessageText, isText, persistMessage, priority,
                validityPeriod, isForVvm, messageId, messageRef, skipShortCodeCheck);
                validityPeriod, isForVvm, messageId, messageRef, skipShortCodeCheck,
                uniqueMessageId);
    }

    protected HashMap<String, Object> getSmsTrackerMap(String destAddr, String scAddr,
+56 −32
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ import com.android.telephony.Rlog;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicLong;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -220,6 +221,7 @@ public class SmsDispatchersController extends Handler {
        public static final int TYPE_TEXT = 2;
        public static final int TYPE_MULTIPART_TEXT = 3;
        public static final int TYPE_RETRY_SMS = 4;
        private static final AtomicLong sNextUniqueMessageId = new AtomicLong(0);

        public final int type;
        public final SMSDispatcher.SmsTracker tracker;
@@ -242,6 +244,7 @@ public class SmsDispatchersController extends Handler {
        public final int validityPeriod;
        public final long messageId;
        public final boolean skipShortCodeCheck;
        public final long uniqueMessageId;

        public PendingRequest(int type, SMSDispatcher.SmsTracker tracker, String callingPackage,
                int callingUser, String destAddr, String scAddr,
@@ -270,6 +273,12 @@ public class SmsDispatchersController extends Handler {
            this.validityPeriod = validityPeriod;
            this.messageId = messageId;
            this.skipShortCodeCheck = skipShortCodeCheck;
            this.uniqueMessageId = getNextUniqueMessageId();
        }

        public static long getNextUniqueMessageId() {
            return sNextUniqueMessageId.getAndUpdate(
                id -> ((id + 1) % Long.MAX_VALUE));
        }
    }

@@ -867,8 +876,8 @@ public class SmsDispatchersController extends Handler {
                // should never come here...
                Rlog.e(TAG, "sendRetrySms failed to re-encode per missing fields!");
                tracker.onFailed(mContext, SmsManager.RESULT_SMS_SEND_RETRY_FAILED, NO_ERROR_CODE);
                notifySmsSent(tracker.mDestAddress, tracker.mMessageId,
                        !retryUsingImsService, true /*isLastSmsPart*/, false /*success*/);
                notifySmsSent(tracker, !retryUsingImsService,
                        true /*isLastSmsPart*/, false /*success*/);
                return;
            }
            String scAddr = (String) map.get("scAddr");
@@ -876,8 +885,8 @@ public class SmsDispatchersController extends Handler {
            if (destAddr == null) {
                Rlog.e(TAG, "sendRetrySms failed due to null destAddr");
                tracker.onFailed(mContext, SmsManager.RESULT_SMS_SEND_RETRY_FAILED, NO_ERROR_CODE);
                notifySmsSent(tracker.mDestAddress, tracker.mMessageId,
                        !retryUsingImsService, true /*isLastSmsPart*/, false /*success*/);
                notifySmsSent(tracker, !retryUsingImsService,
                        true /*isLastSmsPart*/, false /*success*/);
                return;
            }

@@ -918,8 +927,8 @@ public class SmsDispatchersController extends Handler {
                        + "scAddr: %s, "
                        + "destPort: %s", scAddr, map.get("destPort")));
                tracker.onFailed(mContext, SmsManager.RESULT_SMS_SEND_RETRY_FAILED, NO_ERROR_CODE);
                notifySmsSent(tracker.mDestAddress, tracker.mMessageId,
                        !retryUsingImsService, true /*isLastSmsPart*/, false /*success*/);
                notifySmsSent(tracker, !retryUsingImsService,
                    true /*isLastSmsPart*/, false /*success*/);
                return;
            }
            // replace old smsc and pdu with newly encoded ones
@@ -1214,11 +1223,11 @@ public class SmsDispatchersController extends Handler {
    /**
     * Called when MO SMS is sent.
     */
    protected void notifySmsSent(@NonNull String destAddr, long messageId, boolean isOverIms,
            boolean isLastSmsPart, boolean success) {
        notifySmsSentToEmergencyStateTracker(
                destAddr, messageId, isOverIms, isLastSmsPart, success);
        notifySmsSentToDatagramDispatcher(messageId, success);
    protected void notifySmsSent(@NonNull SMSDispatcher.SmsTracker tracker,
            boolean isOverIms, boolean isLastSmsPart, boolean success) {
        notifySmsSentToEmergencyStateTracker(tracker.mDestAddress,
            tracker.mMessageId, isOverIms, isLastSmsPart, success);
        notifySmsSentToDatagramDispatcher(tracker.mUniqueMessageId, success);
    }

    /**
@@ -1402,15 +1411,18 @@ public class SmsDispatchersController extends Handler {
        if (domain == NetworkRegistrationInfo.DOMAIN_PS) {
            mImsSmsDispatcher.sendData(request.callingPackage, request.callingUser,
                    request.destAddr, request.scAddr, request.destPort, request.data,
                    request.sentIntents.get(0), request.deliveryIntents.get(0), request.isForVvm);
                    request.sentIntents.get(0), request.deliveryIntents.get(0), request.isForVvm,
                    request.uniqueMessageId);
        } else if (isCdmaMo(domain)) {
            mCdmaDispatcher.sendData(request.callingPackage, request.callingUser, request.destAddr,
                    request.scAddr, request.destPort, request.data,
                    request.sentIntents.get(0), request.deliveryIntents.get(0), request.isForVvm);
                    request.sentIntents.get(0), request.deliveryIntents.get(0), request.isForVvm,
                    request.uniqueMessageId);
        } else {
            mGsmDispatcher.sendData(request.callingPackage, request.callingUser, request.destAddr,
                    request.scAddr, request.destPort, request.data,
                    request.sentIntents.get(0), request.deliveryIntents.get(0), request.isForVvm);
                    request.sentIntents.get(0), request.deliveryIntents.get(0), request.isForVvm,
                    request.uniqueMessageId);
        }
    }

@@ -1430,7 +1442,7 @@ public class SmsDispatchersController extends Handler {
                    request.messageUri, request.callingPackage, request.callingUser,
                    request.persistMessage, request.priority,  /*request.expectMore*/ false,
                    request.validityPeriod, request.isForVvm, request.messageId,
                    request.skipShortCodeCheck);
                    request.skipShortCodeCheck, request.uniqueMessageId);
        } else {
            if (isCdmaMo(domain)) {
                mCdmaDispatcher.sendText(request.destAddr, request.scAddr, request.texts.get(0),
@@ -1438,14 +1450,14 @@ public class SmsDispatchersController extends Handler {
                        request.messageUri, request.callingPackage, request.callingUser,
                        request.persistMessage, request.priority, request.expectMore,
                        request.validityPeriod, request.isForVvm, request.messageId,
                        request.skipShortCodeCheck);
                        request.skipShortCodeCheck, request.uniqueMessageId);
            } else {
                mGsmDispatcher.sendText(request.destAddr, request.scAddr, request.texts.get(0),
                        request.sentIntents.get(0), request.deliveryIntents.get(0),
                        request.messageUri, request.callingPackage, request.callingUser,
                        request.persistMessage, request.priority, request.expectMore,
                        request.validityPeriod, request.isForVvm, request.messageId,
                        request.skipShortCodeCheck);
                        request.skipShortCodeCheck, request.uniqueMessageId);
            }
        }
    }
@@ -1465,25 +1477,29 @@ public class SmsDispatchersController extends Handler {
                    request.sentIntents, request.deliveryIntents, request.messageUri,
                    request.callingPackage, request.callingUser, request.persistMessage,
                    request.priority, false /*request.expectMore*/, request.validityPeriod,
                    request.messageId);
                    request.messageId, request.uniqueMessageId);
        } else {
            if (isCdmaMo(domain)) {
                mCdmaDispatcher.sendMultipartText(request.destAddr, request.scAddr, request.texts,
                        request.sentIntents, request.deliveryIntents, request.messageUri,
                        request.callingPackage, request.callingUser, request.persistMessage,
                        request.priority, request.expectMore, request.validityPeriod,
                        request.messageId);
                        request.messageId, request.uniqueMessageId);
            } else {
                mGsmDispatcher.sendMultipartText(request.destAddr, request.scAddr, request.texts,
                        request.sentIntents, request.deliveryIntents, request.messageUri,
                        request.callingPackage, request.callingUser, request.persistMessage,
                        request.priority, request.expectMore, request.validityPeriod,
                        request.messageId);
                        request.messageId, request.uniqueMessageId);
            }
        }
    }

    private void triggerSentIntentForFailure(@NonNull PendingIntent sentIntent) {
    private void triggerSentIntentForFailure(PendingIntent sentIntent) {
        if (sentIntent == null) {
            logd("sentIntent is null");
            return;
        }
        try {
            sentIntent.send(SmsManager.RESULT_ERROR_GENERIC_FAILURE);
        } catch (CanceledException e) {
@@ -1491,7 +1507,11 @@ public class SmsDispatchersController extends Handler {
        }
    }

    private void triggerSentIntentForFailure(@NonNull List<PendingIntent> sentIntents) {
    private void triggerSentIntentForFailure(List<PendingIntent> sentIntents) {
        if (sentIntents == null) {
            logd("sentIntents is null");
            return;
        }
        for (PendingIntent sentIntent : sentIntents) {
            triggerSentIntentForFailure(sentIntent);
        }
@@ -1605,13 +1625,16 @@ public class SmsDispatchersController extends Handler {

        if (mImsSmsDispatcher.isAvailable()) {
            mImsSmsDispatcher.sendData(callingPackage, callingUser, destAddr, scAddr, destPort,
                    data, sentIntent, deliveryIntent, isForVvm);
                    data, sentIntent, deliveryIntent, isForVvm,
                    PendingRequest.getNextUniqueMessageId());
        } else if (isCdmaMo()) {
            mCdmaDispatcher.sendData(callingPackage, callingUser, destAddr, scAddr, destPort, data,
                    sentIntent, deliveryIntent, isForVvm);
                    sentIntent, deliveryIntent, isForVvm,
                    PendingRequest.getNextUniqueMessageId());
        } else {
            mGsmDispatcher.sendData(callingPackage, callingUser, destAddr, scAddr, destPort, data,
                    sentIntent, deliveryIntent, isForVvm);
                    sentIntent, deliveryIntent, isForVvm,
                    PendingRequest.getNextUniqueMessageId());
        }
    }

@@ -1843,7 +1866,8 @@ public class SmsDispatchersController extends Handler {
    }

    private void sendTextInternal(PendingRequest request) {
        logd("sendTextInternal: messageId=" + request.messageId);
        logd("sendTextInternal: messageId=" + request.messageId
                 + ", uniqueMessageId=" + request.uniqueMessageId);
        if (isSmsDomainSelectionEnabled()) {
            TelephonyManager tm = mContext.getSystemService(TelephonyManager.class);
            boolean isEmergency = tm.isEmergencyNumber(request.destAddr);
@@ -1859,7 +1883,7 @@ public class SmsDispatchersController extends Handler {
                    request.messageUri, request.callingPackage, request.callingUser,
                    request.persistMessage, request.priority, false /*expectMore*/,
                    request.validityPeriod, request.isForVvm, request.messageId,
                    request.skipShortCodeCheck);
                    request.skipShortCodeCheck, request.uniqueMessageId);
        } else {
            if (isCdmaMo()) {
                mCdmaDispatcher.sendText(request.destAddr, request.scAddr, request.texts.get(0),
@@ -1867,14 +1891,14 @@ public class SmsDispatchersController extends Handler {
                        request.messageUri, request.callingPackage, request.callingUser,
                        request.persistMessage, request.priority, request.expectMore,
                        request.validityPeriod, request.isForVvm, request.messageId,
                        request.skipShortCodeCheck);
                        request.skipShortCodeCheck, request.uniqueMessageId);
            } else {
                mGsmDispatcher.sendText(request.destAddr, request.scAddr, request.texts.get(0),
                        request.sentIntents.get(0), request.deliveryIntents.get(0),
                        request.messageUri, request.callingPackage, request.callingUser,
                        request.persistMessage, request.priority, request.expectMore,
                        request.validityPeriod, request.isForVvm, request.messageId,
                        request.skipShortCodeCheck);
                        request.skipShortCodeCheck, request.uniqueMessageId);
            }
        }
    }
@@ -2021,20 +2045,20 @@ public class SmsDispatchersController extends Handler {
                    request.sentIntents, request.deliveryIntents, request.messageUri,
                    request.callingPackage, request.callingUser, request.persistMessage,
                    request.priority, false /*expectMore*/, request.validityPeriod,
                    request.messageId);
                    request.messageId, request.uniqueMessageId);
        } else {
            if (isCdmaMo()) {
                mCdmaDispatcher.sendMultipartText(request.destAddr, request.scAddr, request.texts,
                        request.sentIntents, request.deliveryIntents, request.messageUri,
                        request.callingPackage, request.callingUser, request.persistMessage,
                        request.priority, request.expectMore, request.validityPeriod,
                        request.messageId);
                        request.messageId, request.uniqueMessageId);
            } else {
                mGsmDispatcher.sendMultipartText(request.destAddr, request.scAddr, request.texts,
                        request.sentIntents, request.deliveryIntents, request.messageUri,
                        request.callingPackage, request.callingUser, request.persistMessage,
                        request.priority, request.expectMore, request.validityPeriod,
                        request.messageId);
                        request.messageId, request.uniqueMessageId);
            }
        }
    }
+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

+32 −25

File changed.

Preview size limit exceeded, changes collapsed.

Loading