diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-01-18 23:59:58 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-01-18 23:59:58 +0000 |
commit | d15d8266b900c549d2eed52c56f82d7c3c3792c8 (patch) | |
tree | 0b7c4c70453c091e24e37758ff1b1fd49bf20eb3 /framework/java/android/bluetooth/UidTraffic.java | |
parent | 7d69d903a5ee30dac4abc82e056f2b8ec0278708 (diff) | |
parent | aa6d8f71ae61c0e57b35258c00d28fcba5154f09 (diff) |
Merge changes from topic "migrate-sc-bt" into sc-v2-dev-plus-aosp
* changes:
Migrating BT files into packages/modules/Bluetooth
Merge history of Bluetooth API from frameworks/base
Diffstat (limited to 'framework/java/android/bluetooth/UidTraffic.java')
-rw-r--r-- | framework/java/android/bluetooth/UidTraffic.java | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/framework/java/android/bluetooth/UidTraffic.java b/framework/java/android/bluetooth/UidTraffic.java new file mode 100644 index 0000000000..9982fa6121 --- /dev/null +++ b/framework/java/android/bluetooth/UidTraffic.java @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package android.bluetooth; + +import android.annotation.SystemApi; +import android.os.Parcel; +import android.os.Parcelable; + +/** + * Record of data traffic (in bytes) by an application identified by its UID. + * + * @hide + */ +@SystemApi(client = SystemApi.Client.PRIVILEGED_APPS) +public final class UidTraffic implements Cloneable, Parcelable { + private final int mAppUid; + private long mRxBytes; + private long mTxBytes; + + /** @hide */ + public UidTraffic(int appUid, long rx, long tx) { + mAppUid = appUid; + mRxBytes = rx; + mTxBytes = tx; + } + + /** @hide */ + private UidTraffic(Parcel in) { + mAppUid = in.readInt(); + mRxBytes = in.readLong(); + mTxBytes = in.readLong(); + } + + /** @hide */ + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(mAppUid); + dest.writeLong(mRxBytes); + dest.writeLong(mTxBytes); + } + + /** @hide */ + public void setRxBytes(long bytes) { + mRxBytes = bytes; + } + + /** @hide */ + public void setTxBytes(long bytes) { + mTxBytes = bytes; + } + + /** @hide */ + public void addRxBytes(long bytes) { + mRxBytes += bytes; + } + + /** @hide */ + public void addTxBytes(long bytes) { + mTxBytes += bytes; + } + + /** + * @return corresponding app Uid + */ + public int getUid() { + return mAppUid; + } + + /** + * @return rx bytes count + */ + public long getRxBytes() { + return mRxBytes; + } + + /** + * @return tx bytes count + */ + public long getTxBytes() { + return mTxBytes; + } + + /** @hide */ + @Override + public int describeContents() { + return 0; + } + + /** @hide */ + @Override + public UidTraffic clone() { + return new UidTraffic(mAppUid, mRxBytes, mTxBytes); + } + + /** @hide */ + @Override + public String toString() { + return "UidTraffic{mAppUid=" + mAppUid + ", mRxBytes=" + mRxBytes + ", mTxBytes=" + + mTxBytes + '}'; + } + + public static final @android.annotation.NonNull Creator<UidTraffic> CREATOR = new Creator<UidTraffic>() { + @Override + public UidTraffic createFromParcel(Parcel source) { + return new UidTraffic(source); + } + + @Override + public UidTraffic[] newArray(int size) { + return new UidTraffic[size]; + } + }; +} |