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

Commit adc33abf 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 am: dbf80c2a

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0209f2dd195c2d5ed00417ce481537798ecf7a54
parents ced82dfd dbf80c2a
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);
                }
            }