| /* |
| * Copyright (C) 2013 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.net; |
| |
| import android.os.Parcel; |
| |
| /** |
| * Class that represents useful attributes of wifi network links |
| * such as the upload/download throughput or error rate etc. |
| * @hide |
| */ |
| public class WifiLinkQualityInfo extends LinkQualityInfo { |
| |
| /* Indicates Wifi network type such as b/g etc*/ |
| private int mType = UNKNOWN_INT; |
| |
| private String mBssid; |
| |
| /* Rssi found by scans */ |
| private int mRssi = UNKNOWN_INT; |
| |
| /* packet statistics */ |
| private long mTxGood = UNKNOWN_LONG; |
| private long mTxBad = UNKNOWN_LONG; |
| |
| /** |
| * Implement the Parcelable interface. |
| * @hide |
| */ |
| @Override |
| public void writeToParcel(Parcel dest, int flags) { |
| super.writeToParcel(dest, flags, OBJECT_TYPE_WIFI_LINK_QUALITY_INFO); |
| |
| dest.writeInt(mType); |
| dest.writeInt(mRssi); |
| dest.writeLong(mTxGood); |
| dest.writeLong(mTxBad); |
| |
| dest.writeString(mBssid); |
| } |
| |
| /* Un-parceling helper */ |
| /** |
| * @hide |
| */ |
| public static WifiLinkQualityInfo createFromParcelBody(Parcel in) { |
| WifiLinkQualityInfo li = new WifiLinkQualityInfo(); |
| |
| li.initializeFromParcel(in); |
| |
| li.mType = in.readInt(); |
| li.mRssi = in.readInt(); |
| li.mTxGood = in.readLong(); |
| li.mTxBad = in.readLong(); |
| |
| li.mBssid = in.readString(); |
| |
| return li; |
| } |
| |
| /** |
| * returns Wifi network type |
| * @return network type or {@link android.net.LinkQualityInfo#UNKNOWN_INT} |
| */ |
| public int getType() { |
| return mType; |
| } |
| |
| /** |
| * @hide |
| */ |
| public void setType(int type) { |
| mType = type; |
| } |
| |
| /** |
| * returns BSSID of the access point |
| * @return the BSSID, in the form of a six-byte MAC address: {@code XX:XX:XX:XX:XX:XX} or null |
| */ |
| public String getBssid() { |
| return mBssid; |
| } |
| |
| /** |
| * @hide |
| */ |
| public void setBssid(String bssid) { |
| mBssid = bssid; |
| } |
| |
| /** |
| * returns RSSI of the network in raw form |
| * @return un-normalized RSSI or {@link android.net.LinkQualityInfo#UNKNOWN_INT} |
| */ |
| public int getRssi() { |
| return mRssi; |
| } |
| |
| /** |
| * @hide |
| */ |
| public void setRssi(int rssi) { |
| mRssi = rssi; |
| } |
| |
| /** |
| * returns number of packets transmitted without error |
| * @return number of packets or {@link android.net.LinkQualityInfo#UNKNOWN_LONG} |
| */ |
| public long getTxGood() { |
| return mTxGood; |
| } |
| |
| /** |
| * @hide |
| */ |
| public void setTxGood(long txGood) { |
| mTxGood = txGood; |
| } |
| |
| /** |
| * returns number of transmitted packets that encountered errors |
| * @return number of packets or {@link android.net.LinkQualityInfo#UNKNOWN_LONG} |
| */ |
| public long getTxBad() { |
| return mTxBad; |
| } |
| |
| /** |
| * @hide |
| */ |
| public void setTxBad(long txBad) { |
| mTxBad = txBad; |
| } |
| } |