16b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey/* 26b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * Copyright (C) 2012 The Android Open Source Project 36b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * 46b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License"); 56b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * you may not use this file except in compliance with the License. 66b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * You may obtain a copy of the License at 76b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * 86b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * http://www.apache.org/licenses/LICENSE-2.0 96b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * 106b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * Unless required by applicable law or agreed to in writing, software 116b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS, 126b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * See the License for the specific language governing permissions and 146b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * limitations under the License. 156b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey */ 166b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 176b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkeypackage android.support.v4.net; 186b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 196b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkeyimport android.net.TrafficStats; 206b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 216b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkeyimport java.net.Socket; 226b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkeyimport java.net.SocketException; 236b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 246b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey/** 256b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey * Implementation of TrafficStatsCompat that can call ICS APIs. 266b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey */ 276b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkeypublic class TrafficStatsCompatIcs { 286b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey public static void clearThreadStatsTag() { 296b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey TrafficStats.clearThreadStatsTag(); 306b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey } 316b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 326b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey public static int getThreadStatsTag() { 336b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey return TrafficStats.getThreadStatsTag(); 346b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey } 356b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 366b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey public static void incrementOperationCount(int operationCount) { 376b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey TrafficStats.incrementOperationCount(operationCount); 386b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey } 396b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 406b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey public static void incrementOperationCount(int tag, int operationCount) { 416b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey TrafficStats.incrementOperationCount(tag, operationCount); 426b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey } 436b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 446b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey public static void setThreadStatsTag(int tag) { 456b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey TrafficStats.setThreadStatsTag(tag); 466b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey } 476b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 486b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey public static void tagSocket(Socket socket) throws SocketException { 496b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey TrafficStats.tagSocket(socket); 506b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey } 516b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey 526b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey public static void untagSocket(Socket socket) throws SocketException { 536b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey TrafficStats.untagSocket(socket); 546b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey } 556b96c2a5aecbb56116667959e43489966e02ff73Jeff Sharkey} 56