Loading core/java/android/uwb/AngleMeasurement.java +6 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.uwb; import android.annotation.FloatRange; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -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); Loading Loading @@ -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); Loading @@ -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( Loading @@ -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( Loading @@ -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"); Loading core/java/android/uwb/AngleOfArrivalMeasurement.java +8 −5 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable { * @return the azimuth {@link AngleMeasurement} */ @NonNull public AngleMeasurement getAzimuth() { public AngleMeasurement getAzimuthAngleMeasurement() { return mAzimuthAngleMeasurement; } Loading @@ -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; } Loading @@ -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; } Loading @@ -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); } Loading Loading @@ -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; Loading @@ -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; Loading @@ -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"); Loading core/java/android/uwb/DistanceMeasurement.java +6 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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"); Loading @@ -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( Loading @@ -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( Loading @@ -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"); Loading core/java/android/uwb/RangingMeasurement.java +14 −5 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ public final class RangingMeasurement implements Parcelable { return mRemoteDeviceAddress; } /** * @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(value = { RANGING_STATUS_SUCCESS, Loading Loading @@ -115,7 +118,7 @@ public final class RangingMeasurement implements Parcelable { * {@link #RANGING_STATUS_SUCCESS} */ @Nullable public DistanceMeasurement getDistance() { public DistanceMeasurement getDistanceMeasurement() { return mDistanceMeasurement; } Loading @@ -126,7 +129,7 @@ public final class RangingMeasurement implements Parcelable { * {@link #RANGING_STATUS_SUCCESS} */ @Nullable public AngleOfArrivalMeasurement getAngleOfArrival() { public AngleOfArrivalMeasurement getAngleOfArrivalMeasurement() { return mAngleOfArrivalMeasurement; } Loading @@ -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; } Loading @@ -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); Loading Loading @@ -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; Loading @@ -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; Loading @@ -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"); Loading @@ -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; Loading @@ -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; Loading @@ -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) { Loading core/java/android/uwb/RangingReport.java +4 −1 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading @@ -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; Loading @@ -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; Loading @@ -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 Loading
core/java/android/uwb/AngleMeasurement.java +6 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.uwb; import android.annotation.FloatRange; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -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); Loading Loading @@ -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); Loading @@ -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( Loading @@ -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( Loading @@ -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"); Loading
core/java/android/uwb/AngleOfArrivalMeasurement.java +8 −5 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable { * @return the azimuth {@link AngleMeasurement} */ @NonNull public AngleMeasurement getAzimuth() { public AngleMeasurement getAzimuthAngleMeasurement() { return mAzimuthAngleMeasurement; } Loading @@ -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; } Loading @@ -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; } Loading @@ -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); } Loading Loading @@ -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; Loading @@ -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; Loading @@ -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"); Loading
core/java/android/uwb/DistanceMeasurement.java +6 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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"); Loading @@ -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( Loading @@ -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( Loading @@ -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"); Loading
core/java/android/uwb/RangingMeasurement.java +14 −5 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ public final class RangingMeasurement implements Parcelable { return mRemoteDeviceAddress; } /** * @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(value = { RANGING_STATUS_SUCCESS, Loading Loading @@ -115,7 +118,7 @@ public final class RangingMeasurement implements Parcelable { * {@link #RANGING_STATUS_SUCCESS} */ @Nullable public DistanceMeasurement getDistance() { public DistanceMeasurement getDistanceMeasurement() { return mDistanceMeasurement; } Loading @@ -126,7 +129,7 @@ public final class RangingMeasurement implements Parcelable { * {@link #RANGING_STATUS_SUCCESS} */ @Nullable public AngleOfArrivalMeasurement getAngleOfArrival() { public AngleOfArrivalMeasurement getAngleOfArrivalMeasurement() { return mAngleOfArrivalMeasurement; } Loading @@ -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; } Loading @@ -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); Loading Loading @@ -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; Loading @@ -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; Loading @@ -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"); Loading @@ -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; Loading @@ -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; Loading @@ -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) { Loading
core/java/android/uwb/RangingReport.java +4 −1 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading @@ -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; Loading @@ -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; Loading @@ -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