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

Commit 24b82d67 authored by Hyosun Kim's avatar Hyosun Kim Committed by Android (Google) Code Review
Browse files

Merge "1. Add count of incomingMms, outgoingMms in...

Merge "1. Add count of incomingMms, outgoingMms in CarrierRoamingSatelliteSession 2. Modify count of outgoingSms in CarrierRoamingSatelliteSession 3. sms and mms only count after NTN is connected" into main
parents f382aca8 39c63538
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1107,7 +1107,7 @@ public abstract class InboundSmsHandler extends StateMachine {
                messageCount, block, tracker.getMessageId());
        CarrierRoamingSatelliteSessionStats sessionStats =
                CarrierRoamingSatelliteSessionStats.getInstance(mPhone.getSubId());
        sessionStats.onIncomingSms();
        sessionStats.onIncomingSms(mPhone.getSubId());
        if (mPhone != null) {
            TelephonyAnalytics telephonyAnalytics = mPhone.getTelephonyAnalytics();
            if (telephonyAnalytics != null) {
+0 −4
Original line number Diff line number Diff line
@@ -89,7 +89,6 @@ import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
import com.android.internal.telephony.analytics.TelephonyAnalytics;
import com.android.internal.telephony.analytics.TelephonyAnalytics.SmsMmsAnalytics;
import com.android.internal.telephony.cdma.sms.UserData;
import com.android.internal.telephony.satellite.metrics.CarrierRoamingSatelliteSessionStats;
import com.android.internal.telephony.subscription.SubscriptionInfoInternal;
import com.android.internal.telephony.subscription.SubscriptionManagerService;
import com.android.internal.telephony.uicc.IccRecords;
@@ -1067,9 +1066,6 @@ public abstract class SMSDispatcher extends Handler {
                    tracker.isFromDefaultSmsApplication(mContext),
                    tracker.getInterval(),
                    mTelephonyManager.isEmergencyNumber(tracker.mDestAddress));
            CarrierRoamingSatelliteSessionStats sessionStats =
                    CarrierRoamingSatelliteSessionStats.getInstance(mPhone.getSubId());
            sessionStats.onOutgoingSms();
            if (mPhone != null) {
                TelephonyAnalytics telephonyAnalytics = mPhone.getTelephonyAnalytics();
                if (telephonyAnalytics != null) {
+4 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ import com.android.internal.telephony.flags.Flags;
import com.android.internal.telephony.nano.PersistAtomsProto.IncomingSms;
import com.android.internal.telephony.nano.PersistAtomsProto.OutgoingShortCodeSms;
import com.android.internal.telephony.nano.PersistAtomsProto.OutgoingSms;
import com.android.internal.telephony.satellite.metrics.CarrierRoamingSatelliteSessionStats;
import com.android.telephony.Rlog;

import java.util.Objects;
@@ -202,6 +203,9 @@ public class SmsStats {
        proto.networkErrorCode = networkErrorCode;

        mAtomsStorage.addOutgoingSms(proto);
        CarrierRoamingSatelliteSessionStats sessionStats =
                CarrierRoamingSatelliteSessionStats.getInstance(mPhone.getSubId());
        sessionStats.onOutgoingSms(mPhone.getSubId());
    }

    /** Create a new atom when user attempted to send an outgoing short code sms. */
+40 −7
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ public class CarrierRoamingSatelliteSessionStats {
    private int mCountOfOutgoingSms;
    private int mCountOfIncomingMms;
    private int mCountOfOutgoingMms;
    private long mIncomingMessageId;

    private int mSessionStartTimeSec;
    private List<Long> mConnectionStartTimeList;
@@ -49,8 +50,8 @@ public class CarrierRoamingSatelliteSessionStats {
    private List<Integer> mRsrpList;
    private List<Integer> mRssnrList;

    public CarrierRoamingSatelliteSessionStats() {
        logd("Create new CarrierRoamingSatelliteSessionStats.");
    public CarrierRoamingSatelliteSessionStats(int subId) {
        logd("Create new CarrierRoamingSatelliteSessionStats. subId=" + subId);
        initializeParams();
    }

@@ -59,7 +60,7 @@ public class CarrierRoamingSatelliteSessionStats {
        synchronized (sCarrierRoamingSatelliteSessionStats) {
            if (sCarrierRoamingSatelliteSessionStats.get(subId) == null) {
                sCarrierRoamingSatelliteSessionStats.put(subId,
                        new CarrierRoamingSatelliteSessionStats());
                        new CarrierRoamingSatelliteSessionStats(subId));
            }
            return sCarrierRoamingSatelliteSessionStats.get(subId);
        }
@@ -107,15 +108,41 @@ public class CarrierRoamingSatelliteSessionStats {
    }

    /** Log incoming sms success case */
    public void onIncomingSms() {
    public void onIncomingSms(int subId) {
        if (!isNtnConnected()) {
            return;
        }
        mCountOfIncomingSms += 1;
        logd("onIncomingSms: mCountOfIncomingSms=" + mCountOfIncomingSms);
        logd("onIncomingSms: subId=" + subId + ", count=" + mCountOfIncomingSms);
    }

    /** Log outgoing sms success case */
    public void onOutgoingSms() {
    public void onOutgoingSms(int subId) {
        if (!isNtnConnected()) {
            return;
        }
        mCountOfOutgoingSms += 1;
        logd("onOutgoingSms: mCountOfOutgoingSms=" + mCountOfOutgoingSms);
        logd("onOutgoingSms: subId=" + subId + ", count=" + mCountOfOutgoingSms);
    }

    /** Log incoming or outgoing mms success case */
    public void onMms(boolean isIncomingMms, long messageId) {
        if (!isNtnConnected()) {
            return;
        }
        if (isIncomingMms) {
            mIncomingMessageId = messageId;
            mCountOfIncomingMms += 1;
            logd("onMms: messageId=" + messageId + ", countOfIncomingMms=" + mCountOfIncomingMms);
        } else {
            if (mIncomingMessageId == messageId) {
                logd("onMms: NotifyResponse ignore it.");
                mIncomingMessageId = 0;
                return;
            }
            mCountOfOutgoingMms += 1;
            logd("onMms: countOfOutgoingMms=" + mCountOfOutgoingMms);
        }
    }

    private void reportMetrics() {
@@ -165,12 +192,14 @@ public class CarrierRoamingSatelliteSessionStats {
        mCountOfOutgoingSms = 0;
        mCountOfIncomingMms = 0;
        mCountOfOutgoingMms = 0;
        mIncomingMessageId = 0;

        mSessionStartTimeSec = 0;
        mConnectionStartTimeList = new ArrayList<>();
        mConnectionEndTimeList = new ArrayList<>();
        mRsrpList = new ArrayList<>();
        mRssnrList = new ArrayList<>();
        logd("initializeParams");
    }

    private CellSignalStrengthLte getCellSignalStrengthLte(Phone phone) {
@@ -259,6 +288,10 @@ public class CarrierRoamingSatelliteSessionStats {
        return System.currentTimeMillis();
    }

    private boolean isNtnConnected() {
        return mSessionStartTimeSec != 0;
    }

    private void logd(@NonNull String log) {
        Log.d(TAG, log);
    }