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

Commit 9f8a1f43 authored by Jack Yu's avatar Jack Yu
Browse files

Added serial number and timestamp in cell broadcat metrics

The timestamp logging helps analyzing the delivered time
of emergency alerts among devices.

Test: Telephony sanity tests
Bug: 113688249
Change-Id: Ie0b3dc7a876bbc8b14b1b85c099d94a5a9480f74
parent 3c8956b4
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1358,6 +1358,12 @@ message SmsSession {

      // Service category of CB message
      optional int32 service_category = 4;

      // Message's serial number
      optional int32 serial_number = 5;

      // The delivered time (UTC) of the message
      optional int64 delivered_timestamp_millis = 6;
    }

    enum CBMessageType {
+2 −1
Original line number Diff line number Diff line
@@ -88,7 +88,8 @@ public class CellBroadcastHandler extends WakeLockStateMachine {
        TelephonyMetrics metrics = TelephonyMetrics.getInstance();
        metrics.writeNewCBSms(mPhone.getPhoneId(), message.getMessageFormat(),
                message.getMessagePriority(), message.isCmasMessage(), message.isEtwsMessage(),
                message.getServiceCategory());
                message.getServiceCategory(), message.getSerialNumber(),
                System.currentTimeMillis());

        Intent intent;
        if (message.isEmergencyMessage()) {
+6 −1
Original line number Diff line number Diff line
@@ -1766,9 +1766,12 @@ public class TelephonyMetrics {
     * @param isCMAS true if msg is CMAS
     * @param isETWS true if msg is ETWS
     * @param serviceCategory Service category of CB msg
     * @param serialNumber Serial number of the message
     * @param deliveredTimestamp Message's delivered timestamp
     */
    public synchronized void writeNewCBSms(int phoneId, int format, int priority, boolean isCMAS,
                                           boolean isETWS, int serviceCategory) {
                                           boolean isETWS, int serviceCategory, int serialNumber,
                                           long deliveredTimestamp) {
        InProgressSmsSession smsSession = startNewSmsSessionIfNeeded(phoneId);

        int type;
@@ -1785,6 +1788,8 @@ public class TelephonyMetrics {
        cbm.msgPriority = priority + 1;
        cbm.msgType = type;
        cbm.serviceCategory = serviceCategory;
        cbm.serialNumber = serialNumber;
        cbm.deliveredTimestampMillis = deliveredTimestamp;

        smsSession.addEvent(new SmsSessionEventBuilder(SmsSession.Event.Type.CB_SMS_RECEIVED)
                .setCellBroadcastMessage(cbm)