Loading proto/src/persist_atoms.proto +2 −0 Original line number Diff line number Diff line Loading @@ -825,6 +825,7 @@ message CarrierRoamingSatelliteSession { repeated int32 supported_satellite_services = 17; optional int32 service_data_policy = 18; optional int64 satellite_data_consumed_bytes = 19; optional bool is_multi_sim = 20; } message CarrierRoamingSatelliteControllerStats { Loading @@ -837,6 +838,7 @@ message CarrierRoamingSatelliteControllerStats { optional int32 satellite_session_gap_max_sec = 7; optional int32 carrier_id = 8; optional bool is_device_entitled = 9; optional bool is_multi_sim = 10; } message SatelliteEntitlement { Loading src/java/com/android/internal/telephony/metrics/MetricsCollector.java +4 −2 Original line number Diff line number Diff line Loading @@ -1596,7 +1596,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { stats.countOfOutgoingMms, stats.supportedSatelliteServices, stats.serviceDataPolicy, stats.satelliteDataConsumedBytes); stats.satelliteDataConsumedBytes, stats.isMultiSim); } private static StatsEvent buildStatsEvent(CarrierRoamingSatelliteControllerStats stats) { Loading @@ -1610,7 +1611,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { stats.satelliteSessionGapAvgSec, stats.satelliteSessionGapMaxSec, stats.carrierId, stats.isDeviceEntitled); stats.isDeviceEntitled, stats.isMultiSim); } private static StatsEvent buildStatsEvent(SatelliteEntitlement stats) { Loading src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +1 −0 Original line number Diff line number Diff line Loading @@ -885,6 +885,7 @@ public class PersistAtomsStorage { // Does not update configDataSource, carrierId, isDeviceEntitled, due to they are // dimension fields. existingStats.isDeviceEntitled = stats.isDeviceEntitled; existingStats.isMultiSim = stats.isMultiSim; } else { mAtoms.carrierRoamingSatelliteControllerStats = insertAtRandomPlace( mAtoms.carrierRoamingSatelliteControllerStats, stats, mMaxNumSatelliteStats); Loading src/java/com/android/internal/telephony/metrics/SatelliteStats.java +59 −7 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import java.util.Optional; /** Tracks Satellite metrics for each phone */ public class SatelliteStats { private static final String TAG = SatelliteStats.class.getSimpleName(); private static final boolean DBG = false; private final PersistAtomsStorage mAtomsStorage = PhoneFactory.getMetricsCollector().getAtomsStorage(); Loading Loading @@ -1765,6 +1766,7 @@ public class SatelliteStats { private final int[] mSupportedSatelliteServices; private final int mServiceDataPolicy; private final long mSatelliteDataConsumedBytes; private final boolean mIsMultiSim; private CarrierRoamingSatelliteSessionParams(Builder builder) { this.mCarrierId = builder.mCarrierId; Loading @@ -1788,6 +1790,7 @@ public class SatelliteStats { this.mServiceDataPolicy = builder.mServiceDataPolicy; this.mSatelliteDataConsumedBytes = builder.mSatelliteDataConsumedBytes; this.mIsMultiSim = builder.mIsMultiSim; } public int getCarrierId() { Loading Loading @@ -1858,7 +1861,6 @@ public class SatelliteStats { return mSupportedSatelliteServices; } public int getServiceDataPolicy() { return mServiceDataPolicy; } Loading @@ -1867,6 +1869,10 @@ public class SatelliteStats { return mSatelliteDataConsumedBytes; } public boolean isMultiSim() { return mIsMultiSim; } /** * A builder class to create {@link CarrierRoamingSatelliteSessionParams} data structure * class Loading @@ -1892,6 +1898,7 @@ public class SatelliteStats { int mServiceDataPolicy = SatelliteConstants.SATELLITE_ENTITLEMENT_SERVICE_POLICY_UNKNOWN; long mSatelliteDataConsumedBytes = 0L; private boolean mIsMultiSim = false; /** * Sets carrierId value of {@link CarrierRoamingSatelliteSession} atom Loading Loading @@ -2068,6 +2075,15 @@ public class SatelliteStats { return this; } /** * Sets isMultiSim value of {@link CarrierRoamingSatelliteSession} atom, which indicates * whether multi sim are activated or not, then returns Builder class */ public Builder setIsMultiSim(boolean isMultiSim) { this.mIsMultiSim = isMultiSim; return this; } /** * Returns CarrierRoamingSatelliteSessionParams, which contains whole component of * {@link CarrierRoamingSatelliteSession} atom Loading Loading @@ -2101,6 +2117,7 @@ public class SatelliteStats { + ", supportedSatelliteServices=" + Arrays.toString(mSupportedSatelliteServices) + ", serviceDataPolicy=" + mServiceDataPolicy + ", SatelliteDataConsumedBytes=" + mSatelliteDataConsumedBytes + ", isMultiSim=" + mIsMultiSim + ")"; } } Loading @@ -2120,6 +2137,7 @@ public class SatelliteStats { private static int sSatelliteSessionGapMaxSec; private static int sCarrierId; private static boolean sIsDeviceEntitled; private static boolean sIsMultiSim; private CarrierRoamingSatelliteControllerStatsParams(Builder builder) { this.mConfigDataSource = builder.mConfigDataSource; Loading @@ -2132,23 +2150,28 @@ public class SatelliteStats { // Update session gap params only when they are explicitly provided if (builder.mSatelliteSessionGapMinSec.isPresent()) { this.sSatelliteSessionGapMinSec = builder.mSatelliteSessionGapMinSec.get(); sSatelliteSessionGapMinSec = builder.mSatelliteSessionGapMinSec.get(); } if (builder.mSatelliteSessionGapAvgSec.isPresent()) { this.sSatelliteSessionGapAvgSec = builder.mSatelliteSessionGapAvgSec.get(); sSatelliteSessionGapAvgSec = builder.mSatelliteSessionGapAvgSec.get(); } if (builder.mSatelliteSessionGapMaxSec.isPresent()) { this.sSatelliteSessionGapMaxSec = builder.mSatelliteSessionGapMaxSec.get(); sSatelliteSessionGapMaxSec = builder.mSatelliteSessionGapMaxSec.get(); } // Carrier ID value should be updated only when it is meaningful. if (builder.mCarrierId.isPresent()) { this.sCarrierId = builder.mCarrierId.get(); sCarrierId = builder.mCarrierId.get(); } // isDeviceEntitled value should be updated only when it is meaningful. if (builder.mIsDeviceEntitled.isPresent()) { this.sIsDeviceEntitled = builder.mIsDeviceEntitled.get(); sIsDeviceEntitled = builder.mIsDeviceEntitled.get(); } // isMulti value should be updated only when it is meaningful. if (builder.mIsMultiSim.isPresent()) { sIsMultiSim = builder.mIsMultiSim.get(); } } Loading Loading @@ -2189,6 +2212,10 @@ public class SatelliteStats { return sIsDeviceEntitled; } public boolean isMultiSim() { return sIsMultiSim; } /** * A builder class to create {@link CarrierRoamingSatelliteControllerStatsParams} * data structure class Loading @@ -2203,6 +2230,7 @@ public class SatelliteStats { private Optional<Integer> mSatelliteSessionGapMaxSec = Optional.empty(); private Optional<Integer> mCarrierId = Optional.empty(); private Optional<Boolean> mIsDeviceEntitled = Optional.empty(); private Optional<Boolean> mIsMultiSim = Optional.empty(); /** * Sets configDataSource value of {@link CarrierRoamingSatelliteControllerStats} atom Loading Loading @@ -2282,6 +2310,12 @@ public class SatelliteStats { return this; } /** Sets whether the device is in DSDS state or not. */ public Builder setIsMultiSim(boolean isMultiSim) { this.mIsMultiSim = Optional.of(isMultiSim); return this; } /** * Returns CarrierRoamingSatelliteControllerStatsParams, which contains whole component * of {@link CarrierRoamingSatelliteControllerStats} atom Loading @@ -2307,6 +2341,7 @@ public class SatelliteStats { + ", satelliteSessionGapMaxSec=" + sSatelliteSessionGapMaxSec + ", carrierId=" + sCarrierId + ", isDeviceEntitled=" + sIsDeviceEntitled + ", isMultiSim=" + sIsMultiSim + ")"; } } Loading Loading @@ -2837,7 +2872,7 @@ public class SatelliteStats { param.getCountOfP2PSmsAvailableNotificationRemoved(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.versionOfSatelliteAccessConfig = param.getVersionSatelliteAccessConfig(); if (DBG) logd("onSatelliteControllerMetrics" + param); mAtomsStorage.addSatelliteControllerStats(proto); } Loading Loading @@ -2866,6 +2901,7 @@ public class SatelliteStats { proto.isEmergency = param.getIsEmergency(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.maxInactivityDurationSec = param.getMaxInactivityDurationSec(); if (DBG) logd("onSatelliteSessionMetrics" + param); mAtomsStorage.addSatelliteSessionStats(proto); } Loading @@ -2879,6 +2915,7 @@ public class SatelliteStats { proto.isDemoMode = param.getIsDemoMode(); proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteIncomingDatagramMetrics" + param); mAtomsStorage.addSatelliteIncomingDatagramStats(proto); } Loading @@ -2893,6 +2930,7 @@ public class SatelliteStats { proto.isDemoMode = param.getIsDemoMode(); proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteOutgoingDatagramMetrics: " + param); mAtomsStorage.addSatelliteOutgoingDatagramStats(proto); } Loading @@ -2905,6 +2943,7 @@ public class SatelliteStats { proto.isCanceled = param.getIsCanceled(); proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteProvisionMetrics: " + param); mAtomsStorage.addSatelliteProvisionStats(proto); } Loading @@ -2923,6 +2962,7 @@ public class SatelliteStats { proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.count = 1; if (DBG) logd("onSatelliteSosMessageRecommender: " + param); mAtomsStorage.addSatelliteSosMessageRecommenderStats(proto); } Loading @@ -2949,6 +2989,8 @@ public class SatelliteStats { proto.supportedSatelliteServices = param.mSupportedSatelliteServices; proto.serviceDataPolicy = param.mServiceDataPolicy; proto.satelliteDataConsumedBytes = param.mSatelliteDataConsumedBytes; proto.isMultiSim = param.isMultiSim(); if (DBG) logd("onCarrierRoamingSatelliteSessionMetrics: " + param); mAtomsStorage.addCarrierRoamingSatelliteSessionStats(proto); } Loading @@ -2965,11 +3007,14 @@ public class SatelliteStats { proto.satelliteSessionGapMaxSec = param.getSatelliteSessionGapMaxSec(); proto.carrierId = param.getCarrierId(); proto.isDeviceEntitled = param.isDeviceEntitled(); proto.isMultiSim = param.isMultiSim(); if (DBG) logd("onCarrierRoamingSatelliteControllerStatsMetrics: " + param); mAtomsStorage.addCarrierRoamingSatelliteControllerStats(proto); } /** Reset carrier roaming satellite controller stats after atom is pulled. */ public synchronized void resetCarrierRoamingSatelliteControllerStats() { if (DBG) logd("resetCarrierRoamingSatelliteControllerStats:"); com.android.internal.telephony.satellite.metrics .CarrierRoamingSatelliteControllerStats.getOrCreateInstance() .resetSessionGapLists(); Loading @@ -2986,6 +3031,7 @@ public class SatelliteStats { proto.isAllowedServiceEntitlement = param.getIsAllowedServiceEntitlement(); proto.entitlementServiceType = param.getEntitlementServiceType(); proto.entitlementDataPolicy = param.getEntitlementDataPolicy(); if (DBG) logd("onSatelliteEntitlementMetrics: " + param); mAtomsStorage.addSatelliteEntitlementStats(proto); } Loading @@ -2996,6 +3042,7 @@ public class SatelliteStats { proto.oemConfigResult = param.getOemConfigResult(); proto.carrierConfigResult = param.getCarrierConfigResult(); proto.count = param.getCount(); if (DBG) logd("onSatelliteConfigUpdaterMetrics: " + param); mAtomsStorage.addSatelliteConfigUpdaterStats(proto); } Loading @@ -3015,6 +3062,11 @@ public class SatelliteStats { proto.carrierId = param.getCarrierId(); proto.triggeringEvent = param.getTriggeringEvent(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteAccessControllerMetrics: " + param); mAtomsStorage.addSatelliteAccessControllerStats(proto); } private static void logd(String msg) { Rlog.d(TAG, msg); } } src/java/com/android/internal/telephony/satellite/metrics/CarrierRoamingSatelliteControllerStats.java +14 −1 Original line number Diff line number Diff line Loading @@ -19,8 +19,10 @@ package com.android.internal.telephony.satellite.metrics; import android.annotation.NonNull; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.metrics.SatelliteStats; import com.android.internal.telephony.satellite.SatelliteConstants; import com.android.internal.telephony.subscription.SubscriptionManagerService; import java.util.ArrayList; import java.util.Collections; Loading @@ -30,7 +32,6 @@ public class CarrierRoamingSatelliteControllerStats { private static final String TAG = CarrierRoamingSatelliteControllerStats.class.getSimpleName(); private static CarrierRoamingSatelliteControllerStats sInstance = null; private static final int ADD_COUNT = 1; private SatelliteStats mSatelliteStats; private List<Long> mSessionStartTimeList; private List<Long> mSessionEndTimeList; Loading Loading @@ -60,6 +61,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setConfigDataSource(configDataSource) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -68,6 +70,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCountOfEntitlementStatusQueryRequest(ADD_COUNT) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -76,6 +79,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCountOfSatelliteConfigUpdateRequest(ADD_COUNT) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -84,6 +88,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCountOfSatelliteNotificationDisplayed(ADD_COUNT) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -92,6 +97,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCarrierId(carrierId) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -100,6 +106,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setIsDeviceEntitled(isDeviceEntitled) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -126,6 +133,7 @@ public class CarrierRoamingSatelliteControllerStats { .setSatelliteSessionGapMinSec(satelliteSessionGapMinSec) .setSatelliteSessionGapAvgSec(getAvg(sessionGapList)) .setSatelliteSessionGapMaxSec(satelliteSessionGapMaxSec) .setIsMultiSim(isMultiSim()) .build()); } Loading Loading @@ -173,6 +181,11 @@ public class CarrierRoamingSatelliteControllerStats { return System.currentTimeMillis(); } @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) public boolean isMultiSim() { return SubscriptionManagerService.getInstance().getActiveSubIdList(true).length > 1; } private static void logd(@NonNull String log) { Log.d(TAG, log); } Loading Loading
proto/src/persist_atoms.proto +2 −0 Original line number Diff line number Diff line Loading @@ -825,6 +825,7 @@ message CarrierRoamingSatelliteSession { repeated int32 supported_satellite_services = 17; optional int32 service_data_policy = 18; optional int64 satellite_data_consumed_bytes = 19; optional bool is_multi_sim = 20; } message CarrierRoamingSatelliteControllerStats { Loading @@ -837,6 +838,7 @@ message CarrierRoamingSatelliteControllerStats { optional int32 satellite_session_gap_max_sec = 7; optional int32 carrier_id = 8; optional bool is_device_entitled = 9; optional bool is_multi_sim = 10; } message SatelliteEntitlement { Loading
src/java/com/android/internal/telephony/metrics/MetricsCollector.java +4 −2 Original line number Diff line number Diff line Loading @@ -1596,7 +1596,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { stats.countOfOutgoingMms, stats.supportedSatelliteServices, stats.serviceDataPolicy, stats.satelliteDataConsumedBytes); stats.satelliteDataConsumedBytes, stats.isMultiSim); } private static StatsEvent buildStatsEvent(CarrierRoamingSatelliteControllerStats stats) { Loading @@ -1610,7 +1611,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { stats.satelliteSessionGapAvgSec, stats.satelliteSessionGapMaxSec, stats.carrierId, stats.isDeviceEntitled); stats.isDeviceEntitled, stats.isMultiSim); } private static StatsEvent buildStatsEvent(SatelliteEntitlement stats) { Loading
src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +1 −0 Original line number Diff line number Diff line Loading @@ -885,6 +885,7 @@ public class PersistAtomsStorage { // Does not update configDataSource, carrierId, isDeviceEntitled, due to they are // dimension fields. existingStats.isDeviceEntitled = stats.isDeviceEntitled; existingStats.isMultiSim = stats.isMultiSim; } else { mAtoms.carrierRoamingSatelliteControllerStats = insertAtRandomPlace( mAtoms.carrierRoamingSatelliteControllerStats, stats, mMaxNumSatelliteStats); Loading
src/java/com/android/internal/telephony/metrics/SatelliteStats.java +59 −7 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import java.util.Optional; /** Tracks Satellite metrics for each phone */ public class SatelliteStats { private static final String TAG = SatelliteStats.class.getSimpleName(); private static final boolean DBG = false; private final PersistAtomsStorage mAtomsStorage = PhoneFactory.getMetricsCollector().getAtomsStorage(); Loading Loading @@ -1765,6 +1766,7 @@ public class SatelliteStats { private final int[] mSupportedSatelliteServices; private final int mServiceDataPolicy; private final long mSatelliteDataConsumedBytes; private final boolean mIsMultiSim; private CarrierRoamingSatelliteSessionParams(Builder builder) { this.mCarrierId = builder.mCarrierId; Loading @@ -1788,6 +1790,7 @@ public class SatelliteStats { this.mServiceDataPolicy = builder.mServiceDataPolicy; this.mSatelliteDataConsumedBytes = builder.mSatelliteDataConsumedBytes; this.mIsMultiSim = builder.mIsMultiSim; } public int getCarrierId() { Loading Loading @@ -1858,7 +1861,6 @@ public class SatelliteStats { return mSupportedSatelliteServices; } public int getServiceDataPolicy() { return mServiceDataPolicy; } Loading @@ -1867,6 +1869,10 @@ public class SatelliteStats { return mSatelliteDataConsumedBytes; } public boolean isMultiSim() { return mIsMultiSim; } /** * A builder class to create {@link CarrierRoamingSatelliteSessionParams} data structure * class Loading @@ -1892,6 +1898,7 @@ public class SatelliteStats { int mServiceDataPolicy = SatelliteConstants.SATELLITE_ENTITLEMENT_SERVICE_POLICY_UNKNOWN; long mSatelliteDataConsumedBytes = 0L; private boolean mIsMultiSim = false; /** * Sets carrierId value of {@link CarrierRoamingSatelliteSession} atom Loading Loading @@ -2068,6 +2075,15 @@ public class SatelliteStats { return this; } /** * Sets isMultiSim value of {@link CarrierRoamingSatelliteSession} atom, which indicates * whether multi sim are activated or not, then returns Builder class */ public Builder setIsMultiSim(boolean isMultiSim) { this.mIsMultiSim = isMultiSim; return this; } /** * Returns CarrierRoamingSatelliteSessionParams, which contains whole component of * {@link CarrierRoamingSatelliteSession} atom Loading Loading @@ -2101,6 +2117,7 @@ public class SatelliteStats { + ", supportedSatelliteServices=" + Arrays.toString(mSupportedSatelliteServices) + ", serviceDataPolicy=" + mServiceDataPolicy + ", SatelliteDataConsumedBytes=" + mSatelliteDataConsumedBytes + ", isMultiSim=" + mIsMultiSim + ")"; } } Loading @@ -2120,6 +2137,7 @@ public class SatelliteStats { private static int sSatelliteSessionGapMaxSec; private static int sCarrierId; private static boolean sIsDeviceEntitled; private static boolean sIsMultiSim; private CarrierRoamingSatelliteControllerStatsParams(Builder builder) { this.mConfigDataSource = builder.mConfigDataSource; Loading @@ -2132,23 +2150,28 @@ public class SatelliteStats { // Update session gap params only when they are explicitly provided if (builder.mSatelliteSessionGapMinSec.isPresent()) { this.sSatelliteSessionGapMinSec = builder.mSatelliteSessionGapMinSec.get(); sSatelliteSessionGapMinSec = builder.mSatelliteSessionGapMinSec.get(); } if (builder.mSatelliteSessionGapAvgSec.isPresent()) { this.sSatelliteSessionGapAvgSec = builder.mSatelliteSessionGapAvgSec.get(); sSatelliteSessionGapAvgSec = builder.mSatelliteSessionGapAvgSec.get(); } if (builder.mSatelliteSessionGapMaxSec.isPresent()) { this.sSatelliteSessionGapMaxSec = builder.mSatelliteSessionGapMaxSec.get(); sSatelliteSessionGapMaxSec = builder.mSatelliteSessionGapMaxSec.get(); } // Carrier ID value should be updated only when it is meaningful. if (builder.mCarrierId.isPresent()) { this.sCarrierId = builder.mCarrierId.get(); sCarrierId = builder.mCarrierId.get(); } // isDeviceEntitled value should be updated only when it is meaningful. if (builder.mIsDeviceEntitled.isPresent()) { this.sIsDeviceEntitled = builder.mIsDeviceEntitled.get(); sIsDeviceEntitled = builder.mIsDeviceEntitled.get(); } // isMulti value should be updated only when it is meaningful. if (builder.mIsMultiSim.isPresent()) { sIsMultiSim = builder.mIsMultiSim.get(); } } Loading Loading @@ -2189,6 +2212,10 @@ public class SatelliteStats { return sIsDeviceEntitled; } public boolean isMultiSim() { return sIsMultiSim; } /** * A builder class to create {@link CarrierRoamingSatelliteControllerStatsParams} * data structure class Loading @@ -2203,6 +2230,7 @@ public class SatelliteStats { private Optional<Integer> mSatelliteSessionGapMaxSec = Optional.empty(); private Optional<Integer> mCarrierId = Optional.empty(); private Optional<Boolean> mIsDeviceEntitled = Optional.empty(); private Optional<Boolean> mIsMultiSim = Optional.empty(); /** * Sets configDataSource value of {@link CarrierRoamingSatelliteControllerStats} atom Loading Loading @@ -2282,6 +2310,12 @@ public class SatelliteStats { return this; } /** Sets whether the device is in DSDS state or not. */ public Builder setIsMultiSim(boolean isMultiSim) { this.mIsMultiSim = Optional.of(isMultiSim); return this; } /** * Returns CarrierRoamingSatelliteControllerStatsParams, which contains whole component * of {@link CarrierRoamingSatelliteControllerStats} atom Loading @@ -2307,6 +2341,7 @@ public class SatelliteStats { + ", satelliteSessionGapMaxSec=" + sSatelliteSessionGapMaxSec + ", carrierId=" + sCarrierId + ", isDeviceEntitled=" + sIsDeviceEntitled + ", isMultiSim=" + sIsMultiSim + ")"; } } Loading Loading @@ -2837,7 +2872,7 @@ public class SatelliteStats { param.getCountOfP2PSmsAvailableNotificationRemoved(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.versionOfSatelliteAccessConfig = param.getVersionSatelliteAccessConfig(); if (DBG) logd("onSatelliteControllerMetrics" + param); mAtomsStorage.addSatelliteControllerStats(proto); } Loading Loading @@ -2866,6 +2901,7 @@ public class SatelliteStats { proto.isEmergency = param.getIsEmergency(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.maxInactivityDurationSec = param.getMaxInactivityDurationSec(); if (DBG) logd("onSatelliteSessionMetrics" + param); mAtomsStorage.addSatelliteSessionStats(proto); } Loading @@ -2879,6 +2915,7 @@ public class SatelliteStats { proto.isDemoMode = param.getIsDemoMode(); proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteIncomingDatagramMetrics" + param); mAtomsStorage.addSatelliteIncomingDatagramStats(proto); } Loading @@ -2893,6 +2930,7 @@ public class SatelliteStats { proto.isDemoMode = param.getIsDemoMode(); proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteOutgoingDatagramMetrics: " + param); mAtomsStorage.addSatelliteOutgoingDatagramStats(proto); } Loading @@ -2905,6 +2943,7 @@ public class SatelliteStats { proto.isCanceled = param.getIsCanceled(); proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteProvisionMetrics: " + param); mAtomsStorage.addSatelliteProvisionStats(proto); } Loading @@ -2923,6 +2962,7 @@ public class SatelliteStats { proto.carrierId = param.getCarrierId(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.count = 1; if (DBG) logd("onSatelliteSosMessageRecommender: " + param); mAtomsStorage.addSatelliteSosMessageRecommenderStats(proto); } Loading @@ -2949,6 +2989,8 @@ public class SatelliteStats { proto.supportedSatelliteServices = param.mSupportedSatelliteServices; proto.serviceDataPolicy = param.mServiceDataPolicy; proto.satelliteDataConsumedBytes = param.mSatelliteDataConsumedBytes; proto.isMultiSim = param.isMultiSim(); if (DBG) logd("onCarrierRoamingSatelliteSessionMetrics: " + param); mAtomsStorage.addCarrierRoamingSatelliteSessionStats(proto); } Loading @@ -2965,11 +3007,14 @@ public class SatelliteStats { proto.satelliteSessionGapMaxSec = param.getSatelliteSessionGapMaxSec(); proto.carrierId = param.getCarrierId(); proto.isDeviceEntitled = param.isDeviceEntitled(); proto.isMultiSim = param.isMultiSim(); if (DBG) logd("onCarrierRoamingSatelliteControllerStatsMetrics: " + param); mAtomsStorage.addCarrierRoamingSatelliteControllerStats(proto); } /** Reset carrier roaming satellite controller stats after atom is pulled. */ public synchronized void resetCarrierRoamingSatelliteControllerStats() { if (DBG) logd("resetCarrierRoamingSatelliteControllerStats:"); com.android.internal.telephony.satellite.metrics .CarrierRoamingSatelliteControllerStats.getOrCreateInstance() .resetSessionGapLists(); Loading @@ -2986,6 +3031,7 @@ public class SatelliteStats { proto.isAllowedServiceEntitlement = param.getIsAllowedServiceEntitlement(); proto.entitlementServiceType = param.getEntitlementServiceType(); proto.entitlementDataPolicy = param.getEntitlementDataPolicy(); if (DBG) logd("onSatelliteEntitlementMetrics: " + param); mAtomsStorage.addSatelliteEntitlementStats(proto); } Loading @@ -2996,6 +3042,7 @@ public class SatelliteStats { proto.oemConfigResult = param.getOemConfigResult(); proto.carrierConfigResult = param.getCarrierConfigResult(); proto.count = param.getCount(); if (DBG) logd("onSatelliteConfigUpdaterMetrics: " + param); mAtomsStorage.addSatelliteConfigUpdaterStats(proto); } Loading @@ -3015,6 +3062,11 @@ public class SatelliteStats { proto.carrierId = param.getCarrierId(); proto.triggeringEvent = param.getTriggeringEvent(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); if (DBG) logd("onSatelliteAccessControllerMetrics: " + param); mAtomsStorage.addSatelliteAccessControllerStats(proto); } private static void logd(String msg) { Rlog.d(TAG, msg); } }
src/java/com/android/internal/telephony/satellite/metrics/CarrierRoamingSatelliteControllerStats.java +14 −1 Original line number Diff line number Diff line Loading @@ -19,8 +19,10 @@ package com.android.internal.telephony.satellite.metrics; import android.annotation.NonNull; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.metrics.SatelliteStats; import com.android.internal.telephony.satellite.SatelliteConstants; import com.android.internal.telephony.subscription.SubscriptionManagerService; import java.util.ArrayList; import java.util.Collections; Loading @@ -30,7 +32,6 @@ public class CarrierRoamingSatelliteControllerStats { private static final String TAG = CarrierRoamingSatelliteControllerStats.class.getSimpleName(); private static CarrierRoamingSatelliteControllerStats sInstance = null; private static final int ADD_COUNT = 1; private SatelliteStats mSatelliteStats; private List<Long> mSessionStartTimeList; private List<Long> mSessionEndTimeList; Loading Loading @@ -60,6 +61,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setConfigDataSource(configDataSource) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -68,6 +70,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCountOfEntitlementStatusQueryRequest(ADD_COUNT) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -76,6 +79,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCountOfSatelliteConfigUpdateRequest(ADD_COUNT) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -84,6 +88,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCountOfSatelliteNotificationDisplayed(ADD_COUNT) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -92,6 +97,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setCarrierId(carrierId) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -100,6 +106,7 @@ public class CarrierRoamingSatelliteControllerStats { mSatelliteStats.onCarrierRoamingSatelliteControllerStatsMetrics( new SatelliteStats.CarrierRoamingSatelliteControllerStatsParams.Builder() .setIsDeviceEntitled(isDeviceEntitled) .setIsMultiSim(isMultiSim()) .build()); } Loading @@ -126,6 +133,7 @@ public class CarrierRoamingSatelliteControllerStats { .setSatelliteSessionGapMinSec(satelliteSessionGapMinSec) .setSatelliteSessionGapAvgSec(getAvg(sessionGapList)) .setSatelliteSessionGapMaxSec(satelliteSessionGapMaxSec) .setIsMultiSim(isMultiSim()) .build()); } Loading Loading @@ -173,6 +181,11 @@ public class CarrierRoamingSatelliteControllerStats { return System.currentTimeMillis(); } @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) public boolean isMultiSim() { return SubscriptionManagerService.getInstance().getActiveSubIdList(true).length > 1; } private static void logd(@NonNull String log) { Log.d(TAG, log); } Loading