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

Commit 427f7b9b authored by yanglv's avatar yanglv Committed by Marcos Marado
Browse files

Telephony: Show the sender address of WAP push message

Deliver sender address of WAP PUSH message to Messaging application.

Issue: PAELLA-286

Change-Id: I2a3370b6065ce5bedf9bfee152058a9575d16c32
CRs-Fixed: 593718
parent d85de457
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -800,6 +800,7 @@ public abstract class InboundSmsHandler extends StateMachine {
        int messageCount = tracker.getMessageCount();
        byte[][] pdus;
        int destPort = tracker.getDestPort();
        String address = "";

        if (messageCount == 1) {
            // single-part message
@@ -809,7 +810,7 @@ public abstract class InboundSmsHandler extends StateMachine {
            Cursor cursor = null;
            try {
                // used by several query selection arguments
                String address = tracker.getAddress();
                address = tracker.getAddress();
                String refNumber = Integer.toString(tracker.getReferenceNumber());
                String count = Integer.toString(tracker.getMessageCount());

@@ -867,10 +868,16 @@ public abstract class InboundSmsHandler extends StateMachine {
                if (!tracker.is3gpp2()) {
                    SmsMessage msg = SmsMessage.createFromPdu(pdu, SmsConstants.FORMAT_3GPP);
                    pdu = msg.getUserData();
                    if (address == "") {
                       address = msg.getOriginatingAddress();
                    } else if(address == ""){
                       address = tracker.getAddress();
                    }
                }
                output.write(pdu, 0, pdu.length);
            }
            int result = mWapPush.dispatchWapPdu(output.toByteArray(), resultReceiver, this);
            int result = mWapPush.dispatchWapPdu(output.toByteArray(), resultReceiver,
                    this, address);
            if (DBG) log("dispatchWapPdu() returned " + result);
            // result is Activity.RESULT_OK if an ordered broadcast was sent
            if (result == Activity.RESULT_OK) {
+9 −1
Original line number Diff line number Diff line
@@ -116,11 +116,13 @@ public class WapPushOverSms implements ServiceConnection {
     * wap-230-wsp-20010705-a section 8 for details on the WAP PDU format.
     *
     * @param pdu The WAP PDU, made up of one or more SMS PDUs
     * @param address The originating address
     * @return a result code from {@link android.provider.Telephony.Sms.Intents}, or
     *         {@link Activity#RESULT_OK} if the message has been broadcast
     *         to applications
     */
    public int dispatchWapPdu(byte[] pdu, BroadcastReceiver receiver, InboundSmsHandler handler) {
    public int dispatchWapPdu(byte[] pdu, BroadcastReceiver receiver, InboundSmsHandler handler,
            String address) {

        if (DBG) Rlog.d(TAG, "Rx: " + IccUtils.bytesToHexString(pdu));

@@ -251,6 +253,9 @@ public class WapPushOverSms implements ServiceConnection {
                        intent.putExtra("data", intentData);
                        intent.putExtra("contentTypeParameters",
                                pduDecoder.getContentParameters());
                        if (!TextUtils.isEmpty(address)) {
                            intent.putExtra("address", address);
                        }
                        SubscriptionManager.putPhoneIdAndSubIdExtra(intent, phoneId);

                        int procRet = wapPushMan.processMessage(wapAppId, contentType, intent);
@@ -292,6 +297,9 @@ public class WapPushOverSms implements ServiceConnection {
            intent.putExtra("header", header);
            intent.putExtra("data", intentData);
            intent.putExtra("contentTypeParameters", pduDecoder.getContentParameters());
            if (!TextUtils.isEmpty(address)) {
                intent.putExtra("address", address);
            }
            SubscriptionManager.putPhoneIdAndSubIdExtra(intent, phoneId);

            // Direct the intent to only the default WAP Push app. If none declared: