From 5a1878d6cacd63ab2ec37003a91cc10fbeaf3e20 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Wed, 6 Aug 2014 14:19:56 -0700 Subject: [PATCH] Make TrafficStats uid attribution @SystemApi Anything that runs as a singleton may need to attribute traffic to various client apps; in particular, backup transports need to do this. Apropos of which, introduce a @SystemApi method specifically for that purpose, setThreadStatsTagBackup(). Bug 16661321 Change-Id: Id5d22e28bdc68edb53f2a1fdba80b144fcbc61d2 --- core/java/android/net/TrafficStats.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/core/java/android/net/TrafficStats.java b/core/java/android/net/TrafficStats.java index 786439e5d8..3f1851901f 100644 --- a/core/java/android/net/TrafficStats.java +++ b/core/java/android/net/TrafficStats.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.SystemApi; import android.app.DownloadManager; import android.app.backup.BackupManager; import android.content.Context; @@ -126,6 +127,16 @@ public class TrafficStats { NetworkManagementSocketTagger.setThreadSocketStatsTag(tag); } + /** + * System API for backup-related support components to tag network traffic + * appropriately. + * @hide + */ + @SystemApi + public static void setThreadStatsTagBackup() { + setThreadStatsTag(TAG_SYSTEM_BACKUP); + } + /** * Get the active tag used when accounting {@link Socket} traffic originating * from the current thread. Only one active tag per thread is supported. @@ -160,11 +171,13 @@ public class TrafficStats { * * @hide */ + @SystemApi public static void setThreadStatsUid(int uid) { NetworkManagementSocketTagger.setThreadSocketStatsUid(uid); } /** {@hide} */ + @SystemApi public static void clearThreadStatsUid() { NetworkManagementSocketTagger.setThreadSocketStatsUid(-1); }