1*344a7f5eSAndroid Build Coastguard Worker// Signature format: 2.0 2*344a7f5eSAndroid Build Coastguard Workerpackage android.uwb { 3*344a7f5eSAndroid Build Coastguard Worker 4*344a7f5eSAndroid Build Coastguard Worker public final class AngleMeasurement implements android.os.Parcelable { 5*344a7f5eSAndroid Build Coastguard Worker ctor public AngleMeasurement(@FloatRange(from=-3.141592653589793, to=3.141592653589793) double, @FloatRange(from=0.0, to=3.141592653589793) double, @FloatRange(from=0.0, to=1.0) double); 6*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 7*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel(); 8*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians(); 9*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians(); 10*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 11*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR; 12*344a7f5eSAndroid Build Coastguard Worker } 13*344a7f5eSAndroid Build Coastguard Worker 14*344a7f5eSAndroid Build Coastguard Worker public final class AngleOfArrivalMeasurement implements android.os.Parcelable { 15*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 16*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.uwb.AngleMeasurement getAltitude(); 17*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.AngleMeasurement getAzimuth(); 18*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 19*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR; 20*344a7f5eSAndroid Build Coastguard Worker } 21*344a7f5eSAndroid Build Coastguard Worker 22*344a7f5eSAndroid Build Coastguard Worker public static final class AngleOfArrivalMeasurement.Builder { 23*344a7f5eSAndroid Build Coastguard Worker ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement); 24*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.AngleOfArrivalMeasurement build(); 25*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement); 26*344a7f5eSAndroid Build Coastguard Worker } 27*344a7f5eSAndroid Build Coastguard Worker 28*344a7f5eSAndroid Build Coastguard Worker public final class DistanceMeasurement implements android.os.Parcelable { 29*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 30*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel(); 31*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=0.0) public double getErrorMeters(); 32*344a7f5eSAndroid Build Coastguard Worker method public double getMeters(); 33*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 34*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR; 35*344a7f5eSAndroid Build Coastguard Worker } 36*344a7f5eSAndroid Build Coastguard Worker 37*344a7f5eSAndroid Build Coastguard Worker public static final class DistanceMeasurement.Builder { 38*344a7f5eSAndroid Build Coastguard Worker ctor public DistanceMeasurement.Builder(); 39*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.DistanceMeasurement build(); 40*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double); 41*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double); 42*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double); 43*344a7f5eSAndroid Build Coastguard Worker } 44*344a7f5eSAndroid Build Coastguard Worker 45*344a7f5eSAndroid Build Coastguard Worker public final class RangingMeasurement implements android.os.Parcelable { 46*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 47*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement(); 48*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement(); 49*344a7f5eSAndroid Build Coastguard Worker method public long getElapsedRealtimeNanos(); 50*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress(); 51*344a7f5eSAndroid Build Coastguard Worker method public int getStatus(); 52*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 53*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR; 54*344a7f5eSAndroid Build Coastguard Worker field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1 55*344a7f5eSAndroid Build Coastguard Worker field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff 56*344a7f5eSAndroid Build Coastguard Worker field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0 57*344a7f5eSAndroid Build Coastguard Worker } 58*344a7f5eSAndroid Build Coastguard Worker 59*344a7f5eSAndroid Build Coastguard Worker public static final class RangingMeasurement.Builder { 60*344a7f5eSAndroid Build Coastguard Worker ctor public RangingMeasurement.Builder(); 61*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingMeasurement build(); 62*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement); 63*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement); 64*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long); 65*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress); 66*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int); 67*344a7f5eSAndroid Build Coastguard Worker } 68*344a7f5eSAndroid Build Coastguard Worker 69*344a7f5eSAndroid Build Coastguard Worker public final class RangingReport implements android.os.Parcelable { 70*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 71*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements(); 72*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 73*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR; 74*344a7f5eSAndroid Build Coastguard Worker } 75*344a7f5eSAndroid Build Coastguard Worker 76*344a7f5eSAndroid Build Coastguard Worker public static final class RangingReport.Builder { 77*344a7f5eSAndroid Build Coastguard Worker ctor public RangingReport.Builder(); 78*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement); 79*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>); 80*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.uwb.RangingReport build(); 81*344a7f5eSAndroid Build Coastguard Worker } 82*344a7f5eSAndroid Build Coastguard Worker 83*344a7f5eSAndroid Build Coastguard Worker public final class RangingSession implements java.lang.AutoCloseable { 84*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close(); 85*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle); 86*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle); 87*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop(); 88*344a7f5eSAndroid Build Coastguard Worker } 89*344a7f5eSAndroid Build Coastguard Worker 90*344a7f5eSAndroid Build Coastguard Worker public static interface RangingSession.Callback { 91*344a7f5eSAndroid Build Coastguard Worker method public void onClosed(int, @NonNull android.os.PersistableBundle); 92*344a7f5eSAndroid Build Coastguard Worker method public void onOpenFailed(int, @NonNull android.os.PersistableBundle); 93*344a7f5eSAndroid Build Coastguard Worker method public void onOpened(@NonNull android.uwb.RangingSession); 94*344a7f5eSAndroid Build Coastguard Worker method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle); 95*344a7f5eSAndroid Build Coastguard Worker method public void onReconfigured(@NonNull android.os.PersistableBundle); 96*344a7f5eSAndroid Build Coastguard Worker method public void onReportReceived(@NonNull android.uwb.RangingReport); 97*344a7f5eSAndroid Build Coastguard Worker method public void onStartFailed(int, @NonNull android.os.PersistableBundle); 98*344a7f5eSAndroid Build Coastguard Worker method public void onStarted(@NonNull android.os.PersistableBundle); 99*344a7f5eSAndroid Build Coastguard Worker method public void onStopFailed(int, @NonNull android.os.PersistableBundle); 100*344a7f5eSAndroid Build Coastguard Worker method public void onStopped(int, @NonNull android.os.PersistableBundle); 101*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_BAD_PARAMETERS = 3; // 0x3 102*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_GENERIC_ERROR = 4; // 0x4 103*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_LOCAL_REQUEST = 1; // 0x1 104*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5 105*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7 106*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_REMOTE_REQUEST = 2; // 0x2 107*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_SYSTEM_POLICY = 6; // 0x6 108*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_UNKNOWN = 0; // 0x0 109*344a7f5eSAndroid Build Coastguard Worker } 110*344a7f5eSAndroid Build Coastguard Worker 111*344a7f5eSAndroid Build Coastguard Worker public final class UwbAddress implements android.os.Parcelable { 112*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 113*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]); 114*344a7f5eSAndroid Build Coastguard Worker method public int size(); 115*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] toBytes(); 116*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 117*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR; 118*344a7f5eSAndroid Build Coastguard Worker field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8 119*344a7f5eSAndroid Build Coastguard Worker field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2 120*344a7f5eSAndroid Build Coastguard Worker } 121*344a7f5eSAndroid Build Coastguard Worker 122*344a7f5eSAndroid Build Coastguard Worker public final class UwbManager { 123*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(); 124*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(); 125*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.UWB_PRIVILEGED, android.Manifest.permission.UWB_RANGING}) public android.os.CancellationSignal openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback); 126*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback); 127*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback); 128*344a7f5eSAndroid Build Coastguard Worker } 129*344a7f5eSAndroid Build Coastguard Worker 130*344a7f5eSAndroid Build Coastguard Worker public static interface UwbManager.AdapterStateCallback { 131*344a7f5eSAndroid Build Coastguard Worker method public void onStateChanged(int, int); 132*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1 133*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4 134*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0 135*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3 136*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2 137*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_DISABLED = 0; // 0x0 138*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2 139*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1 140*344a7f5eSAndroid Build Coastguard Worker } 141*344a7f5eSAndroid Build Coastguard Worker 142*344a7f5eSAndroid Build Coastguard Worker} 143