summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Xiaolu Zeng <xiaoluze@google.com> 2023-10-05 21:03:01 +0000
committer Xiaolu Zeng <xiaoluze@google.com> 2023-10-05 21:03:04 +0000
commit3572b82e64aeb031c9b04abd6a3aa914ab2dec5d (patch)
treefe3b275978f30524a5fb0e2e3c402cc6916181e9
parent2bcc7900baa130b696d8e35f596b051e660f1629 (diff)
Modify StatsPullAtomService: Log network type in WW tagged traffic data.
Change-Id: I3883dd0c1f81c1c829488f4705823d593a72c47a
-rw-r--r--services/core/java/com/android/server/stats/pull/StatsPullAtomService.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 70cd11ce5ace..115081b09351 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -1246,12 +1246,19 @@ public class StatsPullAtomService extends SystemService {
private void addBytesTransferByTagAndMeteredAtoms(@NonNull NetworkStatsExt statsExt,
@NonNull List<StatsEvent> pulledData) {
+ // Workaround for 5G NSA mode, see {@link NetworkStatsManager#NETWORK_TYPE_5G_NSA}.
+ // 5G NSA mode means the primary cell is LTE with a secondary connection to an
+ // NR cell. To mitigate risk, NetworkStats is currently storing this state as
+ // a fake RAT type rather than storing the boolean separately.
+ final boolean is5GNsa = statsExt.ratType == NetworkStatsManager.NETWORK_TYPE_5G_NSA;
+
for (NetworkStats.Entry entry : statsExt.stats) {
pulledData.add(FrameworkStatsLog.buildStatsEvent(
FrameworkStatsLog.BYTES_TRANSFER_BY_TAG_AND_METERED, entry.getUid(),
entry.getMetered() == NetworkStats.METERED_YES, entry.getTag(),
entry.getRxBytes(), entry.getRxPackets(), entry.getTxBytes(),
- entry.getTxPackets()));
+ entry.getTxPackets(),
+ is5GNsa ? TelephonyManager.NETWORK_TYPE_LTE : statsExt.ratType));
}
}