OSDN Git Service

NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
authorVarun Anand <vaanand@google.com>
Sat, 19 Jan 2019 03:22:48 +0000 (19:22 -0800)
committerVarun Anand <vaanand@google.com>
Thu, 28 Mar 2019 17:31:51 +0000 (10:31 -0700)
commit29d2ef2fe10ce9686b57a21aa8e10f6481c92a9a
tree2517b585de7634e54a44f7dc54654b9261ffda19
parent95aa6d446f8197822fd5749aeb7c6aff5577c206
NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.

This API is similar to one provided by NetworkStatsFactory with the
difference that NSS also migrates traffic from VPN UID to other apps.

Since traffic can only be migrated over NetworkStats delta, NSS
therefore maintains NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSS records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or getDetailedUidStats API is invoked by
one of its callers.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: manually verified that battery stats are migrating traffic off of
TUN (after patching above CL where we point BatteryStats to use this
API).
Change-Id: Ib0f0c2d4d41ee1d7a027ea9da457baaf198d649e
core/java/android/net/NetworkStats.java
core/java/com/android/internal/net/NetworkStatsFactory.java
services/core/java/com/android/server/net/NetworkStatsService.java
tests/net/java/android/net/NetworkStatsTest.java
tests/net/java/com/android/server/net/NetworkStatsServiceTest.java