From eaef351afcd586d5a84e80455f12f72fd12213ef Mon Sep 17 00:00:00 2001 From: Alon Albert Date: Tue, 19 Jul 2011 11:16:09 +0300 Subject: Add a getter for the active tag Change-Id: I597e041867fba7efae41feea63fa196bc10e4aa2 --- api/current.txt | 1 + core/java/android/net/TrafficStats.java | 9 +++++++++ core/java/com/android/server/NetworkManagementSocketTagger.java | 8 +++++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/api/current.txt b/api/current.txt index a9aaf3822024..79ce4f884b83 100644 --- a/api/current.txt +++ b/api/current.txt @@ -11287,6 +11287,7 @@ package android.net { method public static long getMobileRxPackets(); method public static long getMobileTxBytes(); method public static long getMobileTxPackets(); + method public static int getThreadStatsTag(); method public static long getTotalRxBytes(); method public static long getTotalRxPackets(); method public static long getTotalTxBytes(); diff --git a/core/java/android/net/TrafficStats.java b/core/java/android/net/TrafficStats.java index 2b59dba15c0e..e05493068499 100644 --- a/core/java/android/net/TrafficStats.java +++ b/core/java/android/net/TrafficStats.java @@ -96,6 +96,15 @@ public class TrafficStats { NetworkManagementSocketTagger.setThreadSocketStatsTag(tag); } + /** + * Get the active tag used when accounting {@link Socket} traffic originating + * from the current thread. Only one active tag per thread is supported. + * {@link #tagSocket(Socket)}. + */ + public static int getThreadStatsTag() { + return NetworkManagementSocketTagger.getThreadSocketStatsTag(); + } + /** * @deprecated unsupported, will eventually be removed */ diff --git a/core/java/com/android/server/NetworkManagementSocketTagger.java b/core/java/com/android/server/NetworkManagementSocketTagger.java index c446cfbe5888..59bef929b449 100644 --- a/core/java/com/android/server/NetworkManagementSocketTagger.java +++ b/core/java/com/android/server/NetworkManagementSocketTagger.java @@ -18,8 +18,8 @@ package com.android.server; import android.os.SystemProperties; import android.util.Log; - import dalvik.system.SocketTagger; +import libcore.io.IoUtils; import java.io.FileDescriptor; import java.io.FileOutputStream; @@ -28,8 +28,6 @@ import java.math.BigInteger; import java.net.SocketException; import java.nio.charset.Charsets; -import libcore.io.IoUtils; - /** * Assigns tags to sockets for traffic stats. */ @@ -59,6 +57,10 @@ public final class NetworkManagementSocketTagger extends SocketTagger { threadSocketTags.get().statsTag = tag; } + public static int getThreadSocketStatsTag() { + return threadSocketTags.get().statsTag; + } + public static void setThreadSocketStatsUid(int uid) { threadSocketTags.get().statsUid = uid; } -- cgit v1.2.3-59-g8ed1b