diff options
author | 2025-02-10 15:29:23 +0000 | |
---|---|---|
committer | 2025-02-13 01:37:56 +0000 | |
commit | bf9b287747f8cc219da094c8282c8f7b039c6374 (patch) | |
tree | 2b45087e6acdcb70726cde9163f8b1bf88302cd1 | |
parent | f4f49361e0a603bc1d08c1a64064bed122c068c6 (diff) |
Support satellite config version for metrics
Bug: 395546769
Flag: EXEMPT (version_of_satellite_access_config)
Test: Build
Test: Manually verified if the version is updated well after manually updating the satellite access config(b/395546769#comment2)
Change-Id: I8a614e762391a4c851214b36dfb8bfa17dd7c4db
5 files changed, 38 insertions, 3 deletions
diff --git a/proto/src/persist_atoms.proto b/proto/src/persist_atoms.proto index ca67c14de4..37a61b2e99 100644 --- a/proto/src/persist_atoms.proto +++ b/proto/src/persist_atoms.proto @@ -727,6 +727,7 @@ message SatelliteController { optional int32 count_of_p2p_sms_available_notification_shown = 34; 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; } 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 d29f70b1d5..e925e1a742 100644 --- a/src/java/com/android/internal/telephony/metrics/MetricsCollector.java +++ b/src/java/com/android/internal/telephony/metrics/MetricsCollector.java @@ -1484,7 +1484,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { satelliteController.countOfFailedLocationQueries, satelliteController.countOfP2PSmsAvailableNotificationShown, satelliteController.countOfP2PSmsAvailableNotificationRemoved, - satelliteController.isNtnOnlyCarrier); + satelliteController.isNtnOnlyCarrier, + satelliteController.versionOfSatelliteAccessConfig); } 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 8f9a96bb53..0cd1d7782a 100644 --- a/src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +++ b/src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java @@ -785,6 +785,7 @@ public class PersistAtomsStorage { existingStats.countOfP2PSmsAvailableNotificationRemoved += stats.countOfP2PSmsAvailableNotificationRemoved; // Does not update isNtnOnlyCarrier due to it is a dimension field. + existingStats.versionOfSatelliteAccessConfig = stats.versionOfSatelliteAccessConfig; } 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 c17c8ab9e8..6ae86f3e66 100644 --- a/src/java/com/android/internal/telephony/metrics/SatelliteStats.java +++ b/src/java/com/android/internal/telephony/metrics/SatelliteStats.java @@ -103,6 +103,7 @@ public class SatelliteStats { private final int mCountOfP2PSmsAvailableNotificationShown; private final int mCountOfP2PSmsAvailableNotificationRemoved; private static boolean sIsNtnOnlyCarrier; + private static int sVersionOfSatelliteAccessConfig; private SatelliteControllerParams(Builder builder) { this.mCountOfSatelliteServiceEnablementsSuccess = @@ -170,10 +171,15 @@ public class SatelliteStats { this.mCountOfP2PSmsAvailableNotificationRemoved = builder.mCountOfP2PSmsAvailableNotificationRemoved; - // Carrier ID value should be updated only when it is meaningful. + // Ntn only carrier value should be updated only when it is meaningful. if (builder.mIsNtnOnlyCarrier.isPresent()) { this.sIsNtnOnlyCarrier = builder.mIsNtnOnlyCarrier.get(); } + // version satellite access config value should be updated only when it is meaningful. + if (builder.mVersionOfSatelliteAccessConfig.isPresent()) { + this.sVersionOfSatelliteAccessConfig = + builder.mVersionOfSatelliteAccessConfig.get(); + } } public int getCountOfSatelliteServiceEnablementsSuccess() { @@ -320,6 +326,10 @@ public class SatelliteStats { return sIsNtnOnlyCarrier; } + public static int getVersionSatelliteAccessConfig() { + return sVersionOfSatelliteAccessConfig; + } + /** * A builder class to create {@link SatelliteControllerParams} data structure class */ @@ -360,6 +370,7 @@ public class SatelliteStats { private int mCountOfP2PSmsAvailableNotificationShown = 0; private int mCountOfP2PSmsAvailableNotificationRemoved = 0; private Optional<Boolean> mIsNtnOnlyCarrier = Optional.empty(); + private Optional<Integer> mVersionOfSatelliteAccessConfig = Optional.empty(); /** * Sets countOfSatelliteServiceEnablementsSuccess value of {@link SatelliteController} @@ -719,6 +730,15 @@ public class SatelliteStats { } /** + * Sets versionOfSatelliteAccessConfig value of {@link SatelliteController} atom + * then returns Builder class + */ + public Builder setVersionOfSatelliteAccessControl(int version) { + this.mVersionOfSatelliteAccessConfig = Optional.of(version); + return this; + } + + /** * Returns ControllerParams, which contains whole component of * {@link SatelliteController} atom */ @@ -777,7 +797,7 @@ public class SatelliteStats { + mCountOfP2PSmsAvailableNotificationShown + ", countOfP2PSmsAvailableNotificationRemoved=" + mCountOfP2PSmsAvailableNotificationRemoved - + ", isNtnOnlyCarrier=" + sIsNtnOnlyCarrier + + ", versionOfSatelliteAccessConfig=" + sVersionOfSatelliteAccessConfig + ")"; } } @@ -2701,6 +2721,7 @@ public class SatelliteStats { proto.countOfP2PSmsAvailableNotificationRemoved = param.getCountOfP2PSmsAvailableNotificationRemoved(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); + proto.versionOfSatelliteAccessConfig = param.getVersionSatelliteAccessConfig(); mAtomsStorage.addSatelliteControllerStats(proto); } 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 608d91f231..aef0808b59 100644 --- a/src/java/com/android/internal/telephony/satellite/metrics/ControllerMetricsStats.java +++ b/src/java/com/android/internal/telephony/satellite/metrics/ControllerMetricsStats.java @@ -415,6 +415,17 @@ public class ControllerMetricsStats { } /** + * Report a current version of satellite access config. + */ + public void reportCurrentVersionOfSatelliteAccessConfig(int version) { + logd("reportCurrentVersionOfSatelliteAccessConfig:" + version); + mSatelliteStats.onSatelliteControllerMetrics( + new SatelliteStats.SatelliteControllerParams.Builder() + .setVersionOfSatelliteAccessControl(version) + .build()); + } + + /** * Add count when the notification for P2P SMS over satellite avaibility is shown or removed. */ public void reportP2PSmsEligibilityNotificationsCount(boolean isEligible) { |