Loading proto/src/persist_atoms.proto +7 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,7 @@ message DataCallSession { optional bool is_non_dds = 22; optional bool is_iwlan_cross_sim = 23; optional bool is_ntn = 24; optional bool is_satellite_transport = 25; } message CellularServiceState { Loading Loading @@ -470,6 +471,12 @@ message NetworkRequestsV2 { PRIORITIZE_BANDWIDTH = 2; CBS = 3; ENTERPRISE = 4; SATELLITE_INTERNET_RESTRICTED = 5; SATELLITE_MMS_RESTRICTED = 6; SATELLITE_IMS_RESTRICTED = 7; SATELLITE_XCAP_RESTRICTED = 8; SATELLITE_EIMS_RESTRICTED = 9; SATELLITE_SUPL_RESTRICTED =10; } optional int32 carrier_id = 1; optional NetworkCapability capability = 2; Loading src/java/com/android/internal/telephony/data/DataNetwork.java +1 −1 Original line number Diff line number Diff line Loading @@ -1524,7 +1524,7 @@ public class DataNetwork extends StateMachine { int apnTypeBitmask = mDataProfile.getApnSetting() != null ? mDataProfile.getApnSetting().getApnTypeBitmask() : ApnSetting.TYPE_NONE; mDataCallSessionStats.onSetupDataCall(apnTypeBitmask); mDataCallSessionStats.onSetupDataCall(apnTypeBitmask, isSatellite()); logl("setupData: accessNetwork=" + AccessNetworkType.toString(accessNetwork) + ", " + mDataProfile Loading src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java +7 −3 Original line number Diff line number Diff line Loading @@ -79,8 +79,9 @@ public class DataCallSessionStats { } /** Creates a new ongoing atom when data call is set up. */ public synchronized void onSetupDataCall(@ApnType int apnTypeBitMask) { mDataCallSession = getDefaultProto(apnTypeBitMask); public synchronized void onSetupDataCall(@ApnType int apnTypeBitMask, boolean isSatellite) { mDataCallSession = getDefaultProto(apnTypeBitMask, isSatellite); mStartTime = getTimeMillis(); PhoneFactory.getMetricsCollector().registerOngoingDataCallStat(this); } Loading Loading @@ -307,11 +308,13 @@ public class DataCallSessionStats { copy.isNonDds = call.isNonDds; copy.isIwlanCrossSim = call.isIwlanCrossSim; copy.isNtn = call.isNtn; copy.isSatelliteTransport = call.isSatelliteTransport; return copy; } /** Creates a proto for a normal {@code DataCallSession} with default values. */ private DataCallSession getDefaultProto(@ApnType int apnTypeBitmask) { private DataCallSession getDefaultProto(@ApnType int apnTypeBitmask, boolean isSatellite) { DataCallSession proto = new DataCallSession(); proto.dimension = RANDOM.nextInt(); proto.isMultiSim = SimSlotState.isMultiSim(); Loading @@ -335,6 +338,7 @@ public class DataCallSessionStats { proto.isIwlanCrossSim = false; proto.isNtn = mSatelliteController != null ? mSatelliteController.isInSatelliteModeForCarrierRoaming(mPhone) : false; proto.isSatelliteTransport = isSatellite; return proto; } Loading src/java/com/android/internal/telephony/metrics/MetricsCollector.java +2 −1 Original line number Diff line number Diff line Loading @@ -1131,7 +1131,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { dataCallSession.handoverFailureRat, dataCallSession.isNonDds, dataCallSession.isIwlanCrossSim, dataCallSession.isNtn); dataCallSession.isNtn, dataCallSession.isSatelliteTransport); } private static StatsEvent buildStatsEvent(ImsRegistrationStats stats) { Loading src/java/com/android/internal/telephony/metrics/NetworkRequestsStats.java +41 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,47 @@ public class NetworkRequestsStats { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.ENTERPRISE; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE) && !networkRequest.hasCapability( NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_INTERNET_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_MMS_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_IMS_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_XCAP_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_EIMS_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_SUPL_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } } } /** Returns the carrier ID of the given subscription id. */ Loading Loading
proto/src/persist_atoms.proto +7 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,7 @@ message DataCallSession { optional bool is_non_dds = 22; optional bool is_iwlan_cross_sim = 23; optional bool is_ntn = 24; optional bool is_satellite_transport = 25; } message CellularServiceState { Loading Loading @@ -470,6 +471,12 @@ message NetworkRequestsV2 { PRIORITIZE_BANDWIDTH = 2; CBS = 3; ENTERPRISE = 4; SATELLITE_INTERNET_RESTRICTED = 5; SATELLITE_MMS_RESTRICTED = 6; SATELLITE_IMS_RESTRICTED = 7; SATELLITE_XCAP_RESTRICTED = 8; SATELLITE_EIMS_RESTRICTED = 9; SATELLITE_SUPL_RESTRICTED =10; } optional int32 carrier_id = 1; optional NetworkCapability capability = 2; Loading
src/java/com/android/internal/telephony/data/DataNetwork.java +1 −1 Original line number Diff line number Diff line Loading @@ -1524,7 +1524,7 @@ public class DataNetwork extends StateMachine { int apnTypeBitmask = mDataProfile.getApnSetting() != null ? mDataProfile.getApnSetting().getApnTypeBitmask() : ApnSetting.TYPE_NONE; mDataCallSessionStats.onSetupDataCall(apnTypeBitmask); mDataCallSessionStats.onSetupDataCall(apnTypeBitmask, isSatellite()); logl("setupData: accessNetwork=" + AccessNetworkType.toString(accessNetwork) + ", " + mDataProfile Loading
src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java +7 −3 Original line number Diff line number Diff line Loading @@ -79,8 +79,9 @@ public class DataCallSessionStats { } /** Creates a new ongoing atom when data call is set up. */ public synchronized void onSetupDataCall(@ApnType int apnTypeBitMask) { mDataCallSession = getDefaultProto(apnTypeBitMask); public synchronized void onSetupDataCall(@ApnType int apnTypeBitMask, boolean isSatellite) { mDataCallSession = getDefaultProto(apnTypeBitMask, isSatellite); mStartTime = getTimeMillis(); PhoneFactory.getMetricsCollector().registerOngoingDataCallStat(this); } Loading Loading @@ -307,11 +308,13 @@ public class DataCallSessionStats { copy.isNonDds = call.isNonDds; copy.isIwlanCrossSim = call.isIwlanCrossSim; copy.isNtn = call.isNtn; copy.isSatelliteTransport = call.isSatelliteTransport; return copy; } /** Creates a proto for a normal {@code DataCallSession} with default values. */ private DataCallSession getDefaultProto(@ApnType int apnTypeBitmask) { private DataCallSession getDefaultProto(@ApnType int apnTypeBitmask, boolean isSatellite) { DataCallSession proto = new DataCallSession(); proto.dimension = RANDOM.nextInt(); proto.isMultiSim = SimSlotState.isMultiSim(); Loading @@ -335,6 +338,7 @@ public class DataCallSessionStats { proto.isIwlanCrossSim = false; proto.isNtn = mSatelliteController != null ? mSatelliteController.isInSatelliteModeForCarrierRoaming(mPhone) : false; proto.isSatelliteTransport = isSatellite; return proto; } Loading
src/java/com/android/internal/telephony/metrics/MetricsCollector.java +2 −1 Original line number Diff line number Diff line Loading @@ -1131,7 +1131,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { dataCallSession.handoverFailureRat, dataCallSession.isNonDds, dataCallSession.isIwlanCrossSim, dataCallSession.isNtn); dataCallSession.isNtn, dataCallSession.isSatelliteTransport); } private static StatsEvent buildStatsEvent(ImsRegistrationStats stats) { Loading
src/java/com/android/internal/telephony/metrics/NetworkRequestsStats.java +41 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,47 @@ public class NetworkRequestsStats { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.ENTERPRISE; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasTransport(NetworkCapabilities.TRANSPORT_SATELLITE) && !networkRequest.hasCapability( NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) { if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_INTERNET_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_MMS)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_MMS_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_IMS)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_IMS_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_XCAP)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_XCAP_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_EIMS)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_EIMS_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) { networkRequestsTemplate.capability = NetworkRequestsV2.NetworkCapability.SATELLITE_SUPL_RESTRICTED; storage.addNetworkRequestsV2(networkRequestsTemplate); } } } /** Returns the carrier ID of the given subscription id. */ Loading