1*6777b538SAndroid Build Coastguard Worker // Copyright 2015 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "net/android/traffic_stats.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include "net/net_jni_headers/AndroidTrafficStats_jni.h" 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker namespace net::android::traffic_stats { 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net 12*6777b538SAndroid Build Coastguard Worker enum TrafficStatsError { 13*6777b538SAndroid Build Coastguard Worker // Value returned by AndroidTrafficStats APIs when a valid value is 14*6777b538SAndroid Build Coastguard Worker // unavailable. 15*6777b538SAndroid Build Coastguard Worker ERROR_NOT_SUPPORTED = 0, 16*6777b538SAndroid Build Coastguard Worker }; 17*6777b538SAndroid Build Coastguard Worker GetTotalTxBytes(int64_t * bytes)18*6777b538SAndroid Build Coastguard Workerbool GetTotalTxBytes(int64_t* bytes) { 19*6777b538SAndroid Build Coastguard Worker JNIEnv* env = jni_zero::AttachCurrentThread(); 20*6777b538SAndroid Build Coastguard Worker *bytes = Java_AndroidTrafficStats_getTotalTxBytes(env); 21*6777b538SAndroid Build Coastguard Worker return *bytes != ERROR_NOT_SUPPORTED; 22*6777b538SAndroid Build Coastguard Worker } 23*6777b538SAndroid Build Coastguard Worker GetTotalRxBytes(int64_t * bytes)24*6777b538SAndroid Build Coastguard Workerbool GetTotalRxBytes(int64_t* bytes) { 25*6777b538SAndroid Build Coastguard Worker JNIEnv* env = jni_zero::AttachCurrentThread(); 26*6777b538SAndroid Build Coastguard Worker *bytes = Java_AndroidTrafficStats_getTotalRxBytes(env); 27*6777b538SAndroid Build Coastguard Worker return *bytes != ERROR_NOT_SUPPORTED; 28*6777b538SAndroid Build Coastguard Worker } 29*6777b538SAndroid Build Coastguard Worker GetCurrentUidTxBytes(int64_t * bytes)30*6777b538SAndroid Build Coastguard Workerbool GetCurrentUidTxBytes(int64_t* bytes) { 31*6777b538SAndroid Build Coastguard Worker JNIEnv* env = jni_zero::AttachCurrentThread(); 32*6777b538SAndroid Build Coastguard Worker *bytes = Java_AndroidTrafficStats_getCurrentUidTxBytes(env); 33*6777b538SAndroid Build Coastguard Worker return *bytes != ERROR_NOT_SUPPORTED; 34*6777b538SAndroid Build Coastguard Worker } 35*6777b538SAndroid Build Coastguard Worker GetCurrentUidRxBytes(int64_t * bytes)36*6777b538SAndroid Build Coastguard Workerbool GetCurrentUidRxBytes(int64_t* bytes) { 37*6777b538SAndroid Build Coastguard Worker JNIEnv* env = jni_zero::AttachCurrentThread(); 38*6777b538SAndroid Build Coastguard Worker *bytes = Java_AndroidTrafficStats_getCurrentUidRxBytes(env); 39*6777b538SAndroid Build Coastguard Worker return *bytes != ERROR_NOT_SUPPORTED; 40*6777b538SAndroid Build Coastguard Worker } 41*6777b538SAndroid Build Coastguard Worker 42*6777b538SAndroid Build Coastguard Worker } // namespace net::android::traffic_stats 43