summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author youngtaecha <youngtaecha@google.com> 2025-02-10 15:29:23 +0000
committer youngtaecha <youngtaecha@google.com> 2025-02-13 01:37:56 +0000
commitbf9b287747f8cc219da094c8282c8f7b039c6374 (patch)
tree2b45087e6acdcb70726cde9163f8b1bf88302cd1
parentf4f49361e0a603bc1d08c1a64064bed122c068c6 (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
-rw-r--r--proto/src/persist_atoms.proto1
-rw-r--r--src/java/com/android/internal/telephony/metrics/MetricsCollector.java3
-rw-r--r--src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java1
-rw-r--r--src/java/com/android/internal/telephony/metrics/SatelliteStats.java25
-rw-r--r--src/java/com/android/internal/telephony/satellite/metrics/ControllerMetricsStats.java11
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) {