Loading src/java/com/android/internal/telephony/InboundSmsHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading src/java/com/android/internal/telephony/SMSDispatcher.java +0 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading src/java/com/android/internal/telephony/metrics/SmsStats.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. */ Loading src/java/com/android/internal/telephony/satellite/metrics/CarrierRoamingSatelliteSessionStats.java +40 −7 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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(); } Loading @@ -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); } Loading Loading @@ -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() { Loading Loading @@ -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) { Loading Loading @@ -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); } Loading Loading
src/java/com/android/internal/telephony/InboundSmsHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading
src/java/com/android/internal/telephony/SMSDispatcher.java +0 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading
src/java/com/android/internal/telephony/metrics/SmsStats.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. */ Loading
src/java/com/android/internal/telephony/satellite/metrics/CarrierRoamingSatelliteSessionStats.java +40 −7 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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(); } Loading @@ -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); } Loading Loading @@ -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() { Loading Loading @@ -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) { Loading Loading @@ -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); } Loading