diff options
author | 2025-03-12 11:25:18 +0000 | |
---|---|---|
committer | 2025-03-12 18:05:28 +0000 | |
commit | 5ac640563c7dd8a61949f086fd2b4f2d9ca4837a (patch) | |
tree | 0429e749540207a634c0d2f12a44033e64161b95 | |
parent | 0e5c6b485c285307bbd78993409909429574d51e (diff) |
Add new fields for counting sms sms message for Satellite
Added counter for successful/failed incoming/outgoing messages
Related atom : SatelliteController atom
Fields definition
1. count_of_incoming_datagram_type_sos_sms_success : count haw many times sos or sms message have received successfully, this is similar with count_of_datagram_type_sos_sms_success, but it is for outgoing sos or sms message type.
2. count_of_incoming_datagram_type_sos_sms_fail : count how many times sos or sms message receive attempt have failed, this is similar with count_of_datagram_type_sos_sms_fail, but it is for outgoing sos or sms message type.
3. count_of_outgoing_sdatagram_type_sms_success : count how many times sms message have received successfully, this is needed because existing field count_of_datagram_type_sos_sms_success count merged value for sos and sms, we don't have way to distinguish sms or sos, so this field is added.
4. count_of_outgoing_datagram_type_sms_fail : similar with above
5. count_of_incoming_datagram_type_sms_success : similar with above, but it is for incoming sms case
6. count_of_incoming_datagram_type_sms_fail : similar with above
Flag: EXEMPT bug fix
Bug: 402622532
Test: atest atest PersistAtomsStorageTest SatelliteStatsTest SatelliteControllerTest
Test: manually test and check DB whether it is reported or not
Change-Id: Ideacbf2a9c56a67cb37b244067a6f6826fe5c354
9 files changed, 270 insertions, 4 deletions
diff --git a/proto/src/persist_atoms.proto b/proto/src/persist_atoms.proto index cca2435254..445664d035 100644 --- a/proto/src/persist_atoms.proto +++ b/proto/src/persist_atoms.proto @@ -728,6 +728,12 @@ message SatelliteController { optional int32 count_of_p2p_sms_available_notification_removed = 35; optional bool is_ntn_only_carrier = 36; optional int32 version_of_satellite_access_config = 37; + optional int32 count_of_incoming_datagram_type_sos_sms_success = 38; + optional int32 count_of_incoming_datagram_type_sos_sms_fail = 39; + optional int32 count_of_outgoing_datagram_type_sms_success = 40; + optional int32 count_of_outgoing_datagram_type_sms_fail = 41; + optional int32 count_of_incoming_datagram_type_sms_success = 42; + optional int32 count_of_incoming_datagram_type_sms_fail = 43; } message SatelliteSession { diff --git a/src/java/com/android/internal/telephony/metrics/MetricsCollector.java b/src/java/com/android/internal/telephony/metrics/MetricsCollector.java index a5df6e6d9a..7863b25405 100644 --- a/src/java/com/android/internal/telephony/metrics/MetricsCollector.java +++ b/src/java/com/android/internal/telephony/metrics/MetricsCollector.java @@ -1485,7 +1485,13 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { satelliteController.countOfP2PSmsAvailableNotificationShown, satelliteController.countOfP2PSmsAvailableNotificationRemoved, satelliteController.isNtnOnlyCarrier, - satelliteController.versionOfSatelliteAccessConfig); + satelliteController.versionOfSatelliteAccessConfig, + satelliteController.countOfIncomingDatagramTypeSosSmsSuccess, + satelliteController.countOfIncomingDatagramTypeSosSmsFail, + satelliteController.countOfOutgoingDatagramTypeSmsSuccess, + satelliteController.countOfOutgoingDatagramTypeSmsFail, + satelliteController.countOfIncomingDatagramTypeSmsSuccess, + satelliteController.countOfIncomingDatagramTypeSmsFail); } private static StatsEvent buildStatsEvent(SatelliteSession satelliteSession) { diff --git a/src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java b/src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java index 9f6af3f7a1..4346da4b79 100644 --- a/src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +++ b/src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java @@ -786,6 +786,18 @@ public class PersistAtomsStorage { += stats.countOfP2PSmsAvailableNotificationRemoved; // Does not update isNtnOnlyCarrier due to it is a dimension field. existingStats.versionOfSatelliteAccessConfig = stats.versionOfSatelliteAccessConfig; + existingStats.countOfIncomingDatagramTypeSosSmsSuccess + += stats.countOfIncomingDatagramTypeSosSmsSuccess; + existingStats.countOfIncomingDatagramTypeSosSmsFail + += stats.countOfIncomingDatagramTypeSosSmsFail; + existingStats.countOfOutgoingDatagramTypeSmsSuccess + += stats.countOfOutgoingDatagramTypeSmsSuccess; + existingStats.countOfOutgoingDatagramTypeSmsFail + += stats.countOfOutgoingDatagramTypeSmsFail; + existingStats.countOfIncomingDatagramTypeSmsSuccess + += stats.countOfIncomingDatagramTypeSmsSuccess; + existingStats.countOfIncomingDatagramTypeSmsFail + += stats.countOfIncomingDatagramTypeSmsFail; } else { mAtoms.satelliteController = insertAtRandomPlace(mAtoms.satelliteController, stats, mMaxNumSatelliteStats); diff --git a/src/java/com/android/internal/telephony/metrics/SatelliteStats.java b/src/java/com/android/internal/telephony/metrics/SatelliteStats.java index c46a53f530..59ceb6d6c7 100644 --- a/src/java/com/android/internal/telephony/metrics/SatelliteStats.java +++ b/src/java/com/android/internal/telephony/metrics/SatelliteStats.java @@ -105,6 +105,12 @@ public class SatelliteStats { private final int mCountOfP2PSmsAvailableNotificationRemoved; private static boolean sIsNtnOnlyCarrier; private static int sVersionOfSatelliteAccessConfig; + private final int mCountOfIncomingDatagramTypeSosSmsSuccess; + private final int mCountOfIncomingDatagramTypeSosSmsFail; + private final int mCountOfOutgoingDatagramTypeSmsSuccess; + private final int mCountOfOutgoingDatagramTypeSmsFail; + private final int mCountOfIncomingDatagramTypeSmsSuccess; + private final int mCountOfIncomingDatagramTypeSmsFail; private SatelliteControllerParams(Builder builder) { this.mCountOfSatelliteServiceEnablementsSuccess = @@ -181,6 +187,17 @@ public class SatelliteStats { this.sVersionOfSatelliteAccessConfig = builder.mVersionOfSatelliteAccessConfig.get(); } + + this.mCountOfIncomingDatagramTypeSosSmsSuccess = + builder.mCountOfIncomingDatagramTypeSosSmsSuccess; + this.mCountOfIncomingDatagramTypeSosSmsFail = + builder.mCountOfIncomingDatagramTypeSosSmsFail; + this.mCountOfOutgoingDatagramTypeSmsSuccess = + builder.mCountOfOutgoingDatagramTypeSmsSuccess; + this.mCountOfOutgoingDatagramTypeSmsFail = builder.mCountOfOutgoingDatagramTypeSmsFail; + this.mCountOfIncomingDatagramTypeSmsSuccess = + builder.mCountOfIncomingDatagramTypeSmsSuccess; + this.mCountOfIncomingDatagramTypeSmsFail = builder.mCountOfIncomingDatagramTypeSmsFail; } public int getCountOfSatelliteServiceEnablementsSuccess() { @@ -331,6 +348,30 @@ public class SatelliteStats { return sVersionOfSatelliteAccessConfig; } + public int getCountOfIncomingDatagramTypeSosSmsSuccess() { + return mCountOfIncomingDatagramTypeSosSmsSuccess; + } + + public int getCountOfIncomingDatagramTypeSosSmsFail() { + return mCountOfIncomingDatagramTypeSosSmsFail; + } + + public int getCountOfOutgoingDatagramTypeSmsSuccess() { + return mCountOfOutgoingDatagramTypeSmsSuccess; + } + + public int getCountOfOutgoingDatagramTypeSmsFail() { + return mCountOfOutgoingDatagramTypeSmsFail; + } + + public int getCountOfIncomingDatagramTypeSmsSuccess() { + return mCountOfIncomingDatagramTypeSmsSuccess; + } + + public int getCountOfIncomingDatagramTypeSmsFail() { + return mCountOfIncomingDatagramTypeSmsFail; + } + /** * A builder class to create {@link SatelliteControllerParams} data structure class */ @@ -372,6 +413,12 @@ public class SatelliteStats { private int mCountOfP2PSmsAvailableNotificationRemoved = 0; private Optional<Boolean> mIsNtnOnlyCarrier = Optional.empty(); private Optional<Integer> mVersionOfSatelliteAccessConfig = Optional.empty(); + private int mCountOfIncomingDatagramTypeSosSmsSuccess; + private int mCountOfIncomingDatagramTypeSosSmsFail; + private int mCountOfOutgoingDatagramTypeSmsSuccess; + private int mCountOfOutgoingDatagramTypeSmsFail; + private int mCountOfIncomingDatagramTypeSmsSuccess; + private int mCountOfIncomingDatagramTypeSmsFail; /** * Sets countOfSatelliteServiceEnablementsSuccess value of {@link SatelliteController} @@ -740,6 +787,67 @@ public class SatelliteStats { } /** + * Sets countOfIncomingDatagramTypeSosSmsSuccess value of {@link SatelliteController} + * atom then returns Builder class + */ + public Builder setCountOfIncomingDatagramTypeSosSmsSuccess( + int countOfIncomingDatagramTypeSosSmsSuccess) { + this.mCountOfIncomingDatagramTypeSosSmsSuccess = + countOfIncomingDatagramTypeSosSmsSuccess; + return this; + } + + /** + * Sets countOfIncomingDatagramTypeSosSmsFail value of {@link SatelliteController} atom + * then returns Builder class + */ + public Builder setCountOfIncomingDatagramTypeSosSmsFail( + int countOfIncomingDatagramTypeSosSmsFail) { + this.mCountOfIncomingDatagramTypeSosSmsFail = countOfIncomingDatagramTypeSosSmsFail; + return this; + } + + /** + * Sets countOfOutgoingDatagramTypeSmsSuccess value of {@link SatelliteController} atom + * then returns Builder class + */ + public Builder setCountOfOutgoingDatagramTypeSmsSuccess( + int countOfOutgoingDatagramTypeSmsSuccess) { + this.mCountOfOutgoingDatagramTypeSmsSuccess = countOfOutgoingDatagramTypeSmsSuccess; + return this; + } + + /** + * Sets countOfOutgoingDatagramTypeSmsFail value of {@link SatelliteController} atom + * then returns Builder class + */ + public Builder setCountOfOutgoingDatagramTypeSmsFail( + int countOfOutgoingDatagramTypeSmsFail) { + this.mCountOfOutgoingDatagramTypeSmsFail = countOfOutgoingDatagramTypeSmsFail; + return this; + } + + /** + * Sets countOfIncomingDatagramTypeSmsSuccess value of {@link SatelliteController} atom + * then returns Builder class + */ + public Builder setCountOfIncomingDatagramTypeSmsSuccess( + int countOfIncomingDatagramTypeSmsSuccess) { + this.mCountOfIncomingDatagramTypeSmsSuccess = countOfIncomingDatagramTypeSmsSuccess; + return this; + } + + /** + * Sets countOfIncomingDatagramTypeSmsFail value of {@link SatelliteController} atom + * then returns Builder class + */ + public Builder setCountOfIncomingDatagramTypeSmsFail( + int countOfIncomingDatagramTypeSmsFail) { + this.mCountOfIncomingDatagramTypeSmsFail = countOfIncomingDatagramTypeSmsFail; + return this; + } + + /** * Returns ControllerParams, which contains whole component of * {@link SatelliteController} atom */ @@ -799,6 +907,16 @@ public class SatelliteStats { + ", countOfP2PSmsAvailableNotificationRemoved=" + mCountOfP2PSmsAvailableNotificationRemoved + ", versionOfSatelliteAccessConfig=" + sVersionOfSatelliteAccessConfig + + ", countOfIncomingDatagramTypeSosSmsSuccess=" + + mCountOfIncomingDatagramTypeSosSmsSuccess + + ", countOfIncomingDatagramTypeSosSmsFail=" + + mCountOfIncomingDatagramTypeSosSmsFail + + ", countOfOutgoingDatagramTypeSmsSuccess=" + + mCountOfOutgoingDatagramTypeSmsSuccess + + ", countOfOutgoingDatagramTypeSmsFail=" + mCountOfOutgoingDatagramTypeSmsFail + + ", countOfIncomingDatagramTypeSmsSuccess=" + + mCountOfIncomingDatagramTypeSmsSuccess + + ", countOfIncomingDatagramTypeSmsFail=" + mCountOfIncomingDatagramTypeSmsFail + ")"; } } @@ -2892,6 +3010,16 @@ public class SatelliteStats { param.getCountOfP2PSmsAvailableNotificationRemoved(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.versionOfSatelliteAccessConfig = param.getVersionSatelliteAccessConfig(); + proto.countOfIncomingDatagramTypeSosSmsSuccess = + param.getCountOfIncomingDatagramTypeSosSmsSuccess(); + proto.countOfIncomingDatagramTypeSosSmsFail = + param.getCountOfIncomingDatagramTypeSosSmsFail(); + proto.countOfOutgoingDatagramTypeSmsSuccess = + param.getCountOfOutgoingDatagramTypeSmsSuccess(); + proto.countOfOutgoingDatagramTypeSmsFail = param.getCountOfOutgoingDatagramTypeSmsFail(); + proto.countOfIncomingDatagramTypeSmsSuccess = + param.getCountOfIncomingDatagramTypeSmsSuccess(); + proto.countOfIncomingDatagramTypeSmsFail = param.getCountOfIncomingDatagramTypeSmsFail(); if (DBG) logd("onSatelliteControllerMetrics" + param); mAtomsStorage.addSatelliteControllerStats(proto); } diff --git a/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java b/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java index 0b8589306f..bc7d5d142f 100644 --- a/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java +++ b/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java @@ -767,9 +767,11 @@ public class DatagramDispatcher extends Handler { if (resultCode == SATELLITE_RESULT_SUCCESS) { long smsTransmissionTime = mSmsTransmissionStartTime > 0 ? (System.currentTimeMillis() - mSmsTransmissionStartTime) : 0; + mControllerMetricsStats.reportOutgoingDatagramSuccessCount(datagramType, false); mSessionMetricsStats.addCountOfSuccessfulOutgoingDatagram( datagramType, smsTransmissionTime); } else { + mControllerMetricsStats.reportOutgoingDatagramFailCount(datagramType, false); mSessionMetricsStats.addCountOfFailedOutgoingDatagram( datagramType, resultCode); } diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteController.java b/src/java/com/android/internal/telephony/satellite/SatelliteController.java index d44100d3e5..11d2b765bf 100644 --- a/src/java/com/android/internal/telephony/satellite/SatelliteController.java +++ b/src/java/com/android/internal/telephony/satellite/SatelliteController.java @@ -3810,6 +3810,9 @@ public class SatelliteController extends Handler { } else { logd("onSmsReceived: DatagramController is not initialized"); } + + mControllerMetricsStats.reportIncomingNtnSmsCount( + SatelliteManager.SATELLITE_RESULT_SUCCESS); } /** diff --git a/src/java/com/android/internal/telephony/satellite/metrics/ControllerMetricsStats.java b/src/java/com/android/internal/telephony/satellite/metrics/ControllerMetricsStats.java index aef0808b59..5d0fa9d2f6 100644 --- a/src/java/com/android/internal/telephony/satellite/metrics/ControllerMetricsStats.java +++ b/src/java/com/android/internal/telephony/satellite/metrics/ControllerMetricsStats.java @@ -145,6 +145,9 @@ public class ControllerMetricsStats { builder.setCountOfDatagramTypeLocationSharingSuccess(ADD_COUNT); } else if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { builder.setCountOfDatagramTypeKeepAliveSuccess(ADD_COUNT).build(); + } else if (datagramType == SatelliteManager.DATAGRAM_TYPE_SMS) { + builder.setCountOfDatagramTypeSosSmsSuccess(ADD_COUNT) + .setCountOfOutgoingDatagramTypeSmsSuccess(ADD_COUNT); } } @@ -169,6 +172,9 @@ public class ControllerMetricsStats { builder.setCountOfDatagramTypeLocationSharingFail(ADD_COUNT); } else if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { builder.setCountOfDatagramTypeKeepAliveFail(ADD_COUNT); + } else if (datagramType == SatelliteManager.DATAGRAM_TYPE_SMS) { + builder.setCountOfDatagramTypeSosSmsFail(ADD_COUNT) + .setCountOfOutgoingDatagramTypeSmsFail(ADD_COUNT); } } @@ -177,7 +183,7 @@ public class ControllerMetricsStats { mSatelliteStats.onSatelliteControllerMetrics(controllerParam); } - /** Report a counter when an attempt for incoming datagram is failed */ + /** Increase counters for successful and failed incoming datagram attempts */ public void reportIncomingDatagramCount( @NonNull @SatelliteManager.SatelliteResult int result, boolean isDemoMode) { SatelliteStats.SatelliteControllerParams.Builder builder = @@ -190,9 +196,12 @@ public class ControllerMetricsStats { } } else { if (result == SatelliteManager.SATELLITE_RESULT_SUCCESS) { - builder.setCountOfIncomingDatagramSuccess(ADD_COUNT); + builder.setCountOfIncomingDatagramSuccess(ADD_COUNT) + .setCountOfIncomingDatagramTypeSosSmsSuccess(ADD_COUNT); + } else { - builder.setCountOfIncomingDatagramFail(ADD_COUNT); + builder.setCountOfIncomingDatagramFail(ADD_COUNT) + .setCountOfIncomingDatagramTypeSosSmsFail(ADD_COUNT); } } SatelliteStats.SatelliteControllerParams controllerParam = builder.build(); @@ -200,6 +209,23 @@ public class ControllerMetricsStats { mSatelliteStats.onSatelliteControllerMetrics(controllerParam); } + /** Increase counters for successful and failed incoming ntn sms attempts */ + public void reportIncomingNtnSmsCount( + @NonNull @SatelliteManager.SatelliteResult int result) { + SatelliteStats.SatelliteControllerParams.Builder builder = + new SatelliteStats.SatelliteControllerParams.Builder(); + if (result == SatelliteManager.SATELLITE_RESULT_SUCCESS) { + builder.setCountOfIncomingDatagramTypeSosSmsSuccess(ADD_COUNT) + .setCountOfIncomingDatagramTypeSmsSuccess(ADD_COUNT); + } else { + builder.setCountOfIncomingDatagramTypeSosSmsFail(ADD_COUNT) + .setCountOfIncomingDatagramTypeSmsFail(ADD_COUNT); + } + SatelliteStats.SatelliteControllerParams controllerParam = builder.build(); + logd("reportIncomingNtnSmsCount(): " + controllerParam); + mSatelliteStats.onSatelliteControllerMetrics(controllerParam); + } + /** Report a counter when an attempt for de-provision is success or not */ public void reportProvisionCount(@NonNull @SatelliteManager.SatelliteResult int result) { SatelliteStats.SatelliteControllerParams controllerParam; diff --git a/tests/telephonytests/src/com/android/internal/telephony/metrics/PersistAtomsStorageTest.java b/tests/telephonytests/src/com/android/internal/telephony/metrics/PersistAtomsStorageTest.java index 7bd82341cd..5bc8e680f5 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/metrics/PersistAtomsStorageTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/metrics/PersistAtomsStorageTest.java @@ -1153,6 +1153,13 @@ public class PersistAtomsStorageTest extends TelephonyTest { mSatelliteController1.countOfP2PSmsAvailableNotificationShown = 3; mSatelliteController1.countOfP2PSmsAvailableNotificationRemoved = 5; mSatelliteController1.isNtnOnlyCarrier = false; + mSatelliteController1.versionOfSatelliteAccessConfig = 10; + mSatelliteController1.countOfIncomingDatagramTypeSosSmsSuccess = 1; + mSatelliteController1.countOfIncomingDatagramTypeSosSmsFail = 2; + mSatelliteController1.countOfOutgoingDatagramTypeSmsSuccess = 3; + mSatelliteController1.countOfOutgoingDatagramTypeSmsFail = 4; + mSatelliteController1.countOfIncomingDatagramTypeSmsSuccess = 5; + mSatelliteController1.countOfIncomingDatagramTypeSmsFail = 6; mSatelliteController2 = new SatelliteController(); mSatelliteController2.countOfSatelliteServiceEnablementsSuccess = 2 + 1; @@ -1187,6 +1194,13 @@ public class PersistAtomsStorageTest extends TelephonyTest { mSatelliteController2.countOfP2PSmsAvailableNotificationShown = 30; mSatelliteController2.countOfP2PSmsAvailableNotificationRemoved = 50; mSatelliteController2.isNtnOnlyCarrier = true; + mSatelliteController2.versionOfSatelliteAccessConfig = 12; + mSatelliteController2.countOfIncomingDatagramTypeSosSmsSuccess = 11; + mSatelliteController2.countOfIncomingDatagramTypeSosSmsFail = 12; + mSatelliteController2.countOfOutgoingDatagramTypeSmsSuccess = 31; + mSatelliteController2.countOfOutgoingDatagramTypeSmsFail = 14; + mSatelliteController2.countOfIncomingDatagramTypeSmsSuccess = 15; + mSatelliteController2.countOfIncomingDatagramTypeSmsFail = 16; // SatelliteController atom has one data point mSatelliteControllers = @@ -4458,6 +4472,20 @@ public class PersistAtomsStorageTest extends TelephonyTest { expected.countOfP2PSmsAvailableNotificationRemoved = mSatelliteController1.countOfP2PSmsAvailableNotificationRemoved * 2; expected.isNtnOnlyCarrier = mSatelliteController1.isNtnOnlyCarrier; + expected.versionOfSatelliteAccessConfig = + mSatelliteController1.versionOfSatelliteAccessConfig; + expected.countOfIncomingDatagramTypeSosSmsSuccess = + mSatelliteController1.countOfIncomingDatagramTypeSosSmsSuccess * 2; + expected.countOfIncomingDatagramTypeSosSmsFail = + mSatelliteController1.countOfIncomingDatagramTypeSosSmsFail * 2; + expected.countOfOutgoingDatagramTypeSmsSuccess = + mSatelliteController1.countOfOutgoingDatagramTypeSmsSuccess * 2; + expected.countOfOutgoingDatagramTypeSmsFail = + mSatelliteController1.countOfOutgoingDatagramTypeSmsFail * 2; + expected.countOfIncomingDatagramTypeSmsSuccess = + mSatelliteController1.countOfIncomingDatagramTypeSmsSuccess * 2; + expected.countOfIncomingDatagramTypeSmsFail = + mSatelliteController1.countOfIncomingDatagramTypeSmsFail * 2; // Service state and service switch should be added successfully verifyCurrentStateSavedToFileOnce(); @@ -4610,6 +4638,26 @@ public class PersistAtomsStorageTest extends TelephonyTest { satelliteController1.countOfP2PSmsAvailableNotificationRemoved + satelliteController2.countOfP2PSmsAvailableNotificationRemoved; expected.isNtnOnlyCarrier = false; + expected.versionOfSatelliteAccessConfig = + mSatelliteController2.versionOfSatelliteAccessConfig; + expected.countOfIncomingDatagramTypeSosSmsSuccess = + mSatelliteController1.countOfIncomingDatagramTypeSosSmsSuccess + + mSatelliteController2.countOfIncomingDatagramTypeSosSmsSuccess; + expected.countOfIncomingDatagramTypeSosSmsFail = + mSatelliteController1.countOfIncomingDatagramTypeSosSmsFail + + mSatelliteController2.countOfIncomingDatagramTypeSosSmsFail; + expected.countOfOutgoingDatagramTypeSmsSuccess = + mSatelliteController1.countOfOutgoingDatagramTypeSmsSuccess + + mSatelliteController2.countOfOutgoingDatagramTypeSmsSuccess; + expected.countOfOutgoingDatagramTypeSmsFail = + mSatelliteController1.countOfOutgoingDatagramTypeSmsFail + + mSatelliteController2.countOfOutgoingDatagramTypeSmsFail; + expected.countOfIncomingDatagramTypeSmsSuccess = + mSatelliteController1.countOfIncomingDatagramTypeSmsSuccess + + mSatelliteController2.countOfIncomingDatagramTypeSmsSuccess; + expected.countOfIncomingDatagramTypeSmsFail = + mSatelliteController1.countOfIncomingDatagramTypeSmsFail + + mSatelliteController2.countOfIncomingDatagramTypeSmsFail; // Service state and service switch should be added successfully verifyCurrentStateSavedToFileOnce(); @@ -6058,6 +6106,20 @@ public class PersistAtomsStorageTest extends TelephonyTest { stats.countOfP2PSmsAvailableNotificationShown); assertEquals(expectedStats.countOfP2PSmsAvailableNotificationRemoved, stats.countOfP2PSmsAvailableNotificationRemoved); + assertEquals(expectedStats.versionOfSatelliteAccessConfig, + stats.versionOfSatelliteAccessConfig); + assertEquals(expectedStats.countOfIncomingDatagramTypeSosSmsSuccess, + stats.countOfIncomingDatagramTypeSosSmsSuccess); + assertEquals(expectedStats.countOfIncomingDatagramTypeSosSmsFail, + stats.countOfIncomingDatagramTypeSosSmsFail); + assertEquals(expectedStats.countOfOutgoingDatagramTypeSmsSuccess, + stats.countOfOutgoingDatagramTypeSmsSuccess); + assertEquals(expectedStats.countOfOutgoingDatagramTypeSmsFail, + stats.countOfOutgoingDatagramTypeSmsFail); + assertEquals(expectedStats.countOfIncomingDatagramTypeSmsSuccess, + stats.countOfIncomingDatagramTypeSmsSuccess); + assertEquals(expectedStats.countOfIncomingDatagramTypeSmsFail, + stats.countOfIncomingDatagramTypeSmsFail); actualCount++; } } diff --git a/tests/telephonytests/src/com/android/internal/telephony/metrics/SatelliteStatsTest.java b/tests/telephonytests/src/com/android/internal/telephony/metrics/SatelliteStatsTest.java index 540f7ffd4d..d438198448 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/metrics/SatelliteStatsTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/metrics/SatelliteStatsTest.java @@ -111,6 +111,13 @@ public class SatelliteStatsTest extends TelephonyTest { .setCountOfP2PSmsAvailableNotificationShown(3) .setCountOfP2PSmsAvailableNotificationRemoved(3) .setIsNtnOnlyCarrier(false) + .setVersionOfSatelliteAccessControl(10) + .setCountOfIncomingDatagramTypeSosSmsSuccess(1) + .setCountOfIncomingDatagramTypeSmsFail(2) + .setCountOfOutgoingDatagramTypeSmsSuccess(3) + .setCountOfOutgoingDatagramTypeSmsFail(4) + .setCountOfIncomingDatagramTypeSmsSuccess(5) + .setCountOfIncomingDatagramTypeSmsFail(6) .build(); mSatelliteStats.onSatelliteControllerMetrics(param); @@ -182,6 +189,20 @@ public class SatelliteStatsTest extends TelephonyTest { stats.countOfP2PSmsAvailableNotificationRemoved); assertEquals(SatelliteStats.SatelliteControllerParams.isNtnOnlyCarrier(), stats.isNtnOnlyCarrier); + assertEquals(SatelliteStats.SatelliteControllerParams.getVersionSatelliteAccessConfig(), + stats.versionOfSatelliteAccessConfig); + assertEquals(param.getCountOfIncomingDatagramTypeSosSmsSuccess(), + stats.countOfIncomingDatagramTypeSosSmsSuccess); + assertEquals(param.getCountOfIncomingDatagramTypeSosSmsFail(), + stats.countOfIncomingDatagramTypeSosSmsFail); + assertEquals(param.getCountOfOutgoingDatagramTypeSmsSuccess(), + stats.countOfOutgoingDatagramTypeSmsSuccess); + assertEquals(param.getCountOfOutgoingDatagramTypeSmsFail(), + stats.countOfOutgoingDatagramTypeSmsFail); + assertEquals(param.getCountOfIncomingDatagramTypeSmsSuccess(), + stats.countOfIncomingDatagramTypeSmsSuccess); + assertEquals(param.getCountOfIncomingDatagramTypeSmsSuccess(), + stats.countOfIncomingDatagramTypeSmsSuccess); verifyNoMoreInteractions(mPersistAtomsStorage); } |