diff options
| -rw-r--r-- | core/java/android/uwb/AngleMeasurement.java | 7 | ||||
| -rw-r--r-- | core/java/android/uwb/AngleOfArrivalMeasurement.java | 13 | ||||
| -rw-r--r-- | core/java/android/uwb/DistanceMeasurement.java | 7 | ||||
| -rw-r--r-- | core/java/android/uwb/RangingMeasurement.java | 19 | ||||
| -rw-r--r-- | core/java/android/uwb/RangingReport.java | 5 | ||||
| -rw-r--r-- | core/java/android/uwb/RangingSession.java | 8 | ||||
| -rw-r--r-- | core/java/android/uwb/UwbAddress.java | 4 | ||||
| -rw-r--r-- | core/java/android/uwb/UwbManager.java | 8 | ||||
| -rw-r--r-- | core/tests/uwbtests/src/android/uwb/AngleOfArrivalMeasurementTest.java | 4 | ||||
| -rw-r--r-- | core/tests/uwbtests/src/android/uwb/RangingMeasurementTest.java | 4 |
10 files changed, 57 insertions, 22 deletions
diff --git a/core/java/android/uwb/AngleMeasurement.java b/core/java/android/uwb/AngleMeasurement.java index 33bc121d8555..93b5fd4cd4b6 100644 --- a/core/java/android/uwb/AngleMeasurement.java +++ b/core/java/android/uwb/AngleMeasurement.java @@ -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"); diff --git a/core/java/android/uwb/AngleOfArrivalMeasurement.java b/core/java/android/uwb/AngleOfArrivalMeasurement.java index cd5af691ed51..20a1c7aa72d0 100644 --- a/core/java/android/uwb/AngleOfArrivalMeasurement.java +++ b/core/java/android/uwb/AngleOfArrivalMeasurement.java @@ -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"); diff --git a/core/java/android/uwb/DistanceMeasurement.java b/core/java/android/uwb/DistanceMeasurement.java index c959840c51ba..10c2172d5a6b 100644 --- a/core/java/android/uwb/DistanceMeasurement.java +++ b/core/java/android/uwb/DistanceMeasurement.java @@ -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"); diff --git a/core/java/android/uwb/RangingMeasurement.java b/core/java/android/uwb/RangingMeasurement.java index f1c316289653..50e5f0d8d554 100644 --- a/core/java/android/uwb/RangingMeasurement.java +++ b/core/java/android/uwb/RangingMeasurement.java @@ -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) { diff --git a/core/java/android/uwb/RangingReport.java b/core/java/android/uwb/RangingReport.java index 45180bfa6981..5b5f084914ab 100644 --- a/core/java/android/uwb/RangingReport.java +++ b/core/java/android/uwb/RangingReport.java @@ -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; diff --git a/core/java/android/uwb/RangingSession.java b/core/java/android/uwb/RangingSession.java index 863926924aad..e1af9b1d7ce3 100644 --- a/core/java/android/uwb/RangingSession.java +++ b/core/java/android/uwb/RangingSession.java @@ -17,6 +17,7 @@ package android.uwb; import android.annotation.IntDef; +import android.annotation.NonNull; import android.os.PersistableBundle; import java.lang.annotation.Retention; @@ -50,8 +51,11 @@ public final class RangingSession implements AutoCloseable { * @param session the newly opened {@link RangingSession} * @param sessionInfo session specific parameters from lower layers */ - void onOpenSuccess(RangingSession session, PersistableBundle sessionInfo); + void onOpenSuccess(@NonNull RangingSession session, @NonNull PersistableBundle sessionInfo); + /** + * @hide + */ @Retention(RetentionPolicy.SOURCE) @IntDef(value = { CLOSE_REASON_UNKNOWN, @@ -125,7 +129,7 @@ public final class RangingSession implements AutoCloseable { * * @param rangingReport ranging report for this interval's measurements */ - void onReportReceived(RangingReport rangingReport); + void onReportReceived(@NonNull RangingReport rangingReport); } /** diff --git a/core/java/android/uwb/UwbAddress.java b/core/java/android/uwb/UwbAddress.java index 828324c54c5a..b9523a307c42 100644 --- a/core/java/android/uwb/UwbAddress.java +++ b/core/java/android/uwb/UwbAddress.java @@ -51,7 +51,7 @@ public final class UwbAddress implements Parcelable { * {@link #SHORT_ADDRESS_BYTE_LENGTH} or {@link #EXTENDED_ADDRESS_BYTE_LENGTH} bytes */ @NonNull - public static UwbAddress fromBytes(@NonNull byte[] address) throws IllegalArgumentException { + public static UwbAddress fromBytes(@NonNull byte[] address) { if (address.length != SHORT_ADDRESS_BYTE_LENGTH && address.length != EXTENDED_ADDRESS_BYTE_LENGTH) { throw new IllegalArgumentException("Invalid UwbAddress length " + address.length); @@ -107,7 +107,7 @@ public final class UwbAddress implements Parcelable { } @Override - public void writeToParcel(Parcel dest, int flags) { + public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mAddressBytes.length); dest.writeByteArray(mAddressBytes); } diff --git a/core/java/android/uwb/UwbManager.java b/core/java/android/uwb/UwbManager.java index ed5cf3625525..bb2be0242342 100644 --- a/core/java/android/uwb/UwbManager.java +++ b/core/java/android/uwb/UwbManager.java @@ -55,6 +55,9 @@ public final class UwbManager { * Interface for receiving UWB adapter state changes */ public interface AdapterStateCallback { + /** + * @hide + */ @Retention(RetentionPolicy.SOURCE) @IntDef(value = { STATE_CHANGED_REASON_SESSION_STARTED, @@ -195,6 +198,9 @@ public final class UwbManager { } } + /** + * @hide + */ @Retention(RetentionPolicy.SOURCE) @IntDef(value = { ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE, @@ -387,7 +393,7 @@ public final class UwbManager { */ @NonNull public AutoCloseable openRangingSession(@NonNull PersistableBundle parameters, - @NonNull Executor executor, + @NonNull @CallbackExecutor Executor executor, @NonNull RangingSession.Callback callbacks) { throw new UnsupportedOperationException(); } diff --git a/core/tests/uwbtests/src/android/uwb/AngleOfArrivalMeasurementTest.java b/core/tests/uwbtests/src/android/uwb/AngleOfArrivalMeasurementTest.java index 077b08f41b59..e0884e3e1c28 100644 --- a/core/tests/uwbtests/src/android/uwb/AngleOfArrivalMeasurementTest.java +++ b/core/tests/uwbtests/src/android/uwb/AngleOfArrivalMeasurementTest.java @@ -48,8 +48,8 @@ public class AngleOfArrivalMeasurementTest { builder.setAzimuthAngleMeasurement(azimuth); AngleOfArrivalMeasurement measurement = tryBuild(builder, true); - assertEquals(azimuth, measurement.getAzimuth()); - assertEquals(altitude, measurement.getAltitude()); + assertEquals(azimuth, measurement.getAzimuthAngleMeasurement()); + assertEquals(altitude, measurement.getAltitudeAngleMeasurement()); } private AngleMeasurement getAngleMeasurement(double radian, double error, double confidence) { diff --git a/core/tests/uwbtests/src/android/uwb/RangingMeasurementTest.java b/core/tests/uwbtests/src/android/uwb/RangingMeasurementTest.java index a7559d86221e..edd4d08992ba 100644 --- a/core/tests/uwbtests/src/android/uwb/RangingMeasurementTest.java +++ b/core/tests/uwbtests/src/android/uwb/RangingMeasurementTest.java @@ -63,8 +63,8 @@ public class RangingMeasurementTest { assertEquals(status, measurement.getStatus()); assertEquals(address, measurement.getRemoteDeviceAddress()); assertEquals(time, measurement.getElapsedRealtimeNanos()); - assertEquals(angleMeasurement, measurement.getAngleOfArrival()); - assertEquals(distanceMeasurement, measurement.getDistance()); + assertEquals(angleMeasurement, measurement.getAngleOfArrivalMeasurement()); + assertEquals(distanceMeasurement, measurement.getDistanceMeasurement()); } private RangingMeasurement tryBuild(RangingMeasurement.Builder builder, |