summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/uwb/AngleMeasurement.java7
-rw-r--r--core/java/android/uwb/AngleOfArrivalMeasurement.java13
-rw-r--r--core/java/android/uwb/DistanceMeasurement.java7
-rw-r--r--core/java/android/uwb/RangingMeasurement.java19
-rw-r--r--core/java/android/uwb/RangingReport.java5
-rw-r--r--core/java/android/uwb/RangingSession.java8
-rw-r--r--core/java/android/uwb/UwbAddress.java4
-rw-r--r--core/java/android/uwb/UwbManager.java8
-rw-r--r--core/tests/uwbtests/src/android/uwb/AngleOfArrivalMeasurementTest.java4
-rw-r--r--core/tests/uwbtests/src/android/uwb/RangingMeasurementTest.java4
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,