summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2017-08-19 00:54:59 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-08-19 00:54:59 +0000
commit21bc3a39a4a42f77dcbf7a74c8853fc043dd8263 (patch)
tree980306acbf517032a301b607c67bbc78e2d8eeef /core/java/android
parent39a7fe7939ce53fdd94b8282cbb8933c9e1e6d6d (diff)
parent5356a35c3bcfcdf2d184c620af6bfbf9bddf35c5 (diff)
Merge "Add tether offload traffic to interface stats as well." into oc-mr1-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/net/ITetheringStatsProvider.aidl5
-rw-r--r--core/java/android/net/NetworkStats.java5
-rw-r--r--core/java/android/os/INetworkManagementService.aidl2
3 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/net/ITetheringStatsProvider.aidl b/core/java/android/net/ITetheringStatsProvider.aidl
index 1aeabc1e62de..da0bf4c47b94 100644
--- a/core/java/android/net/ITetheringStatsProvider.aidl
+++ b/core/java/android/net/ITetheringStatsProvider.aidl
@@ -30,7 +30,10 @@ import android.net.NetworkStats;
*/
interface ITetheringStatsProvider {
// Returns cumulative statistics for all tethering sessions since boot, on all upstreams.
- NetworkStats getTetherStats();
+ // @code {how} is one of the NetworkStats.STATS_PER_* constants. If {@code how} is
+ // {@code STATS_PER_IFACE}, the provider should not include any traffic that is already
+ // counted by kernel interface counters.
+ NetworkStats getTetherStats(int how);
// Sets the interface quota for the specified upstream interface. This is defined as the number
// of bytes, starting from zero and counting from now, after which data should stop being
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index be9e80973875..171adc054bbe 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -82,6 +82,11 @@ public class NetworkStats implements Parcelable {
/** {@link #roaming} value where roaming data is accounted. */
public static final int ROAMING_YES = 1;
+ /** Denotes a request for stats at the interface level. */
+ public static final int STATS_PER_IFACE = 0;
+ /** Denotes a request for stats at the interface and UID level. */
+ public static final int STATS_PER_UID = 1;
+
// TODO: move fields to "mVariable" notation
/**
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index e6e1da4a71c7..05627160cc3a 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -281,7 +281,7 @@ interface INetworkManagementService
/**
* Return summary of network statistics all tethering interfaces.
*/
- NetworkStats getNetworkStatsTethering();
+ NetworkStats getNetworkStatsTethering(int how);
/**
* Set quota for an interface.