Merge "Remove NetworkStats hidden API dependencies from StatsPullAtomService" am: 3f9910630b am: 9570d3f1fa am: 16856ba3fd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1960189 Change-Id: I84f5802554e0120873e6cfc6c9383569f38b26a5
This commit is contained in:
@@ -1180,13 +1180,14 @@ public class StatsPullAtomService extends SystemService {
|
|||||||
Slog.e(TAG, "baseline is null for " + atomTag + ", return.");
|
Slog.e(TAG, "baseline is null for " + atomTag + ", return.");
|
||||||
return StatsManager.PULL_SKIP;
|
return StatsManager.PULL_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
final NetworkStatsExt diff = new NetworkStatsExt(
|
final NetworkStatsExt diff = new NetworkStatsExt(
|
||||||
item.stats.subtract(baseline.stats).removeEmptyEntries(), item.transports,
|
removeEmptyEntries(item.stats.subtract(baseline.stats)), item.transports,
|
||||||
item.slicedByFgbg, item.slicedByTag, item.slicedByMetered, item.ratType,
|
item.slicedByFgbg, item.slicedByTag, item.slicedByMetered, item.ratType,
|
||||||
item.subInfo, item.oemManaged);
|
item.subInfo, item.oemManaged);
|
||||||
|
|
||||||
// If no diff, skip.
|
// If no diff, skip.
|
||||||
if (diff.stats.size() == 0) continue;
|
if (!diff.stats.iterator().hasNext()) continue;
|
||||||
|
|
||||||
switch (atomTag) {
|
switch (atomTag) {
|
||||||
case FrameworkStatsLog.BYTES_TRANSFER_BY_TAG_AND_METERED:
|
case FrameworkStatsLog.BYTES_TRANSFER_BY_TAG_AND_METERED:
|
||||||
@@ -1205,6 +1206,17 @@ public class StatsPullAtomService extends SystemService {
|
|||||||
return StatsManager.PULL_SUCCESS;
|
return StatsManager.PULL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull private static NetworkStats removeEmptyEntries(NetworkStats stats) {
|
||||||
|
NetworkStats ret = new NetworkStats(0, 1);
|
||||||
|
for (NetworkStats.Entry e : stats) {
|
||||||
|
if (e.getRxBytes() != 0 || e.getRxPackets() != 0 || e.getTxBytes() != 0
|
||||||
|
|| e.getTxPackets() != 0 || e.getOperations() != 0) {
|
||||||
|
ret = ret.addEntry(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
private void addNetworkStats(int atomTag, @NonNull List<StatsEvent> ret,
|
private void addNetworkStats(int atomTag, @NonNull List<StatsEvent> ret,
|
||||||
@NonNull NetworkStatsExt statsExt) {
|
@NonNull NetworkStatsExt statsExt) {
|
||||||
for (NetworkStats.Entry entry : statsExt.stats) {
|
for (NetworkStats.Entry entry : statsExt.stats) {
|
||||||
@@ -1456,12 +1468,8 @@ public class StatsPullAtomService extends SystemService {
|
|||||||
@NonNull private NetworkStats sliceNetworkStats(@NonNull NetworkStats stats,
|
@NonNull private NetworkStats sliceNetworkStats(@NonNull NetworkStats stats,
|
||||||
@NonNull Function<NetworkStats.Entry, NetworkStats.Entry> slicer) {
|
@NonNull Function<NetworkStats.Entry, NetworkStats.Entry> slicer) {
|
||||||
NetworkStats ret = new NetworkStats(0, 1);
|
NetworkStats ret = new NetworkStats(0, 1);
|
||||||
NetworkStats.Entry entry = new NetworkStats.Entry();
|
|
||||||
for (NetworkStats.Entry e : stats) {
|
for (NetworkStats.Entry e : stats) {
|
||||||
if (slicer != null) {
|
ret = ret.addEntry(slicer.apply(e));
|
||||||
entry = slicer.apply(e);
|
|
||||||
}
|
|
||||||
ret = ret.addEntry(entry);
|
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user