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

Commit 0070e26a authored by Brian Stack's avatar Brian Stack Committed by Gerrit Code Review
Browse files

Merge "Ensure UWB conforms to API guidelines"

parents eec09803 a3f2c14a
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