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

Commit a0688e03 authored by Etan Cohen's avatar Etan Cohen
Browse files

[RTT2] Baseline public Wi-Fi RTT API

Basic Wi-Fi RTT API for ranging to APs + Wi-Fi Aware peers.

Note: no functional tests, just unhiding/comment fixes.

Bug: 65108607
Test: builds, unit tests, integration tests.
Change-Id: I532ca35c866a7862859a0e64d9f7eccd95baa83d
parent 091d7771
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
@@ -9333,6 +9333,7 @@ package android.content {
    field public static final java.lang.String WALLPAPER_SERVICE = "wallpaper";
    field public static final java.lang.String WIFI_AWARE_SERVICE = "wifiaware";
    field public static final java.lang.String WIFI_P2P_SERVICE = "wifip2p";
    field public static final java.lang.String WIFI_RTT_RANGING_SERVICE = "wifirtt";
    field public static final java.lang.String WIFI_SERVICE = "wifi";
    field public static final java.lang.String WINDOW_SERVICE = "window";
  }
@@ -11115,6 +11116,7 @@ package android.content.pm {
    field public static final java.lang.String FEATURE_WIFI_AWARE = "android.hardware.wifi.aware";
    field public static final java.lang.String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct";
    field public static final java.lang.String FEATURE_WIFI_PASSPOINT = "android.hardware.wifi.passpoint";
    field public static final java.lang.String FEATURE_WIFI_RTT = "android.hardware.wifi.rtt";
    field public static final int GET_ACTIVITIES = 1; // 0x1
    field public static final int GET_CONFIGURATIONS = 16384; // 0x4000
    field public static final deprecated int GET_DISABLED_COMPONENTS = 512; // 0x200
@@ -27769,6 +27771,55 @@ package android.net.wifi.p2p.nsd {
}
package android.net.wifi.rtt {
  public final class RangingRequest implements android.os.Parcelable {
    method public int describeContents();
    method public static int getMaxPeers();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
  }
  public static final class RangingRequest.Builder {
    ctor public RangingRequest.Builder();
    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(android.net.wifi.ScanResult);
    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoints(java.util.List<android.net.wifi.ScanResult>);
    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(android.net.MacAddress);
    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(android.net.wifi.aware.PeerHandle);
    method public android.net.wifi.rtt.RangingRequest build();
  }
  public final class RangingResult implements android.os.Parcelable {
    method public int describeContents();
    method public int getDistanceMm();
    method public int getDistanceStdDevMm();
    method public android.net.MacAddress getMacAddress();
    method public android.net.wifi.aware.PeerHandle getPeerHandle();
    method public long getRangingTimestampUs();
    method public int getRssi();
    method public int getStatus();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
    field public static final int STATUS_FAIL = 1; // 0x1
    field public static final int STATUS_SUCCESS = 0; // 0x0
  }
  public abstract class RangingResultCallback {
    ctor public RangingResultCallback();
    method public abstract void onRangingFailure(int);
    method public abstract void onRangingResults(java.util.List<android.net.wifi.rtt.RangingResult>);
    field public static final int STATUS_CODE_FAIL = 1; // 0x1
    field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2
  }
  public class WifiRttManager {
    method public boolean isAvailable();
    method public void startRanging(android.net.wifi.rtt.RangingRequest, android.net.wifi.rtt.RangingResultCallback, android.os.Handler);
    field public static final java.lang.String ACTION_WIFI_RTT_STATE_CHANGED = "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED";
  }
}
package android.nfc {
  public class FormatException extends java.lang.Exception {
+9 −0
Original line number Diff line number Diff line
@@ -3115,6 +3115,15 @@ package android.net.wifi.aware {

}

package android.net.wifi.rtt {

  public class WifiRttManager {
    method public void cancelRanging(android.os.WorkSource);
    method public void startRanging(android.os.WorkSource, android.net.wifi.rtt.RangingRequest, android.net.wifi.rtt.RangingResultCallback, android.os.Handler);
  }

}

package android.nfc {

  public final class NfcAdapter {
+0 −1
Original line number Diff line number Diff line
@@ -3530,7 +3530,6 @@ public abstract class Context {
     *
     * @see #getSystemService
     * @see android.net.wifi.rtt.WifiRttManager
     * @hide
     */
    public static final String WIFI_RTT_RANGING_SERVICE = "wifirtt";

+0 −2
Original line number Diff line number Diff line
@@ -2328,8 +2328,6 @@ public abstract class PackageManager {
    /**
     * Feature for {@link #getSystemAvailableFeatures} and
     * {@link #hasSystemFeature}: The device supports Wi-Fi RTT (IEEE 802.11mc).
     *
     * @hide RTT_API
     */
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_WIFI_RTT = "android.hardware.wifi.rtt";
+2 −4
Original line number Diff line number Diff line
@@ -41,8 +41,6 @@ import java.util.StringJoiner;
 * The ranging request is a batch request - specifying a set of devices (specified using
 * {@link RangingRequest.Builder#addAccessPoint(ScanResult)} and
 * {@link RangingRequest.Builder#addAccessPoints(List)}).
 *
 * @hide RTT_API
 */
public final class RangingRequest implements Parcelable {
    private static final int MAX_PEERS = 10;
@@ -198,7 +196,7 @@ public final class RangingRequest implements Parcelable {
            return addResponder(ResponderConfig.fromWifiAwarePeerHandleWithDefaults(peerHandle));
        }

        /*
        /**
         * Add the Responder device specified by the {@link ResponderConfig} to the list of devices
         * with which to measure range. The total number of peers added to the request cannot exceed
         * the limit specified by {@link #getMaxPeers()}.
@@ -206,7 +204,7 @@ public final class RangingRequest implements Parcelable {
         * @param responder Information on the RTT Responder.
         * @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
         *
         * @hide (SystemApi)
         * @hide
         */
        public Builder addResponder(@NonNull ResponderConfig responder) {
            if (responder == null) {
Loading