/* * 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; } }