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

Commit 6a2d3259 authored by Vinit Deshapnde's avatar Vinit Deshapnde
Browse files

Rename LinkInfo to LinkQualityInfo

This change renames the LinkInfo objects to LinkQuailtyInfo. The API is
still hidden; but it can be accessed via reflection.

Bug: 10342372

Change-Id: Ieccea87c467ceae5d7f76298b137573f67396cd6
parent 1f809c77
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
@@ -1447,9 +1447,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;
@@ -1460,9 +1460,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;
@@ -1473,9 +1473,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;
@@ -147,10 +147,10 @@ interface IConnectivityManager

    String getMobileRedirectedProvisioningUrl();

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

    LinkInfo getActiveLinkInfo();
    LinkQualityInfo getActiveLinkQualityInfo();

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

}
+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