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

Commit 78111d59 authored by Roshan Pius's avatar Roshan Pius Committed by Automerger Merge Worker
Browse files

Convert WifiInfo to TransportInfo am: 6c5626ed

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1508600

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iec367e9c4d4ec69809e20abc3bb78bea2e4d6d3a
parents 96caf6d1 6c5626ed
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -264,7 +264,7 @@ package android.net.wifi {
    field public static final int SIM = 5; // 0x5
  }

  public class WifiInfo implements android.os.Parcelable {
  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
    method public int describeContents();
    method public String getBSSID();
    method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
@@ -315,7 +315,7 @@ package android.net.wifi {
    method @Deprecated public boolean disconnect();
    method @Deprecated public boolean enableNetwork(int, boolean);
    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks();
    method public android.net.wifi.WifiInfo getConnectionInfo();
    method @Deprecated public android.net.wifi.WifiInfo getConnectionInfo();
    method public android.net.DhcpInfo getDhcpInfo();
    method public int getMaxNumberOfNetworkSuggestionsPerApp();
    method @IntRange(from=0) public int getMaxSignalLevel();
+1 −1
Original line number Diff line number Diff line
@@ -401,7 +401,7 @@ package android.net.wifi {
    method public static void registerServiceWrappers();
  }

  public class WifiInfo implements android.os.Parcelable {
  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
    method public double getLostTxPacketsPerSecond();
    method @Nullable public String getRequestingPackageName();
    method public double getRetriedTxPacketsPerSecond();
+11 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.net.NetworkInfo.DetailedState;
import android.net.TransportInfo;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
@@ -38,8 +39,17 @@ import java.util.Locale;
/**
 * Describes the state of any Wi-Fi connection that is active or
 * is in the process of being set up.
 */
public class WifiInfo implements Parcelable {
 *
 * In the connected state, access to location sensitive fields requires
 * the same permissions as {@link WifiManager#getScanResults}. If such access is not allowed,
 * {@link #getSSID} will return {@link WifiManager#UNKNOWN_SSID} and
 * {@link #getBSSID} will return {@code "02:00:00:00:00:00"}.
 * {@link #getNetworkId()} will return {@code -1}.
 * {@link #getPasspointFqdn()} will return null.
 * {@link #getPasspointProviderFriendlyName()} will return null.
 */
public class WifiInfo implements TransportInfo, Parcelable {
    // TODO(b/162602799): Implement equals/hahscode methods.
    private static final String TAG = "WifiInfo";
    /**
     * This is the map described in the Javadoc comment above. The positions
+46 −6
Original line number Diff line number Diff line
@@ -36,9 +36,11 @@ import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.pm.ParceledListSlice;
import android.net.ConnectivityManager;
import android.net.ConnectivityManager.NetworkCallback;
import android.net.DhcpInfo;
import android.net.MacAddress;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkStack;
import android.net.wifi.hotspot2.IProvisioningCallback;
import android.net.wifi.hotspot2.OsuProvider;
@@ -2744,15 +2746,53 @@ public class WifiManager {
    /**
     * Return dynamic information about the current Wi-Fi connection, if any is active.
     * <p>
     * In the connected state, access to the SSID and BSSID requires
     * the same permissions as {@link #getScanResults}. If such access is not allowed,
     * {@link WifiInfo#getSSID} will return {@link #UNKNOWN_SSID} and
     * {@link WifiInfo#getBSSID} will return {@code "02:00:00:00:00:00"}.
     * {@link WifiInfo#getPasspointFqdn()} will return null.
     * {@link WifiInfo#getPasspointProviderFriendlyName()} will return null.
     *
     * @return the Wi-Fi information, contained in {@link WifiInfo}.
     *
     * @deprecated Starting with {@link Build.VERSION_CODES#S}, WifiInfo retrieval is moved to
     * {@link ConnectivityManager} API surface. WifiInfo is attached in
     * {@link NetworkCapabilities#getTransportInfo()} which is available via callback in
     * {@link NetworkCallback#onCapabilitiesChanged(Network, NetworkCapabilities)} or on-demand from
     * {@link ConnectivityManager#getNetworkCapabilities(Network)}.
     *
     *</p>
     * Usage example:
     * <pre>{@code
     * final NetworkRequest request =
     *      new NetworkRequest.Builder()
     *      .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
     *      .build();
     * final ConnectivityManager connectivityManager =
     *      context.getSystemService(ConnectivityManager.class);
     * final NetworkCallback networkCallback = new NetworkCallback() {
     *      ...
     *      {@literal @}Override
     *      void onAvailable(Network network) {}
     *
     *      {@literal @}Override
     *      void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {
     *          WifiInfo wifiInfo = (WifiInfo) networkCapabilities.getTransportInfo();
     *      }
     *      // etc.
     * };
     * connectivityManager.requestNetwork(request, networkCallback); // For request
     * connectivityManager.registerNetworkCallback(request, networkCallback); // For listen
     * }</pre>
     * <p>
     * <b>Compatibility Note:</b>
     * <li>Apps can continue using this API, however newer features
     * such as ability to mask out location sensitive data in WifiInfo will not be supported
     * via this API. </li>
     * <li>On devices supporting concurrent connections (indicated via
     * {@link #isMultiStaConcurrencySupported()}), this API will return the details
     * of the internet providing connection (if any) to all apps, except for the apps that triggered
     * the creation of the concurrent connection. For such apps, this API will return the details of
     * the connection they created. For ex: apps using {@link WifiNetworkSpecifier} will
     * will trigger a concurrent connection on supported devices and hence this API will provide
     * details of their peer to peer connection (not the internet providing connection). </li>
     * </p>
     */
    @Deprecated
    public WifiInfo getConnectionInfo() {
        try {
            return mService.getConnectionInfo(mContext.getOpPackageName(),