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

Commit c60dd86d authored by Jack Yu's avatar Jack Yu Committed by android-build-team Robot
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
(cherry picked from commit 9f8a1f43)
parent 1a0db62d
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)