xref: /aosp_15_r20/external/cronet/net/android/traffic_stats.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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 Worker bool 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 Worker bool 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 Worker bool 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 Worker bool 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