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