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

Commit 64049c2f authored by Jack Yu's avatar Jack Yu
Browse files

Added sub id to SmsCbMessage

Added a new field subscription id to SMS
cell broadcast message.

This is the preliminary step of deprecating
CellBroadcastMessage class.

Bug: 144891074
Test: Manual
Change-Id: Ibac8d3e77be15b618dd8b11878c984617614586c
parent 83bad9a9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -288,7 +288,8 @@ public class CdmaInboundSmsHandler extends InboundSmsHandler {
        String plmn =
                TelephonyManager.from(mContext).getNetworkOperatorForPhone(
                        mPhone.getPhoneId());
        SmsCbMessage cbMessage = sms.parseBroadcastSms(plmn, mPhone.getPhoneId());
        SmsCbMessage cbMessage = sms.parseBroadcastSms(plmn, mPhone.getPhoneId(),
                mPhone.getSubId());
        if (cbMessage != null) {
            mCellBroadcastHandler.dispatchSmsMessage(cbMessage);
        } else {
+10 −10
Original line number Diff line number Diff line
@@ -353,7 +353,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
        SmsMessage msg = createBroadcastSmsMessage(123, 456, BearerData.PRIORITY_NORMAL,
                BearerData.LANGUAGE_ENGLISH, encoding, TEST_TEXT);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        verifyCbValues(cbMessage);
        assertEquals(123, cbMessage.getServiceCategory());
        assertEquals(456, cbMessage.getSerialNumber());
@@ -385,7 +385,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
        SmsMessage msg = createBroadcastSmsMessage(987, 654, -1, -1,
                UserData.ENCODING_IS91_EXTENDED_PROTOCOL, IS91_TEXT);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        verifyCbValues(cbMessage);
        assertEquals(987, cbMessage.getServiceCategory());
        assertEquals(654, cbMessage.getSerialNumber());
@@ -402,7 +402,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
                serviceCategory, 1234, BearerData.PRIORITY_EMERGENCY, BearerData.LANGUAGE_ENGLISH,
                UserData.ENCODING_7BIT_ASCII, body, -1, -1, -1, -1, -1);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        verifyCbValues(cbMessage);
        assertEquals(serviceCategory, cbMessage.getServiceCategory());
        assertEquals(1234, cbMessage.getSerialNumber());
@@ -458,7 +458,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
                SmsCbCmasInfo.CMAS_RESPONSE_TYPE_MONITOR, SmsCbCmasInfo.CMAS_SEVERITY_SEVERE,
                SmsCbCmasInfo.CMAS_URGENCY_EXPECTED, SmsCbCmasInfo.CMAS_CERTAINTY_LIKELY);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        verifyCbValues(cbMessage);
        assertEquals(SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT,
                cbMessage.getServiceCategory());
@@ -488,7 +488,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
                12345, BearerData.PRIORITY_EMERGENCY, BearerData.LANGUAGE_ENGLISH,
                0x1F, EXTREME_ALERT, -1, -1, -1, -1, -1);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        assertNull("expected null for unsupported charset", cbMessage);
    }

@@ -500,7 +500,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
                67890, BearerData.PRIORITY_EMERGENCY, BearerData.LANGUAGE_ENGLISH,
                UserData.ENCODING_KOREAN, EXTREME_ALERT, -1, -1, -1, -1, -1);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        assertNull("expected null for unsupported charset", cbMessage);
    }

@@ -513,7 +513,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
                BearerData.PRIORITY_EMERGENCY, BearerData.LANGUAGE_ENGLISH,
                UserData.ENCODING_7BIT_ASCII, null, -1, -1, -1, -1, -1);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        verifyCbValues(cbMessage);
        assertEquals(SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT,
                cbMessage.getServiceCategory());
@@ -547,7 +547,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
                int category = 0x0ff0 + r.nextInt(32);  // half CMAS, half non-CMAS
                CdmaSmsMessage cdmaSmsMessage = createBroadcastParcel(category);
                SmsMessage msg = createMessageFromParcel(cdmaSmsMessage, data);
                SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
                SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
                // with random input, cbMessage will almost always be null (log when it isn't)
                if (cbMessage != null) {
                    Rlog.d("CdmaSmsCbTest", "success: " + cbMessage);
@@ -581,7 +581,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
                }

                SmsMessage msg = createMessageFromParcel(cdmaSmsMessage, bos.toByteArray());
                SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
                SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
            } catch (Exception e) {
                Rlog.d("CdmaSmsCbTest", "exception thrown", e);
                fail("Exception in decoder at run " + run + " length " + len + ": " + e);
@@ -744,7 +744,7 @@ public class CdmaSmsCbTest extends AndroidTestCase {
        CdmaSmsMessage cdmaSmsMessage = createBroadcastParcel(SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE);
        SmsMessage msg = createMessageFromParcel(cdmaSmsMessage, CMAS_TEST_BEARER_DATA);

        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0);
        SmsCbMessage cbMessage = msg.parseBroadcastSms("", 0, 1);
        assertNotNull("expected non-null for bearer data", cbMessage);
        assertEquals("geoScope", cbMessage.getGeographicalScope(), 1);
        assertEquals("serialNumber", cbMessage.getSerialNumber(), 51072);