Merge "Add UWB APIs to SystemApi" am: 94f23cd4c5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1543877 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I94722cf29b898575468c9f409774a9bd93bb7ec9
This commit is contained in:
@@ -12316,6 +12316,164 @@ package android.util {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
package android.uwb {
|
||||||
|
|
||||||
|
public final class AngleMeasurement implements android.os.Parcelable {
|
||||||
|
method public int describeContents();
|
||||||
|
method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
|
||||||
|
method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
|
||||||
|
method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
|
||||||
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||||
|
field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class AngleMeasurement.Builder {
|
||||||
|
ctor public AngleMeasurement.Builder();
|
||||||
|
method @NonNull public android.uwb.AngleMeasurement build();
|
||||||
|
method @NonNull public android.uwb.AngleMeasurement.Builder setConfidenceLevel(double);
|
||||||
|
method @NonNull public android.uwb.AngleMeasurement.Builder setErrorRadians(double);
|
||||||
|
method @NonNull public android.uwb.AngleMeasurement.Builder setRadians(double);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
|
||||||
|
method public int describeContents();
|
||||||
|
method @Nullable public android.uwb.AngleMeasurement getAltitude();
|
||||||
|
method @NonNull public android.uwb.AngleMeasurement getAzimuth();
|
||||||
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||||
|
field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class AngleOfArrivalMeasurement.Builder {
|
||||||
|
ctor public AngleOfArrivalMeasurement.Builder();
|
||||||
|
method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
|
||||||
|
method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
|
||||||
|
method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAzimuth(@NonNull android.uwb.AngleMeasurement);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class DistanceMeasurement implements android.os.Parcelable {
|
||||||
|
method public int describeContents();
|
||||||
|
method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
|
||||||
|
method public double getErrorMeters();
|
||||||
|
method public double getMeters();
|
||||||
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||||
|
field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class DistanceMeasurement.Builder {
|
||||||
|
ctor public DistanceMeasurement.Builder();
|
||||||
|
method @NonNull public android.uwb.DistanceMeasurement build();
|
||||||
|
method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(double);
|
||||||
|
method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(double);
|
||||||
|
method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class RangingMeasurement implements android.os.Parcelable {
|
||||||
|
method public int describeContents();
|
||||||
|
method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
|
||||||
|
method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
|
||||||
|
method public long getElapsedRealtimeNanos();
|
||||||
|
method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
|
||||||
|
method public int getStatus();
|
||||||
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||||
|
field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
|
||||||
|
field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
|
||||||
|
field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
|
||||||
|
field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class RangingMeasurement.Builder {
|
||||||
|
ctor public RangingMeasurement.Builder();
|
||||||
|
method @NonNull public android.uwb.RangingMeasurement build();
|
||||||
|
method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
|
||||||
|
method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
|
||||||
|
method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
|
||||||
|
method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
|
||||||
|
method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class RangingReport implements android.os.Parcelable {
|
||||||
|
method public int describeContents();
|
||||||
|
method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
|
||||||
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||||
|
field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class RangingReport.Builder {
|
||||||
|
ctor public RangingReport.Builder();
|
||||||
|
method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
|
||||||
|
method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
|
||||||
|
method @NonNull public android.uwb.RangingReport build();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class RangingSession implements java.lang.AutoCloseable {
|
||||||
|
method public void close();
|
||||||
|
method public void reconfigure(@NonNull android.os.PersistableBundle);
|
||||||
|
method public void start(@NonNull android.os.PersistableBundle);
|
||||||
|
method public void stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static interface RangingSession.Callback {
|
||||||
|
method public void onClosed(int, @NonNull android.os.PersistableBundle);
|
||||||
|
method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
|
||||||
|
method public void onOpened(@NonNull android.uwb.RangingSession);
|
||||||
|
method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
|
||||||
|
method public void onReconfigured(@NonNull android.os.PersistableBundle);
|
||||||
|
method public void onReportReceived(@NonNull android.uwb.RangingReport);
|
||||||
|
method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
|
||||||
|
method public void onStarted(@NonNull android.os.PersistableBundle);
|
||||||
|
method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
|
||||||
|
method public void onStopped();
|
||||||
|
field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
|
||||||
|
field public static final int REASON_GENERIC_ERROR = 4; // 0x4
|
||||||
|
field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
|
||||||
|
field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
|
||||||
|
field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
|
||||||
|
field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
|
||||||
|
field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
|
||||||
|
field public static final int REASON_UNKNOWN = 0; // 0x0
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class UwbAddress implements android.os.Parcelable {
|
||||||
|
method public int describeContents();
|
||||||
|
method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
|
||||||
|
method public int size();
|
||||||
|
method @NonNull public byte[] toBytes();
|
||||||
|
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||||
|
field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
|
||||||
|
field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
|
||||||
|
field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class UwbManager {
|
||||||
|
method public long elapsedRealtimeResolutionNanos();
|
||||||
|
method public int getAngleOfArrivalSupport();
|
||||||
|
method public int getMaxRemoteDevicesPerInitiatorSession();
|
||||||
|
method public int getMaxRemoteDevicesPerResponderSession();
|
||||||
|
method public int getMaxSimultaneousSessions();
|
||||||
|
method @NonNull public android.os.PersistableBundle getSpecificationInfo();
|
||||||
|
method @NonNull public java.util.List<java.lang.Integer> getSupportedChannelNumbers();
|
||||||
|
method @NonNull public java.util.Set<java.lang.Integer> getSupportedPreambleCodeIndices();
|
||||||
|
method public boolean isRangingSupported();
|
||||||
|
method @NonNull public AutoCloseable openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback);
|
||||||
|
method public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
|
||||||
|
method public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
|
||||||
|
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_2D = 2; // 0x2
|
||||||
|
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_HEMISPHERICAL = 3; // 0x3
|
||||||
|
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_3D_SPHERICAL = 4; // 0x4
|
||||||
|
field public static final int ANGLE_OF_ARRIVAL_SUPPORT_TYPE_NONE = 1; // 0x1
|
||||||
|
}
|
||||||
|
|
||||||
|
public static interface UwbManager.AdapterStateCallback {
|
||||||
|
method public void onStateChanged(boolean, int);
|
||||||
|
field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
|
||||||
|
field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
|
||||||
|
field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
|
||||||
|
field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
|
||||||
|
field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
package android.view {
|
package android.view {
|
||||||
|
|
||||||
public abstract class Window {
|
public abstract class Window {
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package android.uwb;
|
|||||||
|
|
||||||
import android.annotation.FloatRange;
|
import android.annotation.FloatRange;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
@@ -31,6 +32,7 @@ import java.util.Objects;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public final class AngleMeasurement implements Parcelable {
|
public final class AngleMeasurement implements Parcelable {
|
||||||
private final double mRadians;
|
private final double mRadians;
|
||||||
private final double mErrorRadians;
|
private final double mErrorRadians;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package android.uwb;
|
|||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
@@ -28,6 +29,7 @@ import java.util.Objects;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public final class AngleOfArrivalMeasurement implements Parcelable {
|
public final class AngleOfArrivalMeasurement implements Parcelable {
|
||||||
private final AngleMeasurement mAzimuthAngleMeasurement;
|
private final AngleMeasurement mAzimuthAngleMeasurement;
|
||||||
private final AngleMeasurement mAltitudeAngleMeasurement;
|
private final AngleMeasurement mAltitudeAngleMeasurement;
|
||||||
@@ -53,7 +55,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
|
|||||||
* @return the azimuth {@link AngleMeasurement}
|
* @return the azimuth {@link AngleMeasurement}
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public AngleMeasurement getAzimuthAngleMeasurement() {
|
public AngleMeasurement getAzimuth() {
|
||||||
return mAzimuthAngleMeasurement;
|
return mAzimuthAngleMeasurement;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,7 +72,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
|
|||||||
* @return altitude {@link AngleMeasurement} or null when this is not available
|
* @return altitude {@link AngleMeasurement} or null when this is not available
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public AngleMeasurement getAltitudeAngleMeasurement() {
|
public AngleMeasurement getAltitude() {
|
||||||
return mAltitudeAngleMeasurement;
|
return mAltitudeAngleMeasurement;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,8 +87,8 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
|
|||||||
|
|
||||||
if (obj instanceof AngleOfArrivalMeasurement) {
|
if (obj instanceof AngleOfArrivalMeasurement) {
|
||||||
AngleOfArrivalMeasurement other = (AngleOfArrivalMeasurement) obj;
|
AngleOfArrivalMeasurement other = (AngleOfArrivalMeasurement) obj;
|
||||||
return mAzimuthAngleMeasurement.equals(other.getAzimuthAngleMeasurement())
|
return mAzimuthAngleMeasurement.equals(other.getAzimuth())
|
||||||
&& mAltitudeAngleMeasurement.equals(other.getAltitudeAngleMeasurement());
|
&& mAltitudeAngleMeasurement.equals(other.getAltitude());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -116,11 +118,9 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
|
|||||||
public AngleOfArrivalMeasurement createFromParcel(Parcel in) {
|
public AngleOfArrivalMeasurement createFromParcel(Parcel in) {
|
||||||
Builder builder = new Builder();
|
Builder builder = new Builder();
|
||||||
|
|
||||||
builder.setAzimuthAngleMeasurement(
|
builder.setAzimuth(in.readParcelable(AngleMeasurement.class.getClassLoader()));
|
||||||
in.readParcelable(AngleMeasurement.class.getClassLoader()));
|
|
||||||
|
|
||||||
builder.setAltitudeAngleMeasurement(
|
builder.setAltitude(in.readParcelable(AngleMeasurement.class.getClassLoader()));
|
||||||
in.readParcelable(AngleMeasurement.class.getClassLoader()));
|
|
||||||
|
|
||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
@@ -144,7 +144,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
|
|||||||
* @param azimuthAngle azimuth angle
|
* @param azimuthAngle azimuth angle
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public Builder setAzimuthAngleMeasurement(@NonNull AngleMeasurement azimuthAngle) {
|
public Builder setAzimuth(@NonNull AngleMeasurement azimuthAngle) {
|
||||||
mAzimuthAngleMeasurement = azimuthAngle;
|
mAzimuthAngleMeasurement = azimuthAngle;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -155,7 +155,7 @@ public final class AngleOfArrivalMeasurement implements Parcelable {
|
|||||||
* @param altitudeAngle altitude angle
|
* @param altitudeAngle altitude angle
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public Builder setAltitudeAngleMeasurement(@NonNull AngleMeasurement altitudeAngle) {
|
public Builder setAltitude(@NonNull AngleMeasurement altitudeAngle) {
|
||||||
mAltitudeAngleMeasurement = altitudeAngle;
|
mAltitudeAngleMeasurement = altitudeAngle;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package android.uwb;
|
|||||||
import android.annotation.FloatRange;
|
import android.annotation.FloatRange;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
@@ -32,6 +33,7 @@ import java.util.Objects;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public final class DistanceMeasurement implements Parcelable {
|
public final class DistanceMeasurement implements Parcelable {
|
||||||
private final double mMeters;
|
private final double mMeters;
|
||||||
private final double mErrorMeters;
|
private final double mErrorMeters;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.annotation.IntDef;
|
|||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
@@ -33,6 +34,7 @@ import java.util.Objects;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public final class RangingMeasurement implements Parcelable {
|
public final class RangingMeasurement implements Parcelable {
|
||||||
private final UwbAddress mRemoteDeviceAddress;
|
private final UwbAddress mRemoteDeviceAddress;
|
||||||
private final @Status int mStatus;
|
private final @Status int mStatus;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package android.uwb;
|
|||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
@@ -30,6 +31,7 @@ import java.util.Objects;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public final class RangingReport implements Parcelable {
|
public final class RangingReport implements Parcelable {
|
||||||
private final List<RangingMeasurement> mRangingMeasurements;
|
private final List<RangingMeasurement> mRangingMeasurements;
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package android.uwb;
|
|||||||
|
|
||||||
import android.annotation.IntDef;
|
import android.annotation.IntDef;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
@@ -42,6 +43,7 @@ import java.util.concurrent.Executor;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public final class RangingSession implements AutoCloseable {
|
public final class RangingSession implements AutoCloseable {
|
||||||
private static final String TAG = "Uwb.RangingSession";
|
private static final String TAG = "Uwb.RangingSession";
|
||||||
private final SessionHandle mSessionHandle;
|
private final SessionHandle mSessionHandle;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package android.uwb;
|
|||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
@@ -28,6 +29,7 @@ import java.util.Arrays;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public final class UwbAddress implements Parcelable {
|
public final class UwbAddress implements Parcelable {
|
||||||
public static final int SHORT_ADDRESS_BYTE_LENGTH = 2;
|
public static final int SHORT_ADDRESS_BYTE_LENGTH = 2;
|
||||||
public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8;
|
public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.annotation.CallbackExecutor;
|
|||||||
import android.annotation.IntDef;
|
import android.annotation.IntDef;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.annotation.SystemService;
|
import android.annotation.SystemService;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
@@ -44,6 +45,7 @@ import java.util.concurrent.Executor;
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
@SystemService(Context.UWB_SERVICE)
|
@SystemService(Context.UWB_SERVICE)
|
||||||
public final class UwbManager {
|
public final class UwbManager {
|
||||||
private IUwbAdapter mUwbAdapter;
|
private IUwbAdapter mUwbAdapter;
|
||||||
|
|||||||
@@ -42,14 +42,14 @@ public class AngleOfArrivalMeasurementTest {
|
|||||||
AngleOfArrivalMeasurement.Builder builder = new AngleOfArrivalMeasurement.Builder();
|
AngleOfArrivalMeasurement.Builder builder = new AngleOfArrivalMeasurement.Builder();
|
||||||
tryBuild(builder, false);
|
tryBuild(builder, false);
|
||||||
|
|
||||||
builder.setAltitudeAngleMeasurement(altitude);
|
builder.setAltitude(altitude);
|
||||||
tryBuild(builder, false);
|
tryBuild(builder, false);
|
||||||
|
|
||||||
builder.setAzimuthAngleMeasurement(azimuth);
|
builder.setAzimuth(azimuth);
|
||||||
AngleOfArrivalMeasurement measurement = tryBuild(builder, true);
|
AngleOfArrivalMeasurement measurement = tryBuild(builder, true);
|
||||||
|
|
||||||
assertEquals(azimuth, measurement.getAzimuthAngleMeasurement());
|
assertEquals(azimuth, measurement.getAzimuth());
|
||||||
assertEquals(altitude, measurement.getAltitudeAngleMeasurement());
|
assertEquals(altitude, measurement.getAltitude());
|
||||||
}
|
}
|
||||||
|
|
||||||
private AngleMeasurement getAngleMeasurement(double radian, double error, double confidence) {
|
private AngleMeasurement getAngleMeasurement(double radian, double error, double confidence) {
|
||||||
|
|||||||
@@ -42,8 +42,8 @@ public class UwbTestUtils {
|
|||||||
|
|
||||||
public static AngleOfArrivalMeasurement getAngleOfArrivalMeasurement() {
|
public static AngleOfArrivalMeasurement getAngleOfArrivalMeasurement() {
|
||||||
return new AngleOfArrivalMeasurement.Builder()
|
return new AngleOfArrivalMeasurement.Builder()
|
||||||
.setAltitudeAngleMeasurement(getAngleMeasurement())
|
.setAltitude(getAngleMeasurement())
|
||||||
.setAzimuthAngleMeasurement(getAngleMeasurement())
|
.setAzimuth(getAngleMeasurement())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user