Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b402fb2f authored by Vinit Deshapnde's avatar Vinit Deshapnde Committed by Android (Google) Code Review
Browse files

Merge "Rename LinkInfo to LinkQualityInfo" into klp-dev

parents a9fa33b3 6a2d3259
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ public abstract class BaseNetworkStateTracker implements NetworkStateTracker {
    }

    @Override
    public LinkInfo getLinkInfo() {
    public LinkQualityInfo getLinkQualityInfo() {
        return null;
    }

+6 −6
Original line number Diff line number Diff line
@@ -1426,9 +1426,9 @@ public class ConnectivityManager {
     * get the information about a specific network link
     * @hide
     */
    public LinkInfo getLinkInfo(int networkType) {
    public LinkQualityInfo getLinkQualityInfo(int networkType) {
        try {
            LinkInfo li = mService.getLinkInfo(networkType);
            LinkQualityInfo li = mService.getLinkQualityInfo(networkType);
            return li;
        } catch (RemoteException e) {
            return null;
@@ -1439,9 +1439,9 @@ public class ConnectivityManager {
     * get the information of currently active network link
     * @hide
     */
    public LinkInfo getActiveLinkInfo() {
    public LinkQualityInfo getActiveLinkQualityInfo() {
        try {
            LinkInfo li = mService.getActiveLinkInfo();
            LinkQualityInfo li = mService.getActiveLinkQualityInfo();
            return li;
        } catch (RemoteException e) {
            return null;
@@ -1452,9 +1452,9 @@ public class ConnectivityManager {
     * get the information of all network links
     * @hide
     */
    public LinkInfo[] getAllLinkInfo() {
    public LinkQualityInfo[] getAllLinkQualityInfo() {
        try {
            LinkInfo[] li = mService.getAllLinkInfo();
            LinkQualityInfo[] li = mService.getAllLinkQualityInfo();
            return li;
        } catch (RemoteException e) {
            return null;
+4 −4
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package android.net;

import android.net.LinkInfo;
import android.net.LinkQualityInfo;
import android.net.LinkProperties;
import android.net.NetworkInfo;
import android.net.NetworkQuotaInfo;
@@ -149,11 +149,11 @@ interface IConnectivityManager

    String getMobileRedirectedProvisioningUrl();

    LinkInfo getLinkInfo(int networkType);
    LinkQualityInfo getLinkQualityInfo(int networkType);

    LinkInfo getActiveLinkInfo();
    LinkQualityInfo getActiveLinkQualityInfo();

    LinkInfo[] getAllLinkInfo();
    LinkQualityInfo[] getAllLinkQualityInfo();

    void setProvisioningNotificationVisible(boolean visible, int networkType, in String extraInfo, in String url);
}
+1 −1
Original line number Diff line number Diff line
@@ -16,4 +16,4 @@

package android.net;

parcelable LinkInfo;
parcelable LinkQualityInfo;
+286 −0
Original line number Diff line number Diff line
@@ -23,39 +23,48 @@ import android.os.Parcelable;
 *  Class that represents useful attributes of generic network links
 *  such as the upload/download throughput or packet error rate.
 *  Generally speaking, you should be dealing with instances of
 *  LinkInfo subclasses, such as {@link android.net.#WifiLinkInfo}
 *  or {@link android.net.#MobileLinkInfo} which provide additional
 *  LinkQualityInfo subclasses, such as {@link android.net.#WifiLinkQualityInfo}
 *  or {@link android.net.#MobileLinkQualityInfo} which provide additional
 *  information.
 *  @hide
 */
public class LinkInfo implements Parcelable
{
    public static final int UNKNOWN = -1;
public class LinkQualityInfo implements Parcelable {

    /**
     * Represents a value that you can use to test if an integer field is set to a good value
     */
    public static final int UNKNOWN_INT = Integer.MAX_VALUE;

    /**
     * Represents a value that you can use to test if a long field is set to a good value
     */
    public static final long UNKNOWN_LONG = Long.MAX_VALUE;

    public static final int NORMALIZED_MIN_SIGNAL_STRENGTH = 0;

    public static final int NORMALIZED_MAX_SIGNAL_STRENGTH = 99;

    public static final int NORMALIZED_SIGNAL_STRENGTH_RANGE = NORMALIZED_MAX_SIGNAL_STRENGTH + 1;
    public static final int NORMALIZED_SIGNAL_STRENGTH_RANGE =
            NORMALIZED_MAX_SIGNAL_STRENGTH - NORMALIZED_MIN_SIGNAL_STRENGTH + 1;

    /* Network type as defined by ConnectivityManager */
    public int mNetworkType = ConnectivityManager.TYPE_NONE;
    private int mNetworkType = ConnectivityManager.TYPE_NONE;

    public int mNormalizedSignalStrength = UNKNOWN;
    private int mNormalizedSignalStrength = UNKNOWN_INT;

    public long mPacketCount = UNKNOWN;
    public long mPacketErrorCount = UNKNOWN;
    public int mTheoreticalTxBandwidth = UNKNOWN;
    public int mTheoreticalRxBandwidth = UNKNOWN;
    public int mTheoreticalLatency = UNKNOWN;
    private long mPacketCount = UNKNOWN_LONG;
    private long mPacketErrorCount = UNKNOWN_LONG;
    private int mTheoreticalTxBandwidth = UNKNOWN_INT;
    private int mTheoreticalRxBandwidth = UNKNOWN_INT;
    private int mTheoreticalLatency = UNKNOWN_INT;

    /* Timestamp when last sample was made available */
    public long mLastDataSampleTime = UNKNOWN;
    private long mLastDataSampleTime = UNKNOWN_LONG;

    /* Sample duration in millisecond */
    public int mDataSampleDuration = UNKNOWN;
    private int mDataSampleDuration = UNKNOWN_INT;

    public LinkInfo() {
    public LinkQualityInfo() {

    }

@@ -66,18 +75,25 @@ public class LinkInfo implements Parcelable
    public int describeContents() {
        return 0;
    }

    /**
     * Implement the Parcelable interface.
     */

    protected static final int OBJECT_TYPE_LINKINFO = 1;
    protected static final int OBJECT_TYPE_WIFI_LINKINFO = 2;
    protected static final int OBJECT_TYPE_MOBILE_LINKINFO = 3;
    protected static final int OBJECT_TYPE_LINK_QUALITY_INFO = 1;
    protected static final int OBJECT_TYPE_WIFI_LINK_QUALITY_INFO = 2;
    protected static final int OBJECT_TYPE_MOBILE_LINK_QUALITY_INFO = 3;

    /**
     * @hide
     */
    public void writeToParcel(Parcel dest, int flags) {
        writeToParcel(dest, flags, OBJECT_TYPE_LINKINFO);
        writeToParcel(dest, flags, OBJECT_TYPE_LINK_QUALITY_INFO);
    }

    /**
     * @hide
     */
    public void writeToParcel(Parcel dest, int flags, int objectType) {
        dest.writeInt(objectType);
        dest.writeInt(mNetworkType);
@@ -91,28 +107,34 @@ public class LinkInfo implements Parcelable
        dest.writeInt(mDataSampleDuration);
    }

    public static final Creator<LinkInfo> CREATOR =
            new Creator<LinkInfo>() {
                public LinkInfo createFromParcel(Parcel in) {
    /**
     * @hide
     */
    public static final Creator<LinkQualityInfo> CREATOR =
            new Creator<LinkQualityInfo>() {
                public LinkQualityInfo createFromParcel(Parcel in) {
                    int objectType = in.readInt();
                    if (objectType == OBJECT_TYPE_LINKINFO) {
                        LinkInfo li = new LinkInfo();
                    if (objectType == OBJECT_TYPE_LINK_QUALITY_INFO) {
                        LinkQualityInfo li = new LinkQualityInfo();
                        li.initializeFromParcel(in);
                        return li;
                    } else if (objectType == OBJECT_TYPE_WIFI_LINKINFO) {
                        return WifiLinkInfo.createFromParcelBody(in);
                    } else if (objectType == OBJECT_TYPE_MOBILE_LINKINFO) {
                        return MobileLinkInfo.createFromParcelBody(in);
                    } else if (objectType == OBJECT_TYPE_WIFI_LINK_QUALITY_INFO) {
                        return WifiLinkQualityInfo.createFromParcelBody(in);
                    } else if (objectType == OBJECT_TYPE_MOBILE_LINK_QUALITY_INFO) {
                        return MobileLinkQualityInfo.createFromParcelBody(in);
                    } else {
                        return null;
                    }
                }

                public LinkInfo[] newArray(int size) {
                    return new LinkInfo[size];
                public LinkQualityInfo[] newArray(int size) {
                    return new LinkQualityInfo[size];
                }
            };

    /**
     * @hide
     */
    protected void initializeFromParcel(Parcel in) {
        mNetworkType = in.readInt();
        mNormalizedSignalStrength = in.readInt();
@@ -125,4 +147,140 @@ public class LinkInfo implements Parcelable
        mDataSampleDuration = in.readInt();
    }

    /**
     * returns the type of network this link is connected to
     * @return network type as defined by {@link android.net.ConnectivityManager} or
     * {@link android.net.LinkQualityInfo#UNKNOWN_INT}
     */
    public int getNetworkType() {
        return mNetworkType;
    }

    /**
     * @hide
     */
    public void setNetworkType(int networkType) {
        mNetworkType = networkType;
    }

    /**
     * returns the signal strength normalized across multiple types of networks
     * @return an integer value from 0 - 99 or {@link android.net.LinkQualityInfo#UNKNOWN_INT}
     */
    public int getNormalizedSignalStrength() {
        return mNormalizedSignalStrength;
    }

    /**
     * @hide
     */
    public void setNormalizedSignalStrength(int normalizedSignalStrength) {
        mNormalizedSignalStrength = normalizedSignalStrength;
    }

    /**
     * returns the total number of packets sent or received in sample duration
     * @return number of packets or {@link android.net.LinkQualityInfo#UNKNOWN_LONG}
     */
    public long getPacketCount() {
        return mPacketCount;
    }

    /**
     * @hide
     */
    public void setPacketCount(long packetCount) {
        mPacketCount = packetCount;
    }

    /**
     * returns the total number of packets errors encountered in sample duration
     * @return number of errors or {@link android.net.LinkQualityInfo#UNKNOWN_LONG}
     */
    public long getPacketErrorCount() {
        return mPacketErrorCount;
    }

    /**
     * @hide
     */
    public void setPacketErrorCount(long packetErrorCount) {
        mPacketErrorCount = packetErrorCount;
    }

    /**
     * returns the theoretical upload bandwidth of this network
     * @return bandwidth in Kbps or {@link android.net.LinkQualityInfo#UNKNOWN_INT}
     */
    public int getTheoreticalTxBandwidth() {
        return mTheoreticalTxBandwidth;
    }

    /**
     * @hide
     */
    public void setTheoreticalTxBandwidth(int theoreticalTxBandwidth) {
        mTheoreticalTxBandwidth = theoreticalTxBandwidth;
    }

    /**
     * returns the theoretical download bandwidth of this network
     * @return bandwidth in Kbps or {@link android.net.LinkQualityInfo#UNKNOWN_INT}
     */
    public int getTheoreticalRxBandwidth() {
        return mTheoreticalRxBandwidth;
    }

    /**
     * @hide
     */
    public void setTheoreticalRxBandwidth(int theoreticalRxBandwidth) {
        mTheoreticalRxBandwidth = theoreticalRxBandwidth;
    }

    /**
     * returns the theoretical latency of this network
     * @return latency in milliseconds or {@link android.net.LinkQualityInfo#UNKNOWN_INT}
     */
    public int getTheoreticalLatency() {
        return mTheoreticalLatency;
    }

    /**
     * @hide
     */
    public void setTheoreticalLatency(int theoreticalLatency) {
        mTheoreticalLatency = theoreticalLatency;
    }

    /**
     * returns the time stamp of the last sample
     * @return milliseconds elapsed since start and sample time or
     * {@link android.net.LinkQualityInfo#UNKNOWN_LONG}
     */
    public long getLastDataSampleTime() {
        return mLastDataSampleTime;
    }

    /**
     * @hide
     */
    public void setLastDataSampleTime(long lastDataSampleTime) {
        mLastDataSampleTime = lastDataSampleTime;
    }

    /**
     * returns the sample duration used
     * @return duration in milliseconds or {@link android.net.LinkQualityInfo#UNKNOWN_INT}
     */
    public int getDataSampleDuration() {
        return mDataSampleDuration;
    }

    /**
     * @hide
     */
    public void setDataSampleDuration(int dataSampleDuration) {
        mDataSampleDuration = dataSampleDuration;
    }
}
Loading