• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright 2018 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18package android.bluetooth;
19
20option java_outer_classname = "BluetoothProtoEnums";
21option java_multiple_files = true;
22
23// Bluetooth connection states.
24enum ConnectionStateEnum {
25  CONNECTION_STATE_DISCONNECTED = 0;
26  CONNECTION_STATE_CONNECTING = 1;
27  CONNECTION_STATE_CONNECTED = 2;
28  CONNECTION_STATE_DISCONNECTING = 3;
29}
30
31// Bluetooth Adapter Enable and Disable Reasons
32enum EnableDisableReasonEnum {
33  ENABLE_DISABLE_REASON_UNSPECIFIED = 0;
34  ENABLE_DISABLE_REASON_APPLICATION_REQUEST = 1;
35  ENABLE_DISABLE_REASON_AIRPLANE_MODE = 2;
36  ENABLE_DISABLE_REASON_DISALLOWED = 3;
37  ENABLE_DISABLE_REASON_RESTARTED = 4;
38  ENABLE_DISABLE_REASON_START_ERROR = 5;
39  ENABLE_DISABLE_REASON_SYSTEM_BOOT = 6;
40  ENABLE_DISABLE_REASON_CRASH = 7;
41  ENABLE_DISABLE_REASON_USER_SWITCH = 8;
42  ENABLE_DISABLE_REASON_RESTORE_USER_SETTING = 9;
43  ENABLE_DISABLE_REASON_FACTORY_RESET = 10;
44  ENABLE_DISABLE_REASON_INIT_FLAGS_CHANGED = 11;
45  ENABLE_DISABLE_REASON_SATELLITE_MODE = 12;
46}
47
48enum DirectionEnum {
49  DIRECTION_UNKNOWN = 0;
50  DIRECTION_OUTGOING = 1;
51  DIRECTION_INCOMING = 2;
52}
53
54// First item is the default value, other values follow Bluetooth spec definition
55enum LinkTypeEnum {
56  // Link type is at most 1 byte (0xFF), thus 0xFFF must not be a valid value
57  LINK_TYPE_UNKNOWN = 0xFFF;
58  LINK_TYPE_SCO = 0x00;
59  LINK_TYPE_ACL = 0x01;
60  LINK_TYPE_ESCO = 0x02;
61}
62
63enum DeviceInfoSrcEnum {
64  DEVICE_INFO_SRC_UNKNOWN = 0;
65  // Within Android Bluetooth stack
66  DEVICE_INFO_INTERNAL = 1;
67  // Outside Android Bluetooth stack
68  DEVICE_INFO_EXTERNAL = 2;
69}
70
71enum DeviceTypeEnum {
72  DEVICE_TYPE_UNKNOWN = 0;
73  DEVICE_TYPE_CLASSIC = 1;
74  DEVICE_TYPE_LE = 2;
75  DEVICE_TYPE_DUAL = 3;
76}
77
78// Defined in frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
79enum TransportTypeEnum {
80  TRANSPORT_TYPE_AUTO = 0;
81  TRANSPORT_TYPE_BREDR = 1;
82  TRANSPORT_TYPE_LE = 2;
83}
84
85// Bond state enum
86// Defined in frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
87enum BondStateEnum {
88  BOND_STATE_UNKNOWN = 0;
89  BOND_STATE_NONE = 10;
90  BOND_STATE_BONDING = 11;
91  BOND_STATE_BONDED = 12;
92}
93
94// Sub states within the bonding general state
95enum BondSubStateEnum {
96  BOND_SUB_STATE_UNKNOWN = 0;
97  BOND_SUB_STATE_LOCAL_OOB_DATA_PROVIDED = 1;
98  BOND_SUB_STATE_LOCAL_PIN_REQUESTED = 2;
99  BOND_SUB_STATE_LOCAL_PIN_REPLIED = 3;
100  BOND_SUB_STATE_LOCAL_SSP_REQUESTED = 4;
101  BOND_SUB_STATE_LOCAL_SSP_REPLIED = 5;
102  BOND_SUB_STATE_LOCAL_BOND_STATE_INTENT_SENT = 6;
103  BOND_SUB_STATE_LOCAL_START_PAIRING = 7;
104  BOND_SUB_STATE_LOCAL_START_PAIRING_OOB = 8;
105}
106
107enum UnbondReasonEnum {
108  UNBOND_REASON_UNKNOWN = 0;
109  UNBOND_REASON_AUTH_FAILED = 1;
110  UNBOND_REASON_AUTH_REJECTED = 2;
111  UNBOND_REASON_AUTH_CANCELED = 3;
112  UNBOND_REASON_REMOTE_DEVICE_DOWN = 4;
113  UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5;
114  UNBOND_REASON_AUTH_TIMEOUT = 6;
115  UNBOND_REASON_REPEATED_ATTEMPTS = 7;
116  UNBOND_REASON_REMOTE_AUTH_CANCELED = 8;
117  UNBOND_REASON_REMOVED = 9;
118}
119
120enum SocketTypeEnum {
121  SOCKET_TYPE_UNKNOWN = 0;
122  SOCKET_TYPE_RFCOMM = 1;
123  SOCKET_TYPE_SCO = 2;
124  SOCKET_TYPE_L2CAP_BREDR = 3;
125  SOCKET_TYPE_L2CAP_LE = 4;
126}
127
128enum SocketConnectionstateEnum {
129  SOCKET_CONNECTION_STATE_UNKNOWN = 0;
130  // Socket acts as a server waiting for connection
131  SOCKET_CONNECTION_STATE_LISTENING = 1;
132  // Socket acts as a client trying to connect
133  SOCKET_CONNECTION_STATE_CONNECTING = 2;
134  // Socket is connected
135  SOCKET_CONNECTION_STATE_CONNECTED = 3;
136  // Socket tries to disconnect from remote
137  SOCKET_CONNECTION_STATE_DISCONNECTING = 4;
138  // This socket is closed
139  SOCKET_CONNECTION_STATE_DISCONNECTED = 5;
140}
141
142enum SocketRoleEnum {
143  SOCKET_ROLE_UNKNOWN = 0;
144  SOCKET_ROLE_LISTEN = 1;
145  SOCKET_ROLE_CONNECTION = 2;
146}
147
148enum SocketErrorEnum {
149  SOCKET_ERROR_UNKNOWN = 0;
150  SOCKET_ERROR_NONE = 1;
151  SOCKET_ERROR_SERVER_START_FAILURE = 2;
152  SOCKET_ERROR_CLIENT_INIT_FAILURE = 3;
153  SOCKET_ERROR_LISTEN_FAILURE = 4;
154  SOCKET_ERROR_CONNECTION_FAILURE = 5;
155  SOCKET_ERROR_OPEN_FAILURE = 6;
156  SOCKET_ERROR_OFFLOAD_SERVER_NOT_ACCEPTING = 7;
157  SOCKET_ERROR_OFFLOAD_HAL_OPEN_FAILURE = 8;
158  SOCKET_ERROR_SEND_TO_APP_FAILURE = 9;
159  SOCKET_ERROR_RECEIVE_DATA_FAILURE = 10;
160  SOCKET_ERROR_READ_SIGNALED_FAILURE = 11;
161  SOCKET_ERROR_WRITE_SIGNALED_FAILURE = 12;
162  // Server Channel Number (SCN) in RFCOMM is a dynamically assigned port-like identifier that
163  // allows clients to connect to a specific service on a Bluetooth device via the Service
164  // Discovery Protocol (SDP).
165  // This error occurs when the system fails to transmit the SCN to the application.
166  SOCKET_ERROR_SEND_SCN_FAILURE = 13;
167  // This error occurs when the system fails to allocate an SCN.
168  SOCKET_ERROR_SCN_ALLOCATION_FAILURE = 14;
169  // Service Discovery Protocol (SDP) is used to discover available services on remote devices and
170  // retrieve essential information, such as the Server Channel Number (SCN) for RFCOMM-based
171  // connections.
172  // This error occurs when the system fails to add an SDP record to the SDP database.
173  SOCKET_ERROR_ADD_SDP_FAILURE = 15;
174  // This error occurs when the SDP service discovery process fails to complete.
175  SOCKET_ERROR_SDP_DISCOVERY_FAILURE = 16;
176}
177
178enum L2capCocConnectionResult {
179  RESULT_L2CAP_CONN_UNKNOWN = 0;
180  RESULT_L2CAP_CONN_SUCCESS = 1;
181  RESULT_L2CAP_CONN_ACL_FAILURE = 2;
182  RESULT_L2CAP_CONN_CL_SEC_FAILURE = 3;
183  RESULT_L2CAP_CONN_INSUFFICIENT_AUTHENTICATION = 4;
184  RESULT_L2CAP_CONN_INSUFFICIENT_AUTHORIZATION = 5;
185  RESULT_L2CAP_CONN_INSUFFICIENT_ENCRYP_KEY_SIZE = 6;
186  RESULT_L2CAP_CONN_INSUFFICIENT_ENCRYP = 7;
187  RESULT_L2CAP_CONN_INVALID_SOURCE_CID = 8;
188  RESULT_L2CAP_CONN_SOURCE_CID_ALREADY_ALLOCATED = 9;
189  RESULT_L2CAP_CONN_UNACCEPTABLE_PARAMETERS = 10;
190  RESULT_L2CAP_CONN_INVALID_PARAMETERS = 11;
191  RESULT_L2CAP_CONN_NO_RESOURCES = 12;
192  RESULT_L2CAP_CONN_NO_PSM = 13;
193  RESULT_L2CAP_CONN_TIMEOUT = 14;
194  RESULT_L2CAP_CONN_BLUETOOTH_OFF = 15;
195
196  // Modify the curresponding value of BluetoothSocket.java
197  RESULT_L2CAP_CONN_BLUETOOTH_SOCKET_CONNECTION_FAILED = 1000;
198  RESULT_L2CAP_CONN_BLUETOOTH_SOCKET_CONNECTION_CLOSED = 1001;
199  RESULT_L2CAP_CONN_BLUETOOTH_UNABLE_TO_SEND_RPC = 1002;
200  RESULT_L2CAP_CONN_BLUETOOTH_NULL_BLUETOOTH_DEVICE = 1003;
201  RESULT_L2CAP_CONN_BLUETOOTH_GET_SOCKET_MANAGER_FAILED = 1004;
202  RESULT_L2CAP_CONN_BLUETOOTH_NULL_FILE_DESCRIPTOR = 1005;
203
204  // Modify the curresponding value of BluetoothServerSocket.java
205  RESULT_L2CAP_CONN_SERVER_FAILURE= 2000;
206}
207
208enum CodePathCounterKeyEnum {
209  COUNTER_KEY_UNKNOWN = 0;
210  // Reserve smaller counters for very important bt features
211
212  // [100,000 - 120,000) profile connection related
213
214    // [100,000 - 100,100) L2CAP
215    L2CAP_SUCCESS = 100000;
216    L2CAP_CONNECT_CONFIRM_NEG= 100001;
217    L2CAP_NO_COMPATIBLE_CHANNEL_AT_CSM_CLOSED = 100002;
218    L2CAP_SECURITY_NEG_AT_CSM_CLOSED= 100003;
219    L2CAP_TIMEOUT_AT_CSM_CLOSED = 100004;
220    L2CAP_CREDIT_BASED_CONNECT_RSP_NEG = 100005;
221    L2CAP_CONNECT_RSP_NEG = 100006;
222    L2CAP_INFO_NO_COMPATIBLE_CHANNEL_AT_RSP = 100007;
223    L2CAP_CONFIG_REQ_FAILURE = 100008;
224    L2CAP_CONFIG_RSP_NEG = 100009;
225    L2CAP_NO_COMPATIBLE_CHANNEL_AT_W4_SEC = 100010;
226    L2CAP_SECURITY_NEG_AT_W4_SEC= 100011;
227    L2CAP_TIMEOUT_AT_CONNECT_RSP = 100012;
228    L2CAP_CONN_OTHER_ERROR_AT_CONNECT_RSP = 100013;
229
230    // [100,100 - 100,200) SDP
231    SDP_SUCCESS = 100100;
232    SDP_FAILURE = 100101;
233    SDP_SENDING_DELAYED_UUID = 100102;
234    SDP_NOT_SENDING_DELAYED_UUID = 100103;
235    SDP_SENT_UUID = 100104;
236    SDP_UUIDS_EQUAL_SKIP = 100105;
237    SDP_ADD_UUID_WITH_INTENT = 100106;
238    SDP_ADD_UUID_WITH_NO_INTENT = 100107;
239    SDP_DROP_UUID = 100108;
240    SDP_FETCH_UUID_SKIP_ALREADY_CACHED = 100109;
241    SDP_FETCH_UUID_SKIP_ALREADY_BONDED = 100110;
242    SDP_INVOKE_SDP_CYCLE = 100111;
243    SDP_FETCH_UUID_REQUEST = 100112;
244
245
246    // [101,000 - 102,000) HFP
247
248      // [101,000 - 101,100) RFCOMM
249      RFCOMM_CONNECTION_SUCCESS_IND = 101000;
250      RFCOMM_CONNECTION_SUCCESS_CNF = 101001;
251      RFCOMM_PORT_START_CNF_FAILED = 101002;
252      RFCOMM_PORT_START_CLOSE = 101003;
253      RFCOMM_PORT_START_FAILED = 101004;
254      RFCOMM_PORT_NEG_FAILED = 101005;
255      RFCOMM_PORT_CLOSED = 101006;
256      RFCOMM_PORT_PEER_CONNECTION_FAILED = 101007;
257      RFCOMM_PORT_PEER_TIMEOUT = 101008;
258
259      // [101,100 - 101,200) HFP (btif)
260      HFP_COLLISON_AT_AG_OPEN = 101101;
261      HFP_COLLISON_AT_CONNECTING = 101102;
262      HFP_SELF_INITIATED_AG_FAILED = 101103;
263      HFP_SLC_SETUP_FAILED = 101104;
264
265    // [102,000 - 103,000) A2DP
266    A2DP_CONNECTION_SUCCESS = 102000;
267    A2DP_CONNECTION_ACL_DISCONNECTED = 102001;
268    A2DP_CONNECTION_REJECT_EVT = 102002;
269    A2DP_CONNECTION_FAILURE = 102003;
270    A2DP_CONNECTION_UNKNOWN_EVENT = 102004;
271    A2DP_ALREADY_CONNECTING = 102005;
272    A2DP_OFFLOAD_START_REQ_FAILURE = 102006;
273    A2DP_CONNECTION_CLOSE = 102007;
274    A2DP_CONNECTION_DISCONNECTED = 102008;
275    A2DP_CONNECTION_TIMEOUT = 102009;
276
277    // [103,000 - 103,100) HIDD
278    HID_PLUG_FAILURE = 103001;
279    HIDD_REGISTER_DESCRIPTOR_MALFORMED = 103002;
280
281    HIDD_ERR_NOT_REGISTERED_AT_INITIATE = 103003;
282    HIDD_ERR_NO_RESOURCES = 103004;
283    HIDD_ERR_NO_CONNECTION_AT_SEND_DATA = 103005;
284    HIDD_ERR_NO_CONNECTION_AT_DISCONNECT = 103006;
285    HIDD_ERR_INVALID_PARAM = 103007;
286    HIDD_ERR_CONGESTED_AT_DATA_WRITE = 103008;
287    HIDD_ERR_CONGESTED_AT_FLAG_CHECK = 103009;
288    HIDD_ERR_CONN_IN_PROCESS = 103010;
289    HIDD_ERR_ALREADY_CONN = 103011;
290    HIDD_ERR_DISCONNECTING = 103012;
291    HIDD_ERR_L2CAP_NOT_STARTED_INCOMING = 103013;
292    HIDD_ERR_L2CAP_FAILED_INITIATE = 103014;
293    HIDD_ERR_L2CAP_FAILED_CONTROL = 103015;
294    HIDD_ERR_L2CAP_FAILED_INTERRUPT = 103016;
295    HIDD_ERR_HOST_CALLBACK_NULL = 103017;
296    HIDD_ERR_INVALID_PARAM_SEND_REPORT = 103018;
297    HIDD_ERR_DEVICE_NOT_IN_USE_AT_CONNECT = 103019;
298    HIDD_ERR_DEVICE_NOT_IN_USE_AT_DISCONNECT = 103020;
299    HIDD_ERR_NOT_REGISTERED_AT_CONNECT = 103021;
300    HIDD_ERR_NOT_REGISTERED_AT_DISCONNECT = 103022;
301    HIDD_ERR_NOT_REGISTERED_AT_GET_DEVICE = 103023;
302    HIDD_ERR_NOT_REGISTERED_AT_DEREGISTER = 103024;
303    HIDD_ERR_NOT_REGISTERED_DUE_TO_DESCRIPTOR_LENGTH = 103025;
304    HIDD_ERR_NOT_REGISTERED_DUE_TO_BUFFER_ALLOCATION = 103026;
305    HIDD_ERR_NOT_REGISTERED_AT_SDP = 103027;
306    HIDD_ERR_ALREADY_REGISTERED = 103028;
307
308    // [103,100 - 103,200) HIDH
309    HIDH_ERR_ALREADY_REGISTERED = 103101;
310    HIDH_ERR_NO_RESOURCES_SDP = 103102;
311    HIDH_ERR_NO_RESOURCES_ADD_DEVICE = 103103;
312    HIDH_ERR_NO_CONNECTION_AT_SEND_DATA = 103104;
313    HIDH_ERR_NO_CONNECTION_AT_HOST_WRITE_DEV = 103105;
314    HIDH_ERR_NO_CONNECTION_AT_HOST_CLOSE_DEV = 103106;
315
316    HIDH_ERR_INVALID_PARAM_AT_SEND_DATA = 103107;
317    HIDH_ERR_INVALID_PARAM_AT_HOST_REGISTER = 103108;
318    HIDH_ERR_INVALID_PARAM_AT_HOST_REMOVE_DEV = 103109;
319    HIDH_ERR_INVALID_PARAM_AT_HOST_OPEN_DEV = 103110;
320    HIDH_ERR_INVALID_PARAM_AT_HOST_CLOSE_DEV = 103111;
321    HIDH_ERR_INVALID_PARAM_AT_HOST_WRITE_DEV = 103112;
322
323    HIDH_ERR_CONGESTED_AT_SEND_DATA = 103113;
324    HIDH_ERR_CONGESTED_AT_FLAG_CHECK = 103114;
325    HIDH_ERR_CONN_IN_PROCESS = 103115;
326    HIDH_ERR_ALREADY_CONN = 103116;
327
328    HIDH_ERR_L2CAP_FAILED_AT_INITIATE = 103117;
329    HIDH_ERR_L2CAP_FAILED_AT_REGISTER_CONTROL = 103118;
330    HIDH_ERR_L2CAP_FAILED_AT_REGISTER_INTERRUPT = 103119;
331
332    HIDH_ERR_AUTH_FAILED = 103120;
333    HIDH_ERR_SDP_BUSY = 103121;
334
335    //Native and Java
336    HIDH_COUNT_MAX_ADDED_DEVICE_LIMIT_REACHED = 103122;
337    HIDH_COUNT_VIRTUAL_UNPLUG_REQUESTED_BY_REMOTE_DEVICE = 103123;
338    HIDH_COUNT_CONNECT_REQ_WHEN_MAX_DEVICE_LIMIT_REACHED = 103124;
339    HIDH_COUNT_WRONG_REPORT_TYPE = 103125;
340    HIDH_COUNT_INCOMING_CONNECTION_REJECTED = 103126;
341    HIDH_COUNT_CONNECTION_POLICY_DISABLED = 103127;
342    HIDH_COUNT_SUPPORT_BOTH_HID_AND_HOGP = 103128;
343    HIDH_COUNT_SUPPORT_ONLY_HID_OR_HOGP = 103129;
344
345
346  // [120,000 - 120,500) LE scan related
347    // [120,000 - 120,100) LE scan enable/disable count
348    LE_SCAN_COUNT_TOTAL_ENABLE = 120000;
349    LE_SCAN_COUNT_TOTAL_DISABLE = 120001;
350    LE_SCAN_COUNT_FILTERED_ENABLE = 120002;
351    LE_SCAN_COUNT_FILTERED_DISABLE = 120003;
352    LE_SCAN_COUNT_UNFILTERED_ENABLE = 120004;
353    LE_SCAN_COUNT_UNFILTERED_DISABLE = 120005;
354    LE_SCAN_COUNT_BATCH_ENABLE = 120006;
355    LE_SCAN_COUNT_BATCH_DISABLE = 120007;
356    LE_SCAN_COUNT_AUTO_BATCH_ENABLE = 120008;
357    LE_SCAN_COUNT_AUTO_BATCH_DISABLE =  120009;
358
359    // [120,100 - 120,200) LE scan duration bucket count
360    LE_SCAN_DURATION_COUNT_REGULAR_10S = 120100;
361    LE_SCAN_DURATION_COUNT_REGULAR_1M = 120101;
362    LE_SCAN_DURATION_COUNT_REGULAR_10M = 120102;
363    LE_SCAN_DURATION_COUNT_REGULAR_1H =120103;
364    LE_SCAN_DURATION_COUNT_REGULAR_1HP =120104;
365    LE_SCAN_DURATION_COUNT_BATCH_10S = 120105;
366    LE_SCAN_DURATION_COUNT_BATCH_1M = 120106;
367    LE_SCAN_DURATION_COUNT_BATCH_10M = 120107;
368    LE_SCAN_DURATION_COUNT_BATCH_1H = 120108;
369    LE_SCAN_DURATION_COUNT_BATCH_1HP = 120109;
370
371    // [120,200 - 120,250) LE scan radio active duration
372    LE_SCAN_RADIO_DURATION_ALL = 120200;
373    LE_SCAN_RADIO_DURATION_REGULAR = 120201;
374    LE_SCAN_RADIO_DURATION_BATCH = 120202;
375    LE_SCAN_RADIO_DURATION_REGULAR_SCREEN_ON = 120203;
376    LE_SCAN_RADIO_DURATION_REGULAR_SCREEN_OFF = 120204;
377    LE_SCAN_RADIO_DURATION_BATCH_SCREEN_ON = 120205;
378    LE_SCAN_RADIO_DURATION_BATCH_SCREEN_OFF = 120206;
379
380    // [120,250 - 120,300) LE scan radio scan mode count
381    LE_SCAN_RADIO_SCAN_MODE_OPPORTUNISTIC_COUNT = 120250;
382    LE_SCAN_RADIO_SCAN_MODE_LOW_POWER_COUNT = 120251;
383    LE_SCAN_RADIO_SCAN_MODE_BALANCED_COUNT = 120252;
384    LE_SCAN_RADIO_SCAN_MODE_LOW_LATENCY_COUNT = 120253;
385    LE_SCAN_RADIO_SCAN_MODE_AMBIENT_DISCOVERY_COUNT = 120254;
386    LE_SCAN_RADIO_SCAN_MODE_SCREEN_OFF_COUNT = 120255;
387    LE_SCAN_RADIO_SCAN_MODE_SCREEN_OFF_BALANCED_COUNT = 120256;
388    LE_SCAN_RADIO_SCAN_MODE_OPPORTUNISTIC_COUNT_SCREEN_OFF = 120257;
389    LE_SCAN_RADIO_SCAN_MODE_LOW_POWER_COUNT_SCREEN_OFF = 120258;
390    LE_SCAN_RADIO_SCAN_MODE_BALANCED_COUNT_SCREEN_OFF = 120259;
391    LE_SCAN_RADIO_SCAN_MODE_LOW_LATENCY_COUNT_SCREEN_OFF = 120260;
392    LE_SCAN_RADIO_SCAN_MODE_AMBIENT_DISCOVERY_COUNT_SCREEN_OFF = 120261;
393    LE_SCAN_RADIO_SCAN_MODE_SCREEN_OFF_COUNT_SCREEN_OFF = 120262;
394    LE_SCAN_RADIO_SCAN_MODE_SCREEN_OFF_BALANCED_COUNT_SCREEN_OFF = 120263;
395
396    // [120,300 - 120,400) LE scan results count
397    LE_SCAN_RESULTS_COUNT_ALL = 120300;
398    LE_SCAN_RESULTS_COUNT_REGULAR = 120301;
399    LE_SCAN_RESULTS_COUNT_BATCH = 120302;
400    LE_SCAN_RESULTS_COUNT_REGULAR_SCREEN_ON = 120303;
401    LE_SCAN_RESULTS_COUNT_REGULAR_SCREEN_OFF =  120304;
402    LE_SCAN_RESULTS_COUNT_BATCH_SCREEN_ON = 120305;
403    LE_SCAN_RESULTS_COUNT_BATCH_SCREEN_OFF = 120306;
404    LE_SCAN_RESULTS_COUNT_BATCH_BUNDLE = 120307;
405    LE_SCAN_RESULTS_COUNT_BATCH_BUNDLE_SCREEN_ON = 120308;
406    LE_SCAN_RESULTS_COUNT_BATCH_BUNDLE_SCREEN_OFF = 120309;
407
408    // [120,400 - 120,500) LE scan abuse count
409    LE_SCAN_ABUSE_COUNT_SCAN_TIMEOUT = 120400;
410    LE_SCAN_ABUSE_COUNT_HW_FILTER_NOT_AVAILABLE = 120401;
411    LE_SCAN_ABUSE_COUNT_TRACKING_HW_FILTER_NOT_AVAILABLE = 120402;
412
413  // [120,500 - 121,000) LE advertise related
414    // [120,500 - 120,600) LE advertise enable/disable count
415    LE_ADV_COUNT_ENABLE = 120500;
416    LE_ADV_COUNT_DISABLE = 120501;
417    LE_ADV_COUNT_CONNECTABLE_ENABLE = 120502;
418    LE_ADV_COUNT_CONNECTABLE_DISABLE = 120503;
419    LE_ADV_COUNT_PERIODIC_ENABLE = 120504;
420    LE_ADV_COUNT_PERIODIC_DISABLE = 120505;
421
422    // [120,600 - 120,700) LE advertise instance bucket count
423    LE_ADV_INSTANCE_COUNT_5 = 120600;
424    LE_ADV_INSTANCE_COUNT_10 = 120601;
425    LE_ADV_INSTANCE_COUNT_15 = 120602;
426    LE_ADV_INSTANCE_COUNT_15P = 120603;
427
428    // [120,700 - 120,800) LE advertise duration bucket count
429    LE_ADV_DURATION_COUNT_TOTAL_1M = 120700;
430    LE_ADV_DURATION_COUNT_TOTAL_30M = 120701;
431    LE_ADV_DURATION_COUNT_TOTAL_1H = 120702;
432    LE_ADV_DURATION_COUNT_TOTAL_3H = 120703;
433    LE_ADV_DURATION_COUNT_TOTAL_3HP = 120704;
434    LE_ADV_DURATION_COUNT_CONNECTABLE_1M = 120705;
435    LE_ADV_DURATION_COUNT_CONNECTABLE_30M = 120706;
436    LE_ADV_DURATION_COUNT_CONNECTABLE_1H = 120707;
437    LE_ADV_DURATION_COUNT_CONNECTABLE_3H = 120708;
438    LE_ADV_DURATION_COUNT_CONNECTABLE_3HP = 120709;
439    LE_ADV_DURATION_COUNT_PERIODIC_1M = 120710;
440    LE_ADV_DURATION_COUNT_PERIODIC_30M = 120711;
441    LE_ADV_DURATION_COUNT_PERIODIC_1H = 120712;
442    LE_ADV_DURATION_COUNT_PERIODIC_3H = 120713;
443    LE_ADV_DURATION_COUNT_PERIODIC_3HP = 120714;
444
445    // [120,800 - 120,900) LE advertise error count
446    LE_ADV_ERROR_ON_START_COUNT = 120800;
447
448    // [120,900 - 121,000) GATT Related Count
449    GATT_CLIENT_CONNECT_IS_DIRECT = 120900;
450    GATT_CLIENT_CONNECT_IS_AUTOCONNECT = 120901;
451    GATT_CLIENT_CONNECT_IS_DIRECT_IN_FOREGROUND = 120902;
452    GATT_CLIENT_CONNECT_IS_DIRECT_NOT_IN_FOREGROUND = 120903;
453    GATT_CLIENT_CONNECT_IS_AUTOCONNECT_IN_FOREGROUND = 120904;
454    GATT_CLIENT_CONNECT_IS_AUTOCONNECT_NOT_IN_FOREGROUND = 120905;
455    GATT_SERVER_CONNECT_IS_DIRECT_IN_FOREGROUND = 120906;
456    GATT_SERVER_CONNECT_IS_DIRECT_NOT_IN_FOREGROUND = 120907;
457    GATT_SERVER_CONNECT_IS_AUTOCONNECT_IN_FOREGROUND = 120908;
458    GATT_SERVER_CONNECT_IS_AUTOCONNECT_NOT_IN_FOREGROUND = 120909;
459
460  // [121,000 - 121,100) System state related
461    // [121,000 - 121,010) Screen on/off count
462    SCREEN_ON_EVENT = 121000;
463    SCREEN_OFF_EVENT = 121001;
464
465  // [121,100 - 122,000) Le Audio related
466    // [121,100 - 121,200) device/group health status count
467    LE_AUDIO_ALLOWLIST_DEVICE_HEALTH_STATUS_GOOD = 121100;
468    LE_AUDIO_ALLOWLIST_DEVICE_HEALTH_STATUS_BAD = 121101;
469    LE_AUDIO_ALLOWLIST_DEVICE_HEALTH_STATUS_BAD_INVALID_DB = 121102;
470    LE_AUDIO_ALLOWLIST_DEVICE_HEALTH_STATUS_BAD_INVALID_CSIS = 121103;
471    LE_AUDIO_NONALLOWLIST_DEVICE_HEALTH_STATUS_GOOD = 121104;
472    LE_AUDIO_NONALLOWLIST_DEVICE_HEALTH_STATUS_BAD = 121105;
473    LE_AUDIO_NONALLOWLIST_DEVICE_HEALTH_STATUS_BAD_INVALID_DB = 121106;
474    LE_AUDIO_NONALLOWLIST_DEVICE_HEALTH_STATUS_BAD_INVALID_CSIS = 121107;
475    LE_AUDIO_ALLOWLIST_GROUP_HEALTH_STATUS_GOOD = 121108;
476    LE_AUDIO_ALLOWLIST_GROUP_HEALTH_STATUS_TRENDING_BAD = 121109;
477    LE_AUDIO_ALLOWLIST_GROUP_HEALTH_STATUS_BAD = 121110;
478    LE_AUDIO_ALLOWLIST_GROUP_HEALTH_STATUS_BAD_ONCE_CIS_FAILED = 121111;
479    LE_AUDIO_ALLOWLIST_GROUP_HEALTH_STATUS_BAD_ONCE_SIGNALING_FAILED = 121112;
480    LE_AUDIO_NONALLOWLIST_GROUP_HEALTH_STATUS_GOOD = 121113;
481    LE_AUDIO_NONALLOWLIST_GROUP_HEALTH_STATUS_TRENDING_BAD = 121114;
482    LE_AUDIO_NONALLOWLIST_GROUP_HEALTH_STATUS_BAD = 121115;
483    LE_AUDIO_NONALLOWLIST_GROUP_HEALTH_STATUS_BAD_ONCE_CIS_FAILED = 121116;
484    LE_AUDIO_NONALLOWLIST_GROUP_HEALTH_STATUS_BAD_ONCE_SIGNALING_FAILED = 121117;
485}
486
487enum AddressTypeEnum {
488  ADDRESS_TYPE_PUBLIC = 0;
489  ADDRESS_TYPE_RANDOM = 1;
490  ADDRESS_TYPE_UNKNOWN = 0xFFFF;
491}
492
493// Major Class from packages/modules/Bluetooth/framework/java/android/bluetooth/BluetoothClass.java
494enum MajorClassEnum {
495  MAJOR_CLASS_UNCATEGORIZED = 0x1F00;
496  MAJOR_CLASS_MISC = 0x0000;
497  MAJOR_CLASS_COMPUTER = 0x0100;
498  MAJOR_CLASS_PHONE = 0x0200;
499  MAJOR_CLASS_NETWORKING = 0x0300;
500  MAJOR_CLASS_AUDIO_VIDEO = 0x0400;
501  MAJOR_CLASS_PERIPHERAL = 0x0500;
502  MAJOR_CLASS_IMAGING = 0x0600;
503  MAJOR_CLASS_WEARABLE = 0x0700;
504  MAJOR_CLASS_TOY = 0x0800;
505  MAJOR_CLASS_HEALTH = 0x0900;
506}
507
508enum ProfileConnectionResult {
509  RESULT_UNKNOWN = 0;
510  RESULT_SUCCESS = 1;
511  RESULT_FAILURE = 2;
512}
513
514enum ProfileConnectionReason {
515  REASON_UNKNOWN = 0;
516  REASON_SUCCESS = 1;
517  REASON_UNEXPECTED_STATE = 2;
518  REASON_NATIVE_LAYER_REJECTED = 3;
519  REASON_INCOMING_CONN_REJECTED = 4;
520}
521
522enum LeConnectionResult {
523  LE_CONNECTION_RESULT_UNKNOWN = 0;
524  LE_CONNECTION_RESULT_SUCCESS = 1;
525  LE_CONNECTION_RESULT_FAILURE = 2;
526}
527
528// Comment added to those whose enum names do not match the actual file names.
529enum ContentProfileFileName {
530  BLUETOOTH_FILE_NAME_UNKNOWN = 0;
531
532  // [1, 10000] - MAP
533  BLUETOOTH_MAP_ACCOUNT_LOADER = 1;
534  BLUETOOTH_MAP_APP_OBSERVER = 2;
535  BLUETOOTH_MAP_APP_PARAMS = 3;
536  BLUETOOTH_MAP_BMESSAGE = 4;
537  BLUETOOTH_MAP_BMESSAGE_EMAIL = 5;
538  BLUETOOTH_MAP_BMESSAGE_MIME = 6;
539  BLUETOOTH_MAP_CONTENT = 7;
540  BLUETOOTH_MAP_CONTENT_OBSERVER = 8;
541  BLUETOOTH_MAP_CONVO_CONTACT_ELEMENT = 9;
542  BLUETOOTH_MAP_CONVO_LISTING = 10;
543  BLUETOOTH_MAP_CONVO_LISTING_ELEMENT = 11;
544  BLUETOOTH_MAP_FOLDER_ELEMENT = 12;
545  BLUETOOTH_MAP_MAS_INSTANCE = 13;
546  BLUETOOTH_MAP_MESSAGE_LISTING = 14;
547  BLUETOOTH_MAP_OBEX_SERVER = 15;
548  BLUETOOTH_MAP_SERVICE = 16;
549  BLUETOOTH_MAP_SMS_PDU = 17;
550  BLUETOOTH_MAP_UTILS = 18;
551  BLUETOOTH_MNS_OBEX_CLIENT = 19;
552  BLUETOOTH_SMS_MMS_CONTACTS = 20;  // SmsMmsContacts.java
553  BLUETOOTH_MMS_FILE_PROVIDER = 21; // MmsFileProvider.java
554
555  // [10001, 20000] - OPP
556  BLUETOOTH_OPP_MANAGER = 10001;
557  BLUETOOTH_OPP_TRANSFER_HISTORY = 10002;
558  BLUETOOTH_OPP_OBEX_CLIENT_SESSION = 10003;
559  BLUETOOTH_OPP_UTILITY = 10004;
560  BLUETOOTH_OPP_LAUNCHER_ACTIVITY = 10005;
561  BLUETOOTH_OPP_RECEIVER = 10006;
562  BLUETOOTH_OPP_TRANSFER = 10007;
563  BLUETOOTH_OPP_SEND_FILE_INFO = 10008;
564  BLUETOOTH_OPP_INCOMING_FILE_CONFIRM_ACTIVITY = 10009;
565  BLUETOOTH_OPP_OBEX_SERVER_SESSION = 10010;
566  BLUETOOTH_OPP_RECEIVE_FILE_INFO = 10011;
567  BLUETOOTH_OPP_TRANSFER_ACTIVITY = 10012;
568  BLUETOOTH_OPP_PROVIDER = 10013;
569  BLUETOOTH_OPP_SERVICE = 10014;
570  BLUETOOTH_OPP_CONSTANTS = 10015; // Constants.java
571
572  // [20001, 30000] - PBAP
573  BLUETOOTH_PBAP_ACTIVITY = 20001;
574  BLUETOOTH_PBAP_AUTHENTICATOR = 20002;
575  BLUETOOTH_PBAP_CALL_LOG_COMPOSER = 20003;
576  BLUETOOTH_PBAP_CONFIG = 20004;
577  BLUETOOTH_PBAP_OBEX_SERVER = 20005;
578  BLUETOOTH_PBAP_SERVICE = 20006;
579  BLUETOOTH_PBAP_SIM_VCARD_MANAGER = 20007;
580  BLUETOOTH_PBAP_UTILS = 20008;
581  BLUETOOTH_PBAP_VCARD_MANAGER = 20009;
582  BLUETOOTH_PBAP_HANDLER_FOR_STRING_BUFFER = 20010; // HandlerForStringBuffer.java
583  BLUETOOTH_PBAP_STATE_MACHINE = 20011; // PbapStateMachine.java
584
585  // Will be added more if needed in future.
586}
587
588enum EventType {
589  EVENT_TYPE_UNKNOWN = 0;
590  ACL_CONNECTION_RESPONDER = 1;
591  ACL_CONNECTION_INITIATOR = 2;
592  PROFILE_CONNECTION = 3;
593  AUTHENTICATION_REQUEST = 4;
594  IO_CAPABILITY_REQUEST = 5;
595  USER_CONF_REQUEST = 6;
596  USER_CONF_POSITIVE_REPLY = 7;
597  USER_CONF_NEGATIVE_REPLY = 8;
598  AUTHENTICATION_COMPLETE = 9;
599  SERVICE_DISCOVERY = 10;
600  REMOTE_NAME_REQUEST = 11;
601  ACL_DISCONNECTION_INITIATOR = 12;
602  ACL_DISCONNECTION_RESPONDER = 13;
603  AUTHENTICATION_COMPLETE_FAIL = 14;
604  BONDING = 15;
605  INITIATOR_CONNECTION = 16;
606  BOND = 17;
607  PROFILE_CONNECTION_A2DP = 18;
608  PROFILE_CONNECTION_A2DP_SINK = 19;
609  PROFILE_CONNECTION_HEADSET = 20;
610  PROFILE_CONNECTION_HEADSET_CLIENT = 21;
611  PROFILE_CONNECTION_MAP_CLIENT = 22;
612  PROFILE_CONNECTION_HID_HOST = 23;
613  PROFILE_CONNECTION_PAN = 24;
614  PROFILE_CONNECTION_PBAP_CLIENT = 25;
615  PROFILE_CONNECTION_HEARING_AID = 26;
616  PROFILE_CONNECTION_HAP_CLIENT = 27;
617  PROFILE_CONNECTION_VOLUME_CONTROL = 28;
618  PROFILE_CONNECTION_CSIP_SET_COORDINATOR = 29;
619  PROFILE_CONNECTION_LE_AUDIO = 30;
620  PROFILE_CONNECTION_LE_AUDIO_BROADCAST_ASSISTANT = 31;
621  PROFILE_CONNECTION_BATTERY = 32;
622  TRANSPORT = 33;
623  BOND_RETRY = 34;
624  SMP_PAIRING_OUTGOING = 35;
625  SMP_PAIRING_INCOMING = 36;
626  LE_ACL_CONNECTION_INITIATOR = 37;
627  LE_ACL_CONNECTION_RESPONDER = 38;
628  LE_ACL_DISCONNECTION_INITIATOR = 39;
629  LE_ACL_DISCONNECTION_RESPONDER = 40;
630  GATT_CONNECT_JAVA = 41;
631  GATT_CONNECT_NATIVE = 42;
632  LE_DEVICE_IN_ACCEPT_LIST = 43;
633  GATT_DISCONNECT_JAVA = 44;
634  GATT_DISCONNECT_NATIVE = 45;
635  TRANSPORT_MATCH = 46;
636  HFP_SESSION = 47;
637  HFP_AG_VERSION = 48;
638  HFP_HF_VERSION = 49;
639  HFP_HF_FEATURES = 50;
640  SCO_SESSION = 51;
641  SCO_CODEC = 52;
642  TRANSITION = 53;
643  LE_CONNECTION_REJECTED = 54;
644}
645
646enum State {
647  STATE_UNKNOWN = 0;
648  START = 1;
649  END = 2;
650  SUCCESS = 3;
651  FAIL = 4;
652  ALREADY_CONNECTED = 5;
653  TIMEOUT = 6;
654  REMOTE_USER_TERMINATED_CONNECTION = 7;
655  KEY_MISSING = 8;
656  MEMORY_EXCEEDED = 9;
657  BUSY_PAIRING = 10;
658  REPEATED_ATTEMPTS = 11;
659  PAIRING_NOT_ALLOWED = 12;
660  RESOURCES_EXCEEDED = 13;
661  AUTH_FAILURE = 14;
662  LOCAL_DEVICE_TERMINATED_CONNECTION = 15;
663  TRANSACTION_COLLISION = 16;
664  PAGE_TIMEOUT = 17;
665  CONNECTION_TIMEOUT = 18;
666  CONNECTION_ACCEPT_TIMEOUT = 19;
667  TRANSACTION_RESPONSE_TIMEOUT = 20;
668  STATE_NONE = 21;
669  STATE_BONDED = 22;
670  CLASSIC = 23;
671  LE = 24;
672  HARDWARE_FAILURE = 25;
673  MEMORY_CAPACITY_EXCEEDED = 26;
674  CONNECTION_LIMIT_EXCEEDED = 27;
675  SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED = 28;
676  CONNECTION_REJECTED_SECURITY_REASONS = 29;
677  CONNECTION_REJECTED_UNACCEPTABLE_BD_ADDR = 30;
678  UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE = 31;
679  INVALID_HCI_COMMAND_PARAMETERS = 32;
680  UNSUPPORTED_REMOTE_OR_LMP_FEATURE = 33;
681  SCO_OFFSET_REJECTED = 34;
682  SCO_INTERVAL_REJECTED = 35;
683  SCO_AIR_MODE_REJECTED = 36;
684  INVALID_LMP_OR_LL_PARAMETERS = 37;
685  UNSPECIFIED_ERROR = 38;
686  UNSUPPORTED_LMP_OR_LL_PARAMETER = 39;
687  ROLE_CHANGE_NOT_ALLOWED = 40;
688  LINK_LAYER_COLLISION = 41;
689  LMP_PDU_NOT_ALLOWED = 42;
690  ENCRYPTION_MODE_NOT_ACCEPTABLE = 43;
691  LINK_KEY_CANNOT_BE_CHANGED = 44;
692  REQUESTED_QOS_NOT_SUPPORTED = 45;
693  INSTANT_PASSED = 46;
694  PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 47;
695  DIFFERENT_TRANSACTION_COLLISION = 48;
696  QOS_UNACCEPTABLE_PARAMETERS = 49;
697  QOS_REJECTED = 50;
698  CHANNEL_ASSESSMENT_NOT_SUPPORTED = 51;
699  INSUFFICIENT_SECURITY = 52;
700  PARAMETER_OUT_OF_MANDATORY_RANGE = 53;
701  ROLE_SWITCH_PENDING = 54;
702  RESERVED_SLOT_VIOLATION = 55;
703  ROLE_SWITCH_FAILED = 56;
704  EXTENDED_INQUIRY_RESPONSE_TOO_LARGE = 57;
705  SECURE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST = 58;
706  HOST_BUSY_PAIRING = 59;
707  CONNECTION_REJECTED_NO_SUITABLE_CHANNEL_FOUND = 60;
708  CONTROLLER_BUSY = 61;
709  UNACCEPTABLE_CONNECTION_PARAMETERS = 62;
710  ADVERTISING_TIMEOUT = 63;
711  CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE = 64;
712  CONNECTION_FAILED_ESTABLISHMENT = 65;
713  COARSE_CLOCK_ADJUSTMENT_REJECTED = 66;
714  TYPE0_SUBMAP_NOT_DEFINED = 67;
715  UNKNOWN_ADVERTISING_IDENTIFIER = 68;
716  LIMIT_REACHED = 69;
717  OPERATION_CANCELLED_BY_HOST = 70;
718  PACKET_TOO_LONG = 71;
719  CONNECTION_TERMINATED_BY_LOCAL_HOST = 72;
720  PASSKEY_ENTRY_FAIL = 73;
721  OOB_FAIL = 74;
722  CONFIRM_VALUE_ERROR = 75;
723  ENC_KEY_SIZE = 76;
724  INVALID_CMD = 77;
725  INVALID_PARAMETERS = 78;
726  DHKEY_CHK_FAIL = 79;
727  NUMERIC_COMPARISON_FAIL = 80;
728  BR_PAIRING_IN_PROGRESS = 81;
729  CROSS_TRANSPORT_NOT_ALLOWED = 82;
730  INTERNAL_ERROR = 83;
731  UNKNOWN_IO_CAP = 84;
732  ENCRYPTION_FAIL = 85;
733  RESPONSE_TIMEOUT = 86;
734  SIRK_DEVICE_INVALID = 87;
735  USER_CANCELLATION = 88;
736  DIRECT_CONNECT = 89;
737  INDIRECT_CONNECT = 90;
738  HFP_CONNECTED = 91;
739  HFP_SLC_FAIL_CONNECTION = 92;
740  HFP_RFCOMM_CHANNEL_FAIL = 93;
741  HFP_RFCOMM_COLLISION_FAIL = 94;
742  HFP_RFCOMM_AG_OPEN_FAIL = 95;
743  HFP_CONNECT_FAIL = 96;
744  SCO_TELECOM_INITIATED_START = 97;
745  SCO_VIRTUAL_VOICE_INITIATED_START = 98;
746  SCO_VOICE_RECOGNITION_INITIATED_START = 99;
747  SCO_CONNECT_AUDIO_START = 100;
748  SCO_LINK_CREATED = 101;
749  SCO_AUDIO_CONNECTED = 102;
750  SCO_LINK_REMOVED = 103;
751  SCO_TELECOM_INITIATED_END = 104;
752  SCO_VIRTUAL_VOICE_INITIATED_END = 105;
753  SCO_VOICE_RECOGNITION_INITIATED_END = 106;
754  SCO_DISCONNECT_AUDIO_END = 107;
755  ILLEGAL_COMMAND = 108;
756  NO_CONNECTION = 109;
757  HW_FAILURE = 110;
758  MEMORY_FULL = 111;
759  MAX_NUMBER_OF_CONNECTIONS = 112;
760  MAX_NUM_OF_SCOS = 113;
761  CONNECTION_EXISTS = 114;
762  COMMAND_DISALLOWED = 115;
763  HOST_REJECT_RESOURCES = 116;
764  HOST_REJECT_SECURITY = 117;
765  ILLEGAL_PARAMETER_FMT = 118;
766  PEER_USER = 119;
767  REMOTE_LOW_RESOURCE = 120;
768  REMOTE_POWER_OFF = 121;
769  CONN_CAUSE_LOCAL_HOST = 122;
770  HOST_REJECT_DEVICE = 123;
771  UNSUPPORTED_REM_FEATURE = 124;
772  UNSPECIFIED = 125;
773  UNACCEPT_CONN_INTERVAL = 126;
774  UNIT_KEY_USED = 127;
775  DIFF_TRANSACTION_COLLISION = 128;
776  LMP_ERR_TRANS_COLLISION = 129;
777  CANCELLED_BY_LOCAL_HOST = 130;
778  MAX_ERR = 131;
779  UNDEFINED = 132;
780  BOND_BONDED_TO_ACTION_KEY_MISSING = 133;
781  ACTION_KEY_MISSING_TO_ENCRYPTION_CHANGE = 134;
782  ACTION_KEY_MISSING_TO_BOND_NONE = 135;
783  UNKNOWN_HCI_COMMAND = 136;
784  REMOTE_DEVICE_TERMINATED_CONNECTION_LOW_RESOURCES = 137;
785  REMOTE_DEVICE_TERMINATED_CONNECTION_POWER_OFF = 138;
786  UNKNOWN_LMP_PDU = 139;
787  VERSION_1_0 = 140;
788  VERSION_1_1 = 141;
789  VERSION_1_2 = 142;
790  VERSION_1_3 = 143;
791  VERSION_1_4 = 144;
792  VERSION_1_5 = 145;
793  VERSION_1_6 = 146;
794  VERSION_1_7 = 147;
795  VERSION_1_8 = 148;
796  VERSION_1_9 = 149;
797  VERSION_UNKNOWN = 150;
798  START_LOCAL_INITIATED = 151;
799  START_REMOTE_INITIATED = 152;
800  HFP_CONNECT_REJECT_FAIL = 153;
801  HFP_ACL_CONNECT_FAIL = 154;
802  ATTEMPT_IN_PROGRESS = 155;
803  CODEC_CVSD = 156;
804  CODEC_MSBC = 157;
805  CODEC_LC3 = 158;
806  CODEC_UNKNOWN = 159;
807  SCO_LINK_LOSS = 160;
808  CODEC_APTX_SWB_SETTINGS_Q0_MASK = 161;
809  CODEC_APTX_SWB_SETTINGS_Q1_MASK = 162;
810  CODEC_APTX_SWB_SETTINGS_Q2_MASK = 163;
811  CODEC_APTX_SWB_SETTINGS_Q3_MASK = 164;
812  SCO_VOICE_RECOGNITION_HEADSET_START = 165;
813  SCO_VOICE_RECOGNITION_HEADSET_END = 166;
814  SCO_VOICE_RECOGNITION_HEADSET_TIMEOUT = 167;
815  AUDIO_PORT_START_STREAM = 168;
816  AUDIO_PORT_STOP_STREAM = 169;
817  AUDIO_PROVIDER_STREAM_STARTED = 170;
818}
819
820enum RemoteDeviceTypeMetadata {
821  WATCH = 0;
822  UNTETHERED_HEADSET = 1;
823  STYLUS = 2;
824  SPEAKER = 3;
825  HEADSET = 4;
826  CARKIT = 5;
827  DEFAULT = 6;
828  NOT_AVAILABLE = 7;
829}
830
831enum BroadcastAudioQualityType {
832  QUALITY_UNKNOWN = 0;
833  QUALITY_STANDARD = 1;
834  QUALITY_HIGH = 2;
835}
836
837enum BroadcastSessionSetupStatus {
838  SETUP_STATUS_UNKNOWN = 0;
839  SETUP_STATUS_REQUESTED = 1;
840  SETUP_STATUS_CREATED = 2;
841  SETUP_STATUS_STREAMING = 3;
842  SETUP_STATUS_CREATE_FAILED = 4;
843  SETUP_STATUS_STREAMING_FAILED = 5;
844}
845
846enum BroadcastSyncStatus {
847  SYNC_STATUS_UNKNOWN = 0;
848  SYNC_STATUS_SYNC_REQUESTED = 1;
849  SYNC_STATUS_PA_SYNC_SUCCESS = 2;
850  SYNC_STATUS_AUDIO_SYNC_SUCCESS = 3;
851  SYNC_STATUS_PA_SYNC_FAILED = 4;
852  SYNC_STATUS_PA_SYNC_NO_PAST = 5;
853  SYNC_STATUS_BIG_DECRYPT_FAILED = 6;
854  SYNC_STATUS_AUDIO_SYNC_FAILED = 7;
855}
856
857enum BtaStatus {
858  BTA_STATUS_UNKNOWN = 0;
859  BTA_STATUS_SUCCESS = 1;
860  BTA_STATUS_FAILURE = 2;
861  BTA_STATUS_BUSY = 3;
862}
863