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

Commit 94f23cd4 authored by Brian Stack's avatar Brian Stack Committed by Gerrit Code Review
Browse files

Merge "Add UWB APIs to SystemApi"

parents 29a92ff8 4b2df397
Loading
Loading
Loading
Loading
+158 −0
Original line number Diff line number Diff line
@@ -12316,6 +12316,164 @@ package android.util {
}
package android.uwb {
  public final class AngleMeasurement implements android.os.Parcelable {
    method public int describeContents();
    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
  }
  public static final class AngleMeasurement.Builder {
    ctor public AngleMeasurement.Builder();
    method @NonNull public android.uwb.AngleMeasurement build();
    method @NonNull public android.uwb.AngleMeasurement.Builder setConfidenceLevel(double);
    method @NonNull public android.uwb.AngleMeasurement.Builder setErrorRadians(double);
    method @NonNull public android.uwb.AngleMeasurement.Builder setRadians(double);
  }
  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public android.uwb.AngleMeasurement getAltitude();
    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
  }
  public static final class AngleOfArrivalMeasurement.Builder {
    ctor public AngleOfArrivalMeasurement.Builder();
    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAzimuth(@NonNull android.uwb.AngleMeasurement);
  }
  public final class DistanceMeasurement implements android.os.Parcelable {
    method public int describeContents();
    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
    method public double getErrorMeters();
    method public double getMeters();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
  }
  public static final class DistanceMeasurement.Builder {
    ctor public DistanceMeasurement.Builder();
    method @NonNull public android.uwb.DistanceMeasurement build();
    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(double);
    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(double);
    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
  }
  public final class RangingMeasurement implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
    method public long getElapsedRealtimeNanos();
    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
    method public int getStatus();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
  }
  public static final class RangingMeasurement.Builder {
    ctor public RangingMeasurement.Builder();
    method @NonNull public android.uwb.RangingMeasurement build();
    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
  }
  public final class RangingReport implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
  }
  public static final class RangingReport.Builder {
    ctor public RangingReport.Builder();
    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
    method @NonNull public android.uwb.RangingReport build();
  }
  public final class RangingSession implements java.lang.AutoCloseable {
    method public void close();
    method public void reconfigure(@NonNull android.os.PersistableBundle);
    method public void start(@NonNull android.os.PersistableBundle);
    method public void stop();
  }
  public static interface RangingSession.Callback {
    method public void onClosed(int, @NonNull android.os.PersistableBundle);
    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
    method public void onOpened(@NonNull android.uwb.RangingSession);
    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
    method public void onReconfigured(@NonNull android.os.PersistableBundle);
    method public void onReportReceived(@NonNull android.uwb.RangingReport);
    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
    method public void onStarted(@NonNull android.os.PersistableBundle);
    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
    method public void onStopped();
    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
    field public static final int REASON_UNKNOWN = 0; // 0x0
  }
  public final class UwbAddress implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
    method public int size();
    method @NonNull public byte[] toBytes();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
  }
  public final class UwbManager {
    method public long elapsedRealtimeResolutionNanos();
    method public int getAngleOfArrivalSupport();
    method public int getMaxRemoteDevicesPerInitiatorSession();
    method public int getMaxRemoteDevicesPerResponderSession();
    method public int getMaxSimultaneousSessions();
    method @NonNull public android.os.PersistableBundle getSpecificationInfo();
    method @NonNull public java.util.List<java.lang.Integer> getSupportedChannelNumbers();
    method @NonNull public java.util.Set<java.lang.Integer> getSupportedPreambleCodeIndices();
    method public boolean isRangingSupported();
    method @NonNull public AutoCloseable openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback);
    method public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
    method public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
    field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D = 2; // 0x2
    field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL = 3; // 0x3
    field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL = 4; // 0x4
    field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE = 1; // 0x1
  }
  public static interface UwbManager.AdapterStateCallback {
    method public void onStateChanged(boolean, int);
    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
  }
}
package android.view {
  public abstract class Window {
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.uwb;

import android.annotation.FloatRange;
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

@@ -31,6 +32,7 @@ import java.util.Objects;
 *
 * @hide
 */
@SystemApi
public final class AngleMeasurement implements Parcelable {
    private final double mRadians;
    private final double mErrorRadians;
+10 −10
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.uwb;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

@@ -28,6 +29,7 @@ import java.util.Objects;
 *
 * @hide
 */
@SystemApi
public final class AngleOfArrivalMeasurement implements Parcelable {
    private final AngleMeasurement mAzimuthAngleMeasurement;
    private final AngleMeasurement mAltitudeAngleMeasurement;
@@ -53,7 +55,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
     * @return the azimuth {@link AngleMeasurement}
     */
    @NonNull
    public AngleMeasurement getAzimuthAngleMeasurement() {
    public AngleMeasurement getAzimuth() {
        return mAzimuthAngleMeasurement;
    }

@@ -70,7 +72,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
     * @return altitude {@link AngleMeasurement} or null when this is not available
     */
    @Nullable
    public AngleMeasurement getAltitudeAngleMeasurement() {
    public AngleMeasurement getAltitude() {
        return mAltitudeAngleMeasurement;
    }

@@ -85,8 +87,8 @@ public final class AngleOfArrivalMeasurement implements Parcelable {

        if (obj instanceof AngleOfArrivalMeasurement) {
            AngleOfArrivalMeasurement other = (AngleOfArrivalMeasurement) obj;
            return mAzimuthAngleMeasurement.equals(other.getAzimuthAngleMeasurement())
                    && mAltitudeAngleMeasurement.equals(other.getAltitudeAngleMeasurement());
            return mAzimuthAngleMeasurement.equals(other.getAzimuth())
                    && mAltitudeAngleMeasurement.equals(other.getAltitude());
        }
        return false;
    }
@@ -116,11 +118,9 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
                public AngleOfArrivalMeasurement createFromParcel(Parcel in) {
                    Builder builder = new Builder();

                    builder.setAzimuthAngleMeasurement(
                            in.readParcelable(AngleMeasurement.class.getClassLoader()));
                    builder.setAzimuth(in.readParcelable(AngleMeasurement.class.getClassLoader()));

                    builder.setAltitudeAngleMeasurement(
                            in.readParcelable(AngleMeasurement.class.getClassLoader()));
                    builder.setAltitude(in.readParcelable(AngleMeasurement.class.getClassLoader()));

                    return builder.build();
                }
@@ -144,7 +144,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
         * @param azimuthAngle azimuth angle
         */
        @NonNull
        public Builder setAzimuthAngleMeasurement(@NonNull AngleMeasurement azimuthAngle) {
        public Builder setAzimuth(@NonNull AngleMeasurement azimuthAngle) {
            mAzimuthAngleMeasurement = azimuthAngle;
            return this;
        }
@@ -155,7 +155,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
         * @param altitudeAngle altitude angle
         */
        @NonNull
        public Builder setAltitudeAngleMeasurement(@NonNull AngleMeasurement altitudeAngle) {
        public Builder setAltitude(@NonNull AngleMeasurement altitudeAngle) {
            mAltitudeAngleMeasurement = altitudeAngle;
            return this;
        }
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.uwb;
import android.annotation.FloatRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

@@ -32,6 +33,7 @@ import java.util.Objects;
 *
 * @hide
 */
@SystemApi
public final class DistanceMeasurement implements Parcelable {
    private final double mMeters;
    private final double mErrorMeters;
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
@@ -33,6 +34,7 @@ import java.util.Objects;
 *
 * @hide
 */
@SystemApi
public final class RangingMeasurement implements Parcelable {
    private final UwbAddress mRemoteDeviceAddress;
    private final @Status int mStatus;
Loading