xref: /aosp_15_r20/prebuilts/sdk/35/system/api/framework-uwb.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
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.AngleOfArrivalMeasurement getDestinationAngleOfArrivalMeasurement();
49*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
50*344a7f5eSAndroid Build Coastguard Worker    method public long getElapsedRealtimeNanos();
51*344a7f5eSAndroid Build Coastguard Worker    method public int getLineOfSight();
52*344a7f5eSAndroid Build Coastguard Worker    method public int getMeasurementFocus();
53*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getRangingMeasurementMetadata();
54*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
55*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) public int getRssiDbm();
56*344a7f5eSAndroid Build Coastguard Worker    method public int getStatus();
57*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
58*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
59*344a7f5eSAndroid Build Coastguard Worker    field public static final int LOS = 0; // 0x0
60*344a7f5eSAndroid Build Coastguard Worker    field public static final int LOS_UNDETERMINED = 255; // 0xff
61*344a7f5eSAndroid Build Coastguard Worker    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_AZIMUTH = 2; // 0x2
62*344a7f5eSAndroid Build Coastguard Worker    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_ELEVATION = 3; // 0x3
63*344a7f5eSAndroid Build Coastguard Worker    field public static final int MEASUREMENT_FOCUS_NONE = 0; // 0x0
64*344a7f5eSAndroid Build Coastguard Worker    field public static final int MEASUREMENT_FOCUS_RANGE = 1; // 0x1
65*344a7f5eSAndroid Build Coastguard Worker    field public static final int NLOS = 1; // 0x1
66*344a7f5eSAndroid Build Coastguard Worker    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
67*344a7f5eSAndroid Build Coastguard Worker    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
68*344a7f5eSAndroid Build Coastguard Worker    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
69*344a7f5eSAndroid Build Coastguard Worker    field public static final int RSSI_MAX = -1; // 0xffffffff
70*344a7f5eSAndroid Build Coastguard Worker    field public static final int RSSI_MIN = -127; // 0xffffff81
71*344a7f5eSAndroid Build Coastguard Worker    field public static final int RSSI_UNKNOWN = -128; // 0xffffff80
72*344a7f5eSAndroid Build Coastguard Worker  }
73*344a7f5eSAndroid Build Coastguard Worker
74*344a7f5eSAndroid Build Coastguard Worker  public static final class RangingMeasurement.Builder {
75*344a7f5eSAndroid Build Coastguard Worker    ctor public RangingMeasurement.Builder();
76*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement build();
77*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
78*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setDestinationAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
79*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
80*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
81*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setLineOfSight(int);
82*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setMeasurementFocus(int);
83*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setRangingMeasurementMetadata(@NonNull android.os.PersistableBundle);
84*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
85*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setRssiDbm(@IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) int);
86*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
87*344a7f5eSAndroid Build Coastguard Worker  }
88*344a7f5eSAndroid Build Coastguard Worker
89*344a7f5eSAndroid Build Coastguard Worker  public final class RangingReport implements android.os.Parcelable {
90*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
91*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
92*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getRangingReportMetadata();
93*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
94*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
95*344a7f5eSAndroid Build Coastguard Worker  }
96*344a7f5eSAndroid Build Coastguard Worker
97*344a7f5eSAndroid Build Coastguard Worker  public static final class RangingReport.Builder {
98*344a7f5eSAndroid Build Coastguard Worker    ctor public RangingReport.Builder();
99*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
100*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
101*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingReport.Builder addRangingReportMetadata(@NonNull android.os.PersistableBundle);
102*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingReport build();
103*344a7f5eSAndroid Build Coastguard Worker  }
104*344a7f5eSAndroid Build Coastguard Worker
105*344a7f5eSAndroid Build Coastguard Worker  public final class RangingSession implements java.lang.AutoCloseable {
106*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void addControlee(@NonNull android.os.PersistableBundle);
107*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
108*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void pause(@NonNull android.os.PersistableBundle);
109*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int queryMaxDataSizeBytes();
110*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
111*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void removeControlee(@NonNull android.os.PersistableBundle);
112*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void resume(@NonNull android.os.PersistableBundle);
113*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void sendData(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
114*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setDataTransferPhaseConfig(@NonNull android.os.PersistableBundle);
115*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControleeConfiguration(@NonNull android.os.PersistableBundle);
116*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControllerConfiguration(@NonNull android.os.PersistableBundle);
117*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
118*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
119*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updatePose(@NonNull android.os.PersistableBundle);
120*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updateRangingRoundsDtTag(@NonNull android.os.PersistableBundle);
121*344a7f5eSAndroid Build Coastguard Worker  }
122*344a7f5eSAndroid Build Coastguard Worker
123*344a7f5eSAndroid Build Coastguard Worker  public static interface RangingSession.Callback {
124*344a7f5eSAndroid Build Coastguard Worker    method public void onClosed(int, @NonNull android.os.PersistableBundle);
125*344a7f5eSAndroid Build Coastguard Worker    method public default void onControleeAddFailed(int, @NonNull android.os.PersistableBundle);
126*344a7f5eSAndroid Build Coastguard Worker    method public default void onControleeAdded(@NonNull android.os.PersistableBundle);
127*344a7f5eSAndroid Build Coastguard Worker    method public default void onControleeRemoveFailed(int, @NonNull android.os.PersistableBundle);
128*344a7f5eSAndroid Build Coastguard Worker    method public default void onControleeRemoved(@NonNull android.os.PersistableBundle);
129*344a7f5eSAndroid Build Coastguard Worker    method public default void onDataReceiveFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
130*344a7f5eSAndroid Build Coastguard Worker    method public default void onDataReceived(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
131*344a7f5eSAndroid Build Coastguard Worker    method public default void onDataSendFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
132*344a7f5eSAndroid Build Coastguard Worker    method public default void onDataSent(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle);
133*344a7f5eSAndroid Build Coastguard Worker    method public default void onDataTransferPhaseConfigFailed(int, @NonNull android.os.PersistableBundle);
134*344a7f5eSAndroid Build Coastguard Worker    method public default void onDataTransferPhaseConfigured(@NonNull android.os.PersistableBundle);
135*344a7f5eSAndroid Build Coastguard Worker    method public default void onHybridSessionControleeConfigurationFailed(int, @NonNull android.os.PersistableBundle);
136*344a7f5eSAndroid Build Coastguard Worker    method public default void onHybridSessionControleeConfigured(@NonNull android.os.PersistableBundle);
137*344a7f5eSAndroid Build Coastguard Worker    method public default void onHybridSessionControllerConfigurationFailed(int, @NonNull android.os.PersistableBundle);
138*344a7f5eSAndroid Build Coastguard Worker    method public default void onHybridSessionControllerConfigured(@NonNull android.os.PersistableBundle);
139*344a7f5eSAndroid Build Coastguard Worker    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
140*344a7f5eSAndroid Build Coastguard Worker    method public void onOpened(@NonNull android.uwb.RangingSession);
141*344a7f5eSAndroid Build Coastguard Worker    method public default void onPauseFailed(int, @NonNull android.os.PersistableBundle);
142*344a7f5eSAndroid Build Coastguard Worker    method public default void onPaused(@NonNull android.os.PersistableBundle);
143*344a7f5eSAndroid Build Coastguard Worker    method public default void onRangingRoundsUpdateDtTagStatus(@NonNull android.os.PersistableBundle);
144*344a7f5eSAndroid Build Coastguard Worker    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
145*344a7f5eSAndroid Build Coastguard Worker    method public void onReconfigured(@NonNull android.os.PersistableBundle);
146*344a7f5eSAndroid Build Coastguard Worker    method public void onReportReceived(@NonNull android.uwb.RangingReport);
147*344a7f5eSAndroid Build Coastguard Worker    method public default void onResumeFailed(int, @NonNull android.os.PersistableBundle);
148*344a7f5eSAndroid Build Coastguard Worker    method public default void onResumed(@NonNull android.os.PersistableBundle);
149*344a7f5eSAndroid Build Coastguard Worker    method public default void onServiceConnected(@NonNull android.os.PersistableBundle);
150*344a7f5eSAndroid Build Coastguard Worker    method public default void onServiceDiscovered(@NonNull android.os.PersistableBundle);
151*344a7f5eSAndroid Build Coastguard Worker    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
152*344a7f5eSAndroid Build Coastguard Worker    method public void onStarted(@NonNull android.os.PersistableBundle);
153*344a7f5eSAndroid Build Coastguard Worker    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
154*344a7f5eSAndroid Build Coastguard Worker    method public void onStopped(int, @NonNull android.os.PersistableBundle);
155*344a7f5eSAndroid Build Coastguard Worker    field public static final int CONTROLEE_FAILURE_REASON_MAX_CONTROLEE_REACHED = 0; // 0x0
156*344a7f5eSAndroid Build Coastguard Worker    field public static final int DATA_FAILURE_REASON_DATA_SIZE_TOO_LARGE = 10; // 0xa
157*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
158*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
159*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_INBAND_SESSION_STOP = 16; // 0x10
160*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_INSUFFICIENT_SLOTS_PER_RR = 14; // 0xe
161*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
162*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_MAX_RR_RETRY_REACHED = 9; // 0x9
163*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
164*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
165*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
166*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_SERVICE_CONNECTION_FAILURE = 11; // 0xb
167*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_SERVICE_DISCOVERY_FAILURE = 10; // 0xa
168*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_SE_INTERACTION_FAILURE = 13; // 0xd
169*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_SE_NOT_SUPPORTED = 12; // 0xc
170*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
171*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_SYSTEM_REGULATION = 15; // 0xf
172*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_UNKNOWN = 0; // 0x0
173*344a7f5eSAndroid Build Coastguard Worker  }
174*344a7f5eSAndroid Build Coastguard Worker
175*344a7f5eSAndroid Build Coastguard Worker  public final class UwbActivityEnergyInfo implements android.os.Parcelable {
176*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
177*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0) public long getControllerIdleDurationMillis();
178*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0) public long getControllerRxDurationMillis();
179*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0) public long getControllerTxDurationMillis();
180*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0) public long getControllerWakeCount();
181*344a7f5eSAndroid Build Coastguard Worker    method public int getStackState();
182*344a7f5eSAndroid Build Coastguard Worker    method public long getTimeSinceBootMillis();
183*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
184*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbActivityEnergyInfo> CREATOR;
185*344a7f5eSAndroid Build Coastguard Worker  }
186*344a7f5eSAndroid Build Coastguard Worker
187*344a7f5eSAndroid Build Coastguard Worker  public static final class UwbActivityEnergyInfo.Builder {
188*344a7f5eSAndroid Build Coastguard Worker    ctor public UwbActivityEnergyInfo.Builder();
189*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbActivityEnergyInfo build();
190*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerIdleDurationMillis(@IntRange(from=0) long);
191*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerRxDurationMillis(@IntRange(from=0) long);
192*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerTxDurationMillis(@IntRange(from=0) long);
193*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerWakeCount(@IntRange(from=0) long);
194*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setStackState(int);
195*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setTimeSinceBootMillis(long);
196*344a7f5eSAndroid Build Coastguard Worker  }
197*344a7f5eSAndroid Build Coastguard Worker
198*344a7f5eSAndroid Build Coastguard Worker  public final class UwbAddress implements android.os.Parcelable {
199*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
200*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
201*344a7f5eSAndroid Build Coastguard Worker    method public int size();
202*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public byte[] toBytes();
203*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
204*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
205*344a7f5eSAndroid Build Coastguard Worker    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
206*344a7f5eSAndroid Build Coastguard Worker    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
207*344a7f5eSAndroid Build Coastguard Worker  }
208*344a7f5eSAndroid Build Coastguard Worker
209*344a7f5eSAndroid Build Coastguard Worker  public final class UwbManager {
210*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle addServiceProfile(@NonNull android.os.PersistableBundle);
211*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
212*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(@NonNull String);
213*344a7f5eSAndroid Build Coastguard Worker    method public int getAdapterState();
214*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfCertificateInfo(@NonNull android.os.PersistableBundle);
215*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfProvisioningAuthorities(@NonNull android.os.PersistableBundle);
216*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAllServiceProfiles();
217*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.List<android.os.PersistableBundle> getChipInfos();
218*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public String getDefaultChipId();
219*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
220*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(@NonNull String);
221*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void getUwbActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.uwb.UwbActivityEnergyInfo>);
222*344a7f5eSAndroid Build Coastguard Worker    method public boolean isUwbEnabled();
223*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwEnableRequested();
224*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwIdleTurnOffEnabled();
225*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);
226*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, @NonNull String);
227*344a7f5eSAndroid Build Coastguard Worker    method public void provisionProfileAdfByScript(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdfProvisionStateCallback);
228*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long queryUwbsTimestampMicros();
229*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
230*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbOemExtensionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
231*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbVendorUciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbVendorUciCallback);
232*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeProfileAdf(@NonNull android.os.PersistableBundle);
233*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeServiceProfile(@NonNull android.os.PersistableBundle);
234*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void requestUwbHwEnabled(boolean);
235*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
236*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(int, @IntRange(from=0, to=15) int, int, @NonNull byte[]);
237*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setUwbEnabled(boolean);
238*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
239*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterUwbOemExtensionCallback(@NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
240*344a7f5eSAndroid Build Coastguard Worker    method public void unregisterUwbVendorUciCallback(@NonNull android.uwb.UwbManager.UwbVendorUciCallback);
241*344a7f5eSAndroid Build Coastguard Worker    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
242*344a7f5eSAndroid Build Coastguard Worker    field public static final int MESSAGE_TYPE_TEST_1 = 4; // 0x4
243*344a7f5eSAndroid Build Coastguard Worker    field public static final int MESSAGE_TYPE_TEST_2 = 5; // 0x5
244*344a7f5eSAndroid Build Coastguard Worker    field public static final int REMOVE_PROFILE_ADF_ERROR_INTERNAL = 2; // 0x2
245*344a7f5eSAndroid Build Coastguard Worker    field public static final int REMOVE_PROFILE_ADF_ERROR_UNKNOWN_SERVICE = 1; // 0x1
246*344a7f5eSAndroid Build Coastguard Worker    field public static final int REMOVE_PROFILE_ADF_SUCCESS = 0; // 0x0
247*344a7f5eSAndroid Build Coastguard Worker    field public static final int REMOVE_SERVICE_PROFILE_ERROR_INTERNAL = 2; // 0x2
248*344a7f5eSAndroid Build Coastguard Worker    field public static final int REMOVE_SERVICE_PROFILE_ERROR_UNKNOWN_SERVICE = 1; // 0x1
249*344a7f5eSAndroid Build Coastguard Worker    field public static final int REMOVE_SERVICE_PROFILE_SUCCESS = 0; // 0x0
250*344a7f5eSAndroid Build Coastguard Worker    field public static final int SEND_VENDOR_UCI_ERROR_HW = 1; // 0x1
251*344a7f5eSAndroid Build Coastguard Worker    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_ARGS = 3; // 0x3
252*344a7f5eSAndroid Build Coastguard Worker    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_GID = 4; // 0x4
253*344a7f5eSAndroid Build Coastguard Worker    field public static final int SEND_VENDOR_UCI_ERROR_OFF = 2; // 0x2
254*344a7f5eSAndroid Build Coastguard Worker    field public static final int SEND_VENDOR_UCI_SUCCESS = 0; // 0x0
255*344a7f5eSAndroid Build Coastguard Worker  }
256*344a7f5eSAndroid Build Coastguard Worker
257*344a7f5eSAndroid Build Coastguard Worker  public static interface UwbManager.AdapterStateCallback {
258*344a7f5eSAndroid Build Coastguard Worker    method public void onStateChanged(int, int);
259*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
260*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
261*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
262*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
263*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
264*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_CHANGED_REASON_SYSTEM_REGULATION = 5; // 0x5
265*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_DISABLED = 0; // 0x0
266*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
267*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_ENABLED_HW_IDLE = 3; // 0x3
268*344a7f5eSAndroid Build Coastguard Worker    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
269*344a7f5eSAndroid Build Coastguard Worker  }
270*344a7f5eSAndroid Build Coastguard Worker
271*344a7f5eSAndroid Build Coastguard Worker  public abstract static class UwbManager.AdfProvisionStateCallback {
272*344a7f5eSAndroid Build Coastguard Worker    ctor public UwbManager.AdfProvisionStateCallback();
273*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onProfileAdfsProvisionFailed(int, @NonNull android.os.PersistableBundle);
274*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onProfileAdfsProvisioned(@NonNull android.os.PersistableBundle);
275*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_INVALID_OID = 1; // 0x1
276*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_SE_FAILURE = 2; // 0x2
277*344a7f5eSAndroid Build Coastguard Worker    field public static final int REASON_UNKNOWN = 3; // 0x3
278*344a7f5eSAndroid Build Coastguard Worker  }
279*344a7f5eSAndroid Build Coastguard Worker
280*344a7f5eSAndroid Build Coastguard Worker  public static interface UwbManager.UwbOemExtensionCallback {
281*344a7f5eSAndroid Build Coastguard Worker    method public boolean onCheckPointedTarget(@NonNull android.os.PersistableBundle);
282*344a7f5eSAndroid Build Coastguard Worker    method public void onDeviceStatusNotificationReceived(@NonNull android.os.PersistableBundle);
283*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.uwb.RangingReport onRangingReportReceived(@NonNull android.uwb.RangingReport);
284*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public int onSessionConfigurationComplete(@NonNull android.os.PersistableBundle);
285*344a7f5eSAndroid Build Coastguard Worker    method public void onSessionStatusNotificationReceived(@NonNull android.os.PersistableBundle);
286*344a7f5eSAndroid Build Coastguard Worker  }
287*344a7f5eSAndroid Build Coastguard Worker
288*344a7f5eSAndroid Build Coastguard Worker  public static interface UwbManager.UwbVendorUciCallback {
289*344a7f5eSAndroid Build Coastguard Worker    method public void onVendorUciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
290*344a7f5eSAndroid Build Coastguard Worker    method public void onVendorUciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
291*344a7f5eSAndroid Build Coastguard Worker  }
292*344a7f5eSAndroid Build Coastguard Worker
293*344a7f5eSAndroid Build Coastguard Worker}
294*344a7f5eSAndroid Build Coastguard Worker
295