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

Commit dbf80c2a authored by Brad Ebinger's avatar Brad Ebinger Committed by Automerger Merge Worker
Browse files

Merge "Handle 3GPP2 SMS report for sent 3GPP SMS" am: 913fbf4e

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1525661

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I556e7d97d0bcd27c2eda920e99f90493017f33c5
parents 0fb993df 913fbf4e
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -812,8 +812,19 @@ public class SmsDispatchersController extends Handler {
            com.android.internal.telephony.cdma.SmsMessage sms =
                    com.android.internal.telephony.cdma.SmsMessage.createFromPdu(pdu);
            if (sms != null) {
                boolean foundIn3GPPMap = false;
                messageRef = sms.mMessageRef;
                tracker = mDeliveryPendingMapFor3GPP2.get(messageRef);
                if (tracker == null) {
                    // A tracker for this 3GPP2 report may be in the 3GPP map instead if the
                    // previously submitted SMS was 3GPP format.
                    // (i.e. Some carriers require that devices receive 3GPP2 SMS also even if IMS
                    // SMS format is 3GGP.)
                    tracker = mDeliveryPendingMapFor3GPP.get(messageRef);
                    if (tracker != null) {
                        foundIn3GPPMap = true;
                    }
                }
                if (tracker != null) {
                    // The status is composed of an error class (bits 25-24) and a status code
                    // (bits 23-16).
@@ -826,8 +837,12 @@ public class SmsDispatchersController extends Handler {
                                        ? Sms.STATUS_COMPLETE
                                        : Sms.STATUS_FAILED);
                        // No longer need to be kept.
                        if (foundIn3GPPMap) {
                            mDeliveryPendingMapFor3GPP.remove(messageRef);
                        } else {
                            mDeliveryPendingMapFor3GPP2.remove(messageRef);
                        }
                    }
                    handled = triggerDeliveryIntent(tracker, format, pdu);
                }
            }