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

Commit 63458f3e authored by Brian Stack's avatar Brian Stack Committed by Automerger Merge Worker
Browse files

Merge "Ensure UWB conforms to API guidelines" am: 0070e26a am: a0e1666a am: d8529430

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3512e1e3941d80d9fd5d574f5feb30d7bd89ac0c
parents 2aefd7a0 d8529430
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.uwb;

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

@@ -109,7 +110,7 @@ public final class AngleMeasurement implements Parcelable {
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeDouble(mRadians);
        dest.writeDouble(mErrorRadians);
        dest.writeDouble(mConfidenceLevel);
@@ -146,6 +147,7 @@ public final class AngleMeasurement implements Parcelable {
         * @param radians angle in radians
         * @throws IllegalArgumentException if angle exceeds allowed limits of [-Math.PI, +Math.PI]
         */
        @NonNull
        public Builder setRadians(double radians) {
            if (radians < -Math.PI || radians > Math.PI) {
                throw new IllegalArgumentException("Invalid radians: " + radians);
@@ -160,6 +162,7 @@ public final class AngleMeasurement implements Parcelable {
         * @param errorRadians error of the angle in radians
         * @throws IllegalArgumentException if the error exceeds the allowed limits of [0, +Math.PI]
         */
        @NonNull
        public Builder setErrorRadians(double errorRadians) {
            if (errorRadians < 0.0 || errorRadians > Math.PI) {
                throw new IllegalArgumentException(
@@ -175,6 +178,7 @@ public final class AngleMeasurement implements Parcelable {
         * @param confidenceLevel level of confidence of the angle measurement
         * @throws IllegalArgumentException if the error exceeds the allowed limits of [0.0, 1.0]
         */
        @NonNull
        public Builder setConfidenceLevel(double confidenceLevel) {
            if (confidenceLevel < 0.0 || confidenceLevel > 1.0) {
                throw new IllegalArgumentException(
@@ -189,6 +193,7 @@ public final class AngleMeasurement implements Parcelable {
         *
         * @throws IllegalStateException if angle, error, or confidence values are missing
         */
        @NonNull
        public AngleMeasurement build() {
            if (Double.isNaN(mRadians)) {
                throw new IllegalStateException("Angle is not set");
+8 −5
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
     * @return the azimuth {@link AngleMeasurement}
     */
    @NonNull
    public AngleMeasurement getAzimuth() {
    public AngleMeasurement getAzimuthAngleMeasurement() {
        return mAzimuthAngleMeasurement;
    }

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

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

        if (obj instanceof AngleOfArrivalMeasurement) {
            AngleOfArrivalMeasurement other = (AngleOfArrivalMeasurement) obj;
            return mAzimuthAngleMeasurement.equals(other.getAzimuth())
                    && mAltitudeAngleMeasurement.equals(other.getAltitude());
            return mAzimuthAngleMeasurement.equals(other.getAzimuthAngleMeasurement())
                    && mAltitudeAngleMeasurement.equals(other.getAltitudeAngleMeasurement());
        }
        return false;
    }
@@ -105,7 +105,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeParcelable(mAzimuthAngleMeasurement, flags);
        dest.writeParcelable(mAltitudeAngleMeasurement, flags);
    }
@@ -143,6 +143,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
         *
         * @param azimuthAngle azimuth angle
         */
        @NonNull
        public Builder setAzimuthAngleMeasurement(@NonNull AngleMeasurement azimuthAngle) {
            mAzimuthAngleMeasurement = azimuthAngle;
            return this;
@@ -153,6 +154,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
         *
         * @param altitudeAngle altitude angle
         */
        @NonNull
        public Builder setAltitudeAngleMeasurement(@NonNull AngleMeasurement altitudeAngle) {
            mAltitudeAngleMeasurement = altitudeAngle;
            return this;
@@ -163,6 +165,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
         *
         * @throws IllegalStateException if the required azimuth angle is not provided
         */
        @NonNull
        public AngleOfArrivalMeasurement build() {
            if (mAzimuthAngleMeasurement == null) {
                throw new IllegalStateException("Azimuth angle measurement is not set");
+6 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.uwb;

import android.annotation.FloatRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Parcel;
import android.os.Parcelable;
@@ -106,7 +107,7 @@ public final class DistanceMeasurement implements Parcelable {
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeDouble(mMeters);
        dest.writeDouble(mErrorMeters);
        dest.writeDouble(mConfidenceLevel);
@@ -143,6 +144,7 @@ public final class DistanceMeasurement implements Parcelable {
         * @param meters distance in meters
         * @throws IllegalArgumentException if meters is NaN
         */
        @NonNull
        public Builder setMeters(double meters) {
            if (Double.isNaN(meters)) {
                throw new IllegalArgumentException("meters cannot be NaN");
@@ -157,6 +159,7 @@ public final class DistanceMeasurement implements Parcelable {
         * @param errorMeters distance error in meters
         * @throws IllegalArgumentException if error is negative or NaN
         */
        @NonNull
        public Builder setErrorMeters(double errorMeters) {
            if (Double.isNaN(errorMeters) || errorMeters < 0.0) {
                throw new IllegalArgumentException(
@@ -172,6 +175,7 @@ public final class DistanceMeasurement implements Parcelable {
         * @param confidenceLevel the confidence level in the distance measurement
         * @throws IllegalArgumentException if confidence level is not in the range of [0.0, 1.0]
         */
        @NonNull
        public Builder setConfidenceLevel(double confidenceLevel) {
            if (confidenceLevel < 0.0 || confidenceLevel > 1.0) {
                throw new IllegalArgumentException(
@@ -186,6 +190,7 @@ public final class DistanceMeasurement implements Parcelable {
         *
         * @throws IllegalStateException if meters, error, or confidence are not set
         */
        @NonNull
        public DistanceMeasurement build() {
            if (Double.isNaN(mMeters)) {
                throw new IllegalStateException("Meters cannot be NaN");
+14 −5
Original line number Diff line number Diff line
@@ -60,6 +60,9 @@ public final class RangingMeasurement implements Parcelable {
        return mRemoteDeviceAddress;
    }

    /**
     * @hide
     */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef(value = {
            RANGING_STATUS_SUCCESS,
@@ -115,7 +118,7 @@ public final class RangingMeasurement implements Parcelable {
     *         {@link #RANGING_STATUS_SUCCESS}
     */
    @Nullable
    public DistanceMeasurement getDistance() {
    public DistanceMeasurement getDistanceMeasurement() {
        return mDistanceMeasurement;
    }

@@ -126,7 +129,7 @@ public final class RangingMeasurement implements Parcelable {
     *         {@link #RANGING_STATUS_SUCCESS}
     */
    @Nullable
    public AngleOfArrivalMeasurement getAngleOfArrival() {
    public AngleOfArrivalMeasurement getAngleOfArrivalMeasurement() {
        return mAngleOfArrivalMeasurement;
    }

@@ -144,8 +147,8 @@ public final class RangingMeasurement implements Parcelable {
            return mRemoteDeviceAddress.equals(other.getRemoteDeviceAddress())
                    && mStatus == other.getStatus()
                    && mElapsedRealtimeNanos == other.getElapsedRealtimeNanos()
                    && mDistanceMeasurement.equals(other.getDistance())
                    && mAngleOfArrivalMeasurement.equals(other.getAngleOfArrival());
                    && mDistanceMeasurement.equals(other.getDistanceMeasurement())
                    && mAngleOfArrivalMeasurement.equals(other.getAngleOfArrivalMeasurement());
        }
        return false;
    }
@@ -165,7 +168,7 @@ public final class RangingMeasurement implements Parcelable {
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeParcelable(mRemoteDeviceAddress, flags);
        dest.writeInt(mStatus);
        dest.writeLong(mElapsedRealtimeNanos);
@@ -210,6 +213,7 @@ public final class RangingMeasurement implements Parcelable {
         *
         * @param remoteDeviceAddress remote device's address
         */
        @NonNull
        public Builder setRemoteDeviceAddress(@NonNull UwbAddress remoteDeviceAddress) {
            mRemoteDeviceAddress = remoteDeviceAddress;
            return this;
@@ -220,6 +224,7 @@ public final class RangingMeasurement implements Parcelable {
         *
         * @param status the status of the ranging measurement
         */
        @NonNull
        public Builder setStatus(@Status int status) {
            mStatus = status;
            return this;
@@ -230,6 +235,7 @@ public final class RangingMeasurement implements Parcelable {
         *
         * @param elapsedRealtimeNanos time the ranging measurement occurred
         */
        @NonNull
        public Builder setElapsedRealtimeNanos(long elapsedRealtimeNanos) {
            if (elapsedRealtimeNanos < 0) {
                throw new IllegalArgumentException("elapsedRealtimeNanos must be >= 0");
@@ -243,6 +249,7 @@ public final class RangingMeasurement implements Parcelable {
         *
         * @param distanceMeasurement the distance measurement for this ranging measurement
         */
        @NonNull
        public Builder setDistanceMeasurement(@NonNull DistanceMeasurement distanceMeasurement) {
            mDistanceMeasurement = distanceMeasurement;
            return this;
@@ -254,6 +261,7 @@ public final class RangingMeasurement implements Parcelable {
         * @param angleOfArrivalMeasurement the angle of arrival measurement for this ranging
         *                                  measurement
         */
        @NonNull
        public Builder setAngleOfArrivalMeasurement(
                @NonNull AngleOfArrivalMeasurement angleOfArrivalMeasurement) {
            mAngleOfArrivalMeasurement = angleOfArrivalMeasurement;
@@ -268,6 +276,7 @@ public final class RangingMeasurement implements Parcelable {
         *                               elapsedRealtimeNanos of the measurement is invalid, or
         *                               if no remote device address is set
         */
        @NonNull
        public RangingMeasurement build() {
            if (mStatus != RANGING_STATUS_SUCCESS) {
                if (mDistanceMeasurement != null) {
+4 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ public final class RangingReport implements Parcelable {
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeTypedList(mRangingMeasurements);
    }

@@ -113,6 +113,7 @@ public final class RangingReport implements Parcelable {
         *
         * @param rangingMeasurement a ranging measurement
         */
        @NonNull
        public Builder addMeasurement(@NonNull RangingMeasurement rangingMeasurement) {
            mMeasurements.add(rangingMeasurement);
            return this;
@@ -123,6 +124,7 @@ public final class RangingReport implements Parcelable {
         *
         * @param rangingMeasurements {@link List} of {@link RangingMeasurement}s to add
         */
        @NonNull
        public Builder addMeasurements(@NonNull List<RangingMeasurement> rangingMeasurements) {
            mMeasurements.addAll(rangingMeasurements);
            return this;
@@ -133,6 +135,7 @@ public final class RangingReport implements Parcelable {
         *
         * @throws IllegalStateException if measurements are not in monotonically increasing order
         */
        @NonNull
        public RangingReport build() {
            // Verify that all measurement timestamps are monotonically increasing
            RangingMeasurement prevMeasurement = null;
Loading