blob: a012a3874b428a7762b309ddc562fa9abe9df8d2 [file] [log] [blame]
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001// Signature format: 2.0
2package android.bluetooth {
3
4 public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
5 method public void finalize();
Etienne Ruffieux64d4e6b2022-08-30 16:23:38 -07006 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothCodecStatus getCodecStatus(@NonNull android.bluetooth.BluetoothDevice);
Roopa Sattirajuc7938372022-01-20 10:00:42 -08007 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
8 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
9 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
10 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isA2dpPlaying(android.bluetooth.BluetoothDevice);
Etienne Ruffieux64d4e6b2022-08-30 16:23:38 -070011 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setCodecConfigPreference(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothCodecConfig);
12 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CODEC_CONFIG_CHANGED = "android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED";
Roopa Sattirajuc7938372022-01-20 10:00:42 -080013 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED";
14 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PLAYING_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED";
15 field public static final int STATE_NOT_PLAYING = 11; // 0xb
16 field public static final int STATE_PLAYING = 10; // 0xa
17 }
18
19 public final class BluetoothAdapter {
20 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean cancelDiscovery();
21 method public static boolean checkBluetoothAddress(String);
22 method public void closeProfileProxy(int, android.bluetooth.BluetoothProfile);
Etienne Ruffieux3f46b3b2022-02-07 23:14:46 +000023 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disable();
24 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enable();
Roopa Sattirajuc7938372022-01-20 10:00:42 -080025 method public String getAddress();
26 method public android.bluetooth.le.BluetoothLeAdvertiser getBluetoothLeAdvertiser();
27 method public android.bluetooth.le.BluetoothLeScanner getBluetoothLeScanner();
28 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.Set<android.bluetooth.BluetoothDevice> getBondedDevices();
29 method @Deprecated public static android.bluetooth.BluetoothAdapter getDefaultAdapter();
30 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public java.time.Duration getDiscoverableTimeout();
31 method public int getLeMaximumAdvertisingDataLength();
32 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMaxConnectedAudioDevices();
33 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName();
34 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getProfileConnectionState(int);
35 method public boolean getProfileProxy(android.content.Context, android.bluetooth.BluetoothProfile.ServiceListener, int);
36 method public android.bluetooth.BluetoothDevice getRemoteDevice(String);
37 method public android.bluetooth.BluetoothDevice getRemoteDevice(byte[]);
Myles Watsone1d39b92022-01-21 10:15:31 -080038 method @NonNull public android.bluetooth.BluetoothDevice getRemoteLeDevice(@NonNull String, int);
Roopa Sattirajuc7938372022-01-20 10:00:42 -080039 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int getScanMode();
40 method public int getState();
41 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean isDiscovering();
42 method public boolean isEnabled();
43 method public boolean isLe2MPhySupported();
44 method public int isLeAudioBroadcastAssistantSupported();
45 method public int isLeAudioBroadcastSourceSupported();
46 method public int isLeAudioSupported();
47 method public boolean isLeCodedPhySupported();
48 method public boolean isLeExtendedAdvertisingSupported();
49 method public boolean isLePeriodicAdvertisingSupported();
50 method public boolean isMultipleAdvertisementSupported();
51 method public boolean isOffloadedFilteringSupported();
52 method public boolean isOffloadedScanBatchingSupported();
53 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException;
54 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
55 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException;
56 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
57 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setName(String);
58 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startDiscovery();
59 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
60 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(java.util.UUID[], android.bluetooth.BluetoothAdapter.LeScanCallback);
61 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
62 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED";
63 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED";
64 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_STARTED = "android.bluetooth.adapter.action.DISCOVERY_STARTED";
65 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LOCAL_NAME_CHANGED = "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED";
66 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public static final String ACTION_REQUEST_DISCOVERABLE = "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE";
67 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE";
68 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_SCAN_MODE_CHANGED = "android.bluetooth.adapter.action.SCAN_MODE_CHANGED";
69 field public static final String ACTION_STATE_CHANGED = "android.bluetooth.adapter.action.STATE_CHANGED";
70 field public static final int ERROR = -2147483648; // 0x80000000
71 field public static final String EXTRA_CONNECTION_STATE = "android.bluetooth.adapter.extra.CONNECTION_STATE";
72 field public static final String EXTRA_DISCOVERABLE_DURATION = "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION";
73 field public static final String EXTRA_LOCAL_NAME = "android.bluetooth.adapter.extra.LOCAL_NAME";
74 field public static final String EXTRA_PREVIOUS_CONNECTION_STATE = "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE";
75 field public static final String EXTRA_PREVIOUS_SCAN_MODE = "android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE";
76 field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.adapter.extra.PREVIOUS_STATE";
77 field public static final String EXTRA_SCAN_MODE = "android.bluetooth.adapter.extra.SCAN_MODE";
78 field public static final String EXTRA_STATE = "android.bluetooth.adapter.extra.STATE";
79 field public static final int SCAN_MODE_CONNECTABLE = 21; // 0x15
80 field public static final int SCAN_MODE_CONNECTABLE_DISCOVERABLE = 23; // 0x17
81 field public static final int SCAN_MODE_NONE = 20; // 0x14
82 field public static final int STATE_CONNECTED = 2; // 0x2
83 field public static final int STATE_CONNECTING = 1; // 0x1
84 field public static final int STATE_DISCONNECTED = 0; // 0x0
85 field public static final int STATE_DISCONNECTING = 3; // 0x3
86 field public static final int STATE_OFF = 10; // 0xa
87 field public static final int STATE_ON = 12; // 0xc
88 field public static final int STATE_TURNING_OFF = 13; // 0xd
89 field public static final int STATE_TURNING_ON = 11; // 0xb
90 }
91
92 public static interface BluetoothAdapter.LeScanCallback {
93 method public void onLeScan(android.bluetooth.BluetoothDevice, int, byte[]);
94 }
95
96 public class BluetoothAssignedNumbers {
97 field public static final int AAMP_OF_AMERICA = 190; // 0xbe
98 field public static final int ACCEL_SEMICONDUCTOR = 74; // 0x4a
99 field public static final int ACE_SENSOR = 188; // 0xbc
100 field public static final int ADIDAS = 195; // 0xc3
101 field public static final int ADVANCED_PANMOBIL_SYSTEMS = 145; // 0x91
102 field public static final int AIROHA_TECHNOLOGY = 148; // 0x94
103 field public static final int ALCATEL = 36; // 0x24
104 field public static final int ALPWISE = 154; // 0x9a
105 field public static final int AMICCOM_ELECTRONICS = 192; // 0xc0
106 field public static final int APLIX = 189; // 0xbd
107 field public static final int APPLE = 76; // 0x4c
108 field public static final int APT_LICENSING = 79; // 0x4f
109 field public static final int ARCHOS = 207; // 0xcf
110 field public static final int ARP_DEVICES = 168; // 0xa8
111 field public static final int ATHEROS_COMMUNICATIONS = 69; // 0x45
112 field public static final int ATMEL = 19; // 0x13
113 field public static final int AUSTCO_COMMUNICATION_SYSTEMS = 213; // 0xd5
114 field public static final int AUTONET_MOBILE = 127; // 0x7f
115 field public static final int AVAGO = 78; // 0x4e
116 field public static final int AVM_BERLIN = 31; // 0x1f
117 field public static final int A_AND_D_ENGINEERING = 105; // 0x69
118 field public static final int A_AND_R_CAMBRIDGE = 124; // 0x7c
119 field public static final int BANDSPEED = 32; // 0x20
120 field public static final int BAND_XI_INTERNATIONAL = 100; // 0x64
121 field public static final int BDE_TECHNOLOGY = 180; // 0xb4
122 field public static final int BEATS_ELECTRONICS = 204; // 0xcc
123 field public static final int BEAUTIFUL_ENTERPRISE = 108; // 0x6c
124 field public static final int BEKEY = 178; // 0xb2
125 field public static final int BELKIN_INTERNATIONAL = 92; // 0x5c
126 field public static final int BINAURIC = 203; // 0xcb
127 field public static final int BIOSENTRONICS = 219; // 0xdb
128 field public static final int BLUEGIGA = 71; // 0x47
129 field public static final int BLUERADIOS = 133; // 0x85
130 field public static final int BLUETOOTH_SIG = 63; // 0x3f
131 field public static final int BLUETREK_TECHNOLOGIES = 151; // 0x97
132 field public static final int BOSE = 158; // 0x9e
133 field public static final int BRIARTEK = 109; // 0x6d
134 field public static final int BROADCOM = 15; // 0xf
135 field public static final int CAEN_RFID = 170; // 0xaa
136 field public static final int CAMBRIDGE_SILICON_RADIO = 10; // 0xa
137 field public static final int CATC = 52; // 0x34
138 field public static final int CINETIX = 175; // 0xaf
139 field public static final int CLARINOX_TECHNOLOGIES = 179; // 0xb3
140 field public static final int COLORFY = 156; // 0x9c
141 field public static final int COMMIL = 51; // 0x33
142 field public static final int CONEXANT_SYSTEMS = 28; // 0x1c
143 field public static final int CONNECTBLUE = 113; // 0x71
144 field public static final int CONTINENTAL_AUTOMOTIVE = 75; // 0x4b
145 field public static final int CONWISE_TECHNOLOGY = 66; // 0x42
146 field public static final int CREATIVE_TECHNOLOGY = 118; // 0x76
147 field public static final int C_TECHNOLOGIES = 38; // 0x26
148 field public static final int DANLERS = 225; // 0xe1
149 field public static final int DELORME_PUBLISHING_COMPANY = 128; // 0x80
150 field public static final int DEXCOM = 208; // 0xd0
151 field public static final int DIALOG_SEMICONDUCTOR = 210; // 0xd2
152 field public static final int DIGIANSWER = 12; // 0xc
153 field public static final int ECLIPSE = 53; // 0x35
154 field public static final int ECOTEST = 136; // 0x88
155 field public static final int ELGATO_SYSTEMS = 206; // 0xce
156 field public static final int EM_MICROELECTRONIC_MARIN = 90; // 0x5a
157 field public static final int EQUINOX_AG = 134; // 0x86
158 field public static final int ERICSSON_TECHNOLOGY = 0; // 0x0
159 field public static final int EVLUMA = 201; // 0xc9
160 field public static final int FREE2MOVE = 83; // 0x53
161 field public static final int FUNAI_ELECTRIC = 144; // 0x90
162 field public static final int GARMIN_INTERNATIONAL = 135; // 0x87
163 field public static final int GCT_SEMICONDUCTOR = 45; // 0x2d
164 field public static final int GELO = 200; // 0xc8
165 field public static final int GENEQ = 194; // 0xc2
166 field public static final int GENERAL_MOTORS = 104; // 0x68
167 field public static final int GENNUM = 59; // 0x3b
168 field public static final int GEOFORCE = 157; // 0x9d
169 field public static final int GIBSON_GUITARS = 98; // 0x62
170 field public static final int GN_NETCOM = 103; // 0x67
171 field public static final int GN_RESOUND = 137; // 0x89
172 field public static final int GOOGLE = 224; // 0xe0
173 field public static final int GREEN_THROTTLE_GAMES = 172; // 0xac
174 field public static final int GROUP_SENSE = 115; // 0x73
175 field public static final int HANLYNN_TECHNOLOGIES = 123; // 0x7b
176 field public static final int HARMAN_INTERNATIONAL = 87; // 0x57
177 field public static final int HEWLETT_PACKARD = 101; // 0x65
178 field public static final int HITACHI = 41; // 0x29
179 field public static final int HOSIDEN = 221; // 0xdd
180 field public static final int IBM = 3; // 0x3
181 field public static final int INFINEON_TECHNOLOGIES = 9; // 0x9
182 field public static final int INGENIEUR_SYSTEMGRUPPE_ZAHN = 171; // 0xab
183 field public static final int INTEGRATED_SILICON_SOLUTION = 65; // 0x41
184 field public static final int INTEGRATED_SYSTEM_SOLUTION = 57; // 0x39
185 field public static final int INTEL = 2; // 0x2
186 field public static final int INVENTEL = 30; // 0x1e
187 field public static final int IPEXTREME = 61; // 0x3d
188 field public static final int I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION = 153; // 0x99
189 field public static final int JAWBONE = 138; // 0x8a
190 field public static final int JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS = 155; // 0x9b
191 field public static final int JOHNSON_CONTROLS = 185; // 0xb9
192 field public static final int J_AND_M = 82; // 0x52
193 field public static final int KAWANTECH = 212; // 0xd4
194 field public static final int KC_TECHNOLOGY = 22; // 0x16
195 field public static final int KENSINGTON_COMPUTER_PRODUCTS_GROUP = 160; // 0xa0
196 field public static final int LAIRD_TECHNOLOGIES = 119; // 0x77
197 field public static final int LESSWIRE = 121; // 0x79
198 field public static final int LG_ELECTRONICS = 196; // 0xc4
199 field public static final int LINAK = 164; // 0xa4
200 field public static final int LUCENT = 7; // 0x7
201 field public static final int LUDUS_HELSINKI = 132; // 0x84
202 field public static final int MACRONIX = 44; // 0x2c
203 field public static final int MAGNETI_MARELLI = 169; // 0xa9
204 field public static final int MANSELLA = 33; // 0x21
205 field public static final int MARVELL = 72; // 0x48
206 field public static final int MATSUSHITA_ELECTRIC = 58; // 0x3a
207 field public static final int MC10 = 202; // 0xca
208 field public static final int MEDIATEK = 70; // 0x46
209 field public static final int MESO_INTERNATIONAL = 182; // 0xb6
210 field public static final int META_WATCH = 163; // 0xa3
211 field public static final int MEWTEL_TECHNOLOGY = 47; // 0x2f
212 field public static final int MICOMMAND = 99; // 0x63
213 field public static final int MICROCHIP_TECHNOLOGY = 205; // 0xcd
214 field public static final int MICROSOFT = 6; // 0x6
215 field public static final int MINDTREE = 106; // 0x6a
216 field public static final int MISFIT_WEARABLES = 223; // 0xdf
217 field public static final int MITEL_SEMICONDUCTOR = 16; // 0x10
218 field public static final int MITSUBISHI_ELECTRIC = 20; // 0x14
219 field public static final int MOBILIAN_CORPORATION = 55; // 0x37
220 field public static final int MONSTER = 112; // 0x70
221 field public static final int MOTOROLA = 8; // 0x8
222 field public static final int MSTAR_SEMICONDUCTOR = 122; // 0x7a
223 field public static final int MUZIK = 222; // 0xde
224 field public static final int NEC = 34; // 0x22
225 field public static final int NEC_LIGHTING = 149; // 0x95
226 field public static final int NEWLOGIC = 23; // 0x17
227 field public static final int NIKE = 120; // 0x78
228 field public static final int NINE_SOLUTIONS = 102; // 0x66
229 field public static final int NOKIA_MOBILE_PHONES = 1; // 0x1
230 field public static final int NORDIC_SEMICONDUCTOR = 89; // 0x59
231 field public static final int NORWOOD_SYSTEMS = 46; // 0x2e
232 field public static final int ODM_TECHNOLOGY = 150; // 0x96
233 field public static final int OMEGAWAVE = 174; // 0xae
234 field public static final int ONSET_COMPUTER = 197; // 0xc5
235 field public static final int OPEN_INTERFACE = 39; // 0x27
236 field public static final int OTL_DYNAMICS = 165; // 0xa5
237 field public static final int PANDA_OCEAN = 166; // 0xa6
238 field public static final int PARROT = 67; // 0x43
239 field public static final int PARTHUS_TECHNOLOGIES = 14; // 0xe
240 field public static final int PASSIF_SEMICONDUCTOR = 176; // 0xb0
241 field public static final int PETER_SYSTEMTECHNIK = 173; // 0xad
242 field public static final int PHILIPS_SEMICONDUCTORS = 37; // 0x25
243 field public static final int PLANTRONICS = 85; // 0x55
244 field public static final int POLAR_ELECTRO = 107; // 0x6b
245 field public static final int POLAR_ELECTRO_EUROPE = 209; // 0xd1
246 field public static final int PROCTER_AND_GAMBLE = 220; // 0xdc
247 field public static final int QUALCOMM = 29; // 0x1d
248 field public static final int QUALCOMM_CONNECTED_EXPERIENCES = 216; // 0xd8
249 field public static final int QUALCOMM_INNOVATION_CENTER = 184; // 0xb8
250 field public static final int QUALCOMM_LABS = 140; // 0x8c
251 field public static final int QUALCOMM_TECHNOLOGIES = 215; // 0xd7
252 field public static final int QUINTIC = 142; // 0x8e
253 field public static final int QUUPPA = 199; // 0xc7
254 field public static final int RALINK_TECHNOLOGY = 91; // 0x5b
255 field public static final int RDA_MICROELECTRONICS = 97; // 0x61
256 field public static final int REALTEK_SEMICONDUCTOR = 93; // 0x5d
257 field public static final int RED_M = 50; // 0x32
258 field public static final int RENESAS_TECHNOLOGY = 54; // 0x36
259 field public static final int RESEARCH_IN_MOTION = 60; // 0x3c
260 field public static final int RF_MICRO_DEVICES = 40; // 0x28
261 field public static final int RIVIERAWAVES = 96; // 0x60
262 field public static final int ROHDE_AND_SCHWARZ = 25; // 0x19
263 field public static final int RTX_TELECOM = 21; // 0x15
264 field public static final int SAMSUNG_ELECTRONICS = 117; // 0x75
265 field public static final int SARIS_CYCLING_GROUP = 177; // 0xb1
266 field public static final int SEERS_TECHNOLOGY = 125; // 0x7d
267 field public static final int SEIKO_EPSON = 64; // 0x40
268 field public static final int SELFLY = 198; // 0xc6
269 field public static final int SEMILINK = 226; // 0xe2
270 field public static final int SENNHEISER_COMMUNICATIONS = 130; // 0x82
271 field public static final int SHANGHAI_SUPER_SMART_ELECTRONICS = 114; // 0x72
272 field public static final int SHENZHEN_EXCELSECU_DATA_TECHNOLOGY = 193; // 0xc1
273 field public static final int SIGNIA_TECHNOLOGIES = 27; // 0x1b
274 field public static final int SILICON_WAVE = 11; // 0xb
275 field public static final int SIRF_TECHNOLOGY = 80; // 0x50
276 field public static final int SOCKET_MOBILE = 68; // 0x44
277 field public static final int SONY_ERICSSON = 86; // 0x56
278 field public static final int SOUND_ID = 111; // 0x6f
279 field public static final int SPORTS_TRACKING_TECHNOLOGIES = 126; // 0x7e
280 field public static final int SR_MEDIZINELEKTRONIK = 161; // 0xa1
281 field public static final int STACCATO_COMMUNICATIONS = 77; // 0x4d
282 field public static final int STALMART_TECHNOLOGY = 191; // 0xbf
283 field public static final int STARKEY_LABORATORIES = 186; // 0xba
284 field public static final int STOLLMAN_E_PLUS_V = 143; // 0x8f
285 field public static final int STONESTREET_ONE = 94; // 0x5e
286 field public static final int ST_MICROELECTRONICS = 48; // 0x30
287 field public static final int SUMMIT_DATA_COMMUNICATIONS = 110; // 0x6e
288 field public static final int SUUNTO = 159; // 0x9f
289 field public static final int SWIRL_NETWORKS = 181; // 0xb5
290 field public static final int SYMBOL_TECHNOLOGIES = 42; // 0x2a
291 field public static final int SYNOPSYS = 49; // 0x31
292 field public static final int SYSTEMS_AND_CHIPS = 62; // 0x3e
293 field public static final int S_POWER_ELECTRONICS = 187; // 0xbb
294 field public static final int TAIXINGBANG_TECHNOLOGY = 211; // 0xd3
295 field public static final int TENOVIS = 43; // 0x2b
296 field public static final int TERAX = 56; // 0x38
297 field public static final int TEXAS_INSTRUMENTS = 13; // 0xd
298 field public static final int THINKOPTICS = 146; // 0x92
299 field public static final int THREECOM = 5; // 0x5
300 field public static final int THREE_DIJOY = 84; // 0x54
301 field public static final int THREE_DSP = 73; // 0x49
302 field public static final int TIMEKEEPING_SYSTEMS = 131; // 0x83
303 field public static final int TIMEX_GROUP_USA = 214; // 0xd6
304 field public static final int TOPCORN_POSITIONING_SYSTEMS = 139; // 0x8b
305 field public static final int TOSHIBA = 4; // 0x4
306 field public static final int TRANSILICA = 24; // 0x18
307 field public static final int TRELAB = 183; // 0xb7
308 field public static final int TTPCOM = 26; // 0x1a
309 field public static final int TXTR = 218; // 0xda
310 field public static final int TZERO_TECHNOLOGIES = 81; // 0x51
311 field public static final int UNIVERSAL_ELECTRONICS = 147; // 0x93
312 field public static final int VERTU = 162; // 0xa2
313 field public static final int VISTEON = 167; // 0xa7
314 field public static final int VIZIO = 88; // 0x58
315 field public static final int VOYETRA_TURTLE_BEACH = 217; // 0xd9
316 field public static final int WAVEPLUS_TECHNOLOGY = 35; // 0x23
317 field public static final int WICENTRIC = 95; // 0x5f
318 field public static final int WIDCOMM = 17; // 0x11
319 field public static final int WUXI_VIMICRO = 129; // 0x81
320 field public static final int ZEEVO = 18; // 0x12
321 field public static final int ZER01_TV = 152; // 0x98
322 field public static final int ZOMM = 116; // 0x74
323 field public static final int ZSCAN_SOFTWARE = 141; // 0x8d
324 }
325
326 public final class BluetoothClass implements android.os.Parcelable {
327 method public int describeContents();
328 method public boolean doesClassMatch(int);
329 method public int getDeviceClass();
330 method public int getMajorDeviceClass();
331 method public boolean hasService(int);
332 method public void writeToParcel(android.os.Parcel, int);
333 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothClass> CREATOR;
334 field public static final int PROFILE_A2DP = 1; // 0x1
335 field public static final int PROFILE_HEADSET = 0; // 0x0
336 field public static final int PROFILE_HID = 3; // 0x3
337 }
338
339 public static class BluetoothClass.Device {
340 ctor public BluetoothClass.Device();
341 field public static final int AUDIO_VIDEO_CAMCORDER = 1076; // 0x434
342 field public static final int AUDIO_VIDEO_CAR_AUDIO = 1056; // 0x420
343 field public static final int AUDIO_VIDEO_HANDSFREE = 1032; // 0x408
344 field public static final int AUDIO_VIDEO_HEADPHONES = 1048; // 0x418
345 field public static final int AUDIO_VIDEO_HIFI_AUDIO = 1064; // 0x428
346 field public static final int AUDIO_VIDEO_LOUDSPEAKER = 1044; // 0x414
347 field public static final int AUDIO_VIDEO_MICROPHONE = 1040; // 0x410
348 field public static final int AUDIO_VIDEO_PORTABLE_AUDIO = 1052; // 0x41c
349 field public static final int AUDIO_VIDEO_SET_TOP_BOX = 1060; // 0x424
350 field public static final int AUDIO_VIDEO_UNCATEGORIZED = 1024; // 0x400
351 field public static final int AUDIO_VIDEO_VCR = 1068; // 0x42c
352 field public static final int AUDIO_VIDEO_VIDEO_CAMERA = 1072; // 0x430
353 field public static final int AUDIO_VIDEO_VIDEO_CONFERENCING = 1088; // 0x440
354 field public static final int AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER = 1084; // 0x43c
355 field public static final int AUDIO_VIDEO_VIDEO_GAMING_TOY = 1096; // 0x448
356 field public static final int AUDIO_VIDEO_VIDEO_MONITOR = 1080; // 0x438
357 field public static final int AUDIO_VIDEO_WEARABLE_HEADSET = 1028; // 0x404
358 field public static final int COMPUTER_DESKTOP = 260; // 0x104
359 field public static final int COMPUTER_HANDHELD_PC_PDA = 272; // 0x110
360 field public static final int COMPUTER_LAPTOP = 268; // 0x10c
361 field public static final int COMPUTER_PALM_SIZE_PC_PDA = 276; // 0x114
362 field public static final int COMPUTER_SERVER = 264; // 0x108
363 field public static final int COMPUTER_UNCATEGORIZED = 256; // 0x100
364 field public static final int COMPUTER_WEARABLE = 280; // 0x118
365 field public static final int HEALTH_BLOOD_PRESSURE = 2308; // 0x904
366 field public static final int HEALTH_DATA_DISPLAY = 2332; // 0x91c
367 field public static final int HEALTH_GLUCOSE = 2320; // 0x910
368 field public static final int HEALTH_PULSE_OXIMETER = 2324; // 0x914
369 field public static final int HEALTH_PULSE_RATE = 2328; // 0x918
370 field public static final int HEALTH_THERMOMETER = 2312; // 0x908
371 field public static final int HEALTH_UNCATEGORIZED = 2304; // 0x900
372 field public static final int HEALTH_WEIGHING = 2316; // 0x90c
William Escande4c28ea22022-03-08 12:19:43 +0100373 field public static final int PERIPHERAL_KEYBOARD = 1344; // 0x540
374 field public static final int PERIPHERAL_KEYBOARD_POINTING = 1472; // 0x5c0
375 field public static final int PERIPHERAL_NON_KEYBOARD_NON_POINTING = 1280; // 0x500
376 field public static final int PERIPHERAL_POINTING = 1408; // 0x580
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800377 field public static final int PHONE_CELLULAR = 516; // 0x204
378 field public static final int PHONE_CORDLESS = 520; // 0x208
379 field public static final int PHONE_ISDN = 532; // 0x214
380 field public static final int PHONE_MODEM_OR_GATEWAY = 528; // 0x210
381 field public static final int PHONE_SMART = 524; // 0x20c
382 field public static final int PHONE_UNCATEGORIZED = 512; // 0x200
383 field public static final int TOY_CONTROLLER = 2064; // 0x810
384 field public static final int TOY_DOLL_ACTION_FIGURE = 2060; // 0x80c
385 field public static final int TOY_GAME = 2068; // 0x814
386 field public static final int TOY_ROBOT = 2052; // 0x804
387 field public static final int TOY_UNCATEGORIZED = 2048; // 0x800
388 field public static final int TOY_VEHICLE = 2056; // 0x808
389 field public static final int WEARABLE_GLASSES = 1812; // 0x714
390 field public static final int WEARABLE_HELMET = 1808; // 0x710
391 field public static final int WEARABLE_JACKET = 1804; // 0x70c
392 field public static final int WEARABLE_PAGER = 1800; // 0x708
393 field public static final int WEARABLE_UNCATEGORIZED = 1792; // 0x700
394 field public static final int WEARABLE_WRIST_WATCH = 1796; // 0x704
395 }
396
397 public static class BluetoothClass.Device.Major {
398 ctor public BluetoothClass.Device.Major();
399 field public static final int AUDIO_VIDEO = 1024; // 0x400
400 field public static final int COMPUTER = 256; // 0x100
401 field public static final int HEALTH = 2304; // 0x900
402 field public static final int IMAGING = 1536; // 0x600
403 field public static final int MISC = 0; // 0x0
404 field public static final int NETWORKING = 768; // 0x300
405 field public static final int PERIPHERAL = 1280; // 0x500
406 field public static final int PHONE = 512; // 0x200
407 field public static final int TOY = 2048; // 0x800
408 field public static final int UNCATEGORIZED = 7936; // 0x1f00
409 field public static final int WEARABLE = 1792; // 0x700
410 }
411
412 public static final class BluetoothClass.Service {
413 ctor public BluetoothClass.Service();
414 field public static final int AUDIO = 2097152; // 0x200000
415 field public static final int CAPTURE = 524288; // 0x80000
416 field public static final int INFORMATION = 8388608; // 0x800000
417 field public static final int LE_AUDIO = 16384; // 0x4000
418 field public static final int LIMITED_DISCOVERABILITY = 8192; // 0x2000
419 field public static final int NETWORKING = 131072; // 0x20000
420 field public static final int OBJECT_TRANSFER = 1048576; // 0x100000
421 field public static final int POSITIONING = 65536; // 0x10000
422 field public static final int RENDER = 262144; // 0x40000
423 field public static final int TELEPHONY = 4194304; // 0x400000
424 }
425
426 public final class BluetoothCodecConfig implements android.os.Parcelable {
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800427 method public int describeContents();
428 method public int getBitsPerSample();
429 method public int getChannelMode();
430 method public int getCodecPriority();
431 method public long getCodecSpecific1();
432 method public long getCodecSpecific2();
433 method public long getCodecSpecific3();
434 method public long getCodecSpecific4();
435 method public int getCodecType();
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800436 method public int getSampleRate();
William Escande4c28ea22022-03-08 12:19:43 +0100437 method public boolean isMandatoryCodec();
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800438 method public void writeToParcel(android.os.Parcel, int);
439 field public static final int BITS_PER_SAMPLE_16 = 1; // 0x1
440 field public static final int BITS_PER_SAMPLE_24 = 2; // 0x2
441 field public static final int BITS_PER_SAMPLE_32 = 4; // 0x4
442 field public static final int BITS_PER_SAMPLE_NONE = 0; // 0x0
443 field public static final int CHANNEL_MODE_MONO = 1; // 0x1
444 field public static final int CHANNEL_MODE_NONE = 0; // 0x0
445 field public static final int CHANNEL_MODE_STEREO = 2; // 0x2
446 field public static final int CODEC_PRIORITY_DEFAULT = 0; // 0x0
447 field public static final int CODEC_PRIORITY_DISABLED = -1; // 0xffffffff
448 field public static final int CODEC_PRIORITY_HIGHEST = 1000000; // 0xf4240
Etienne Ruffieux64d4e6b2022-08-30 16:23:38 -0700449 field public static final int CODEC_SPECIFIC_1_LDAC_QUALITY_ADAPTIVE = 1003; // 0x3eb
450 field public static final int CODEC_SPECIFIC_1_LDAC_QUALITY_HIGH = 1000; // 0x3e8
451 field public static final int CODEC_SPECIFIC_1_LDAC_QUALITY_LOW = 1002; // 0x3ea
452 field public static final int CODEC_SPECIFIC_1_LDAC_QUALITY_MID = 1001; // 0x3e9
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800453 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecConfig> CREATOR;
454 field public static final int SAMPLE_RATE_176400 = 16; // 0x10
455 field public static final int SAMPLE_RATE_192000 = 32; // 0x20
456 field public static final int SAMPLE_RATE_44100 = 1; // 0x1
457 field public static final int SAMPLE_RATE_48000 = 2; // 0x2
458 field public static final int SAMPLE_RATE_88200 = 4; // 0x4
459 field public static final int SAMPLE_RATE_96000 = 8; // 0x8
460 field public static final int SAMPLE_RATE_NONE = 0; // 0x0
461 field public static final int SOURCE_CODEC_TYPE_AAC = 1; // 0x1
462 field public static final int SOURCE_CODEC_TYPE_APTX = 2; // 0x2
463 field public static final int SOURCE_CODEC_TYPE_APTX_HD = 3; // 0x3
464 field public static final int SOURCE_CODEC_TYPE_INVALID = 1000000; // 0xf4240
465 field public static final int SOURCE_CODEC_TYPE_LC3 = 5; // 0x5
466 field public static final int SOURCE_CODEC_TYPE_LDAC = 4; // 0x4
467 field public static final int SOURCE_CODEC_TYPE_SBC = 0; // 0x0
468 }
469
470 public static final class BluetoothCodecConfig.Builder {
471 ctor public BluetoothCodecConfig.Builder();
472 method @NonNull public android.bluetooth.BluetoothCodecConfig build();
473 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setBitsPerSample(int);
474 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setChannelMode(int);
475 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecPriority(int);
476 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific1(long);
477 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific2(long);
478 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific3(long);
479 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecSpecific4(long);
480 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setCodecType(int);
481 method @NonNull public android.bluetooth.BluetoothCodecConfig.Builder setSampleRate(int);
482 }
483
484 public final class BluetoothCodecStatus implements android.os.Parcelable {
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800485 method public int describeContents();
486 method @Nullable public android.bluetooth.BluetoothCodecConfig getCodecConfig();
487 method @NonNull public java.util.List<android.bluetooth.BluetoothCodecConfig> getCodecsLocalCapabilities();
488 method @NonNull public java.util.List<android.bluetooth.BluetoothCodecConfig> getCodecsSelectableCapabilities();
489 method public boolean isCodecConfigSelectable(@Nullable android.bluetooth.BluetoothCodecConfig);
490 method public void writeToParcel(@NonNull android.os.Parcel, int);
491 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecStatus> CREATOR;
492 field public static final String EXTRA_CODEC_STATUS = "android.bluetooth.extra.CODEC_STATUS";
493 }
494
Etienne Ruffieuxd3c62fd2022-03-08 13:37:12 +0000495 public static final class BluetoothCodecStatus.Builder {
496 ctor public BluetoothCodecStatus.Builder();
497 method @NonNull public android.bluetooth.BluetoothCodecStatus build();
498 method @NonNull public android.bluetooth.BluetoothCodecStatus.Builder setCodecConfig(@NonNull android.bluetooth.BluetoothCodecConfig);
499 method @NonNull public android.bluetooth.BluetoothCodecStatus.Builder setCodecsLocalCapabilities(@NonNull java.util.List<android.bluetooth.BluetoothCodecConfig>);
500 method @NonNull public android.bluetooth.BluetoothCodecStatus.Builder setCodecsSelectableCapabilities(@NonNull java.util.List<android.bluetooth.BluetoothCodecConfig>);
501 }
502
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800503 public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
504 method public void close();
505 method protected void finalize();
506 method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
507 method public int getConnectionState(@Nullable android.bluetooth.BluetoothDevice);
508 method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
509 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CSIS_CONNECTION_STATE_CHANGED = "android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED";
510 }
511
512 public final class BluetoothDevice implements android.os.Parcelable {
513 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback);
514 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int);
515 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
516 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int, android.os.Handler);
517 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond();
518 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException;
519 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
520 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException;
521 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
522 method public int describeContents();
523 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean fetchUuidsWithSdp();
524 method public String getAddress();
525 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getAlias();
526 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothClass getBluetoothClass();
527 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBondState();
528 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName();
529 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getType();
530 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelUuid[] getUuids();
531 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int setAlias(@Nullable String);
532 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPairingConfirmation(boolean);
533 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(byte[]);
534 method public void writeToParcel(android.os.Parcel, int);
535 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_CONNECTED = "android.bluetooth.device.action.ACL_CONNECTED";
536 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECTED = "android.bluetooth.device.action.ACL_DISCONNECTED";
537 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECT_REQUESTED = "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED";
538 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ALIAS_CHANGED = "android.bluetooth.device.action.ALIAS_CHANGED";
539 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BOND_STATE_CHANGED = "android.bluetooth.device.action.BOND_STATE_CHANGED";
540 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CLASS_CHANGED = "android.bluetooth.device.action.CLASS_CHANGED";
541 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_FOUND = "android.bluetooth.device.action.FOUND";
542 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_NAME_CHANGED = "android.bluetooth.device.action.NAME_CHANGED";
543 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST";
544 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_UUID = "android.bluetooth.device.action.UUID";
545 field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
546 field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
Jack He4f9d9022021-12-15 15:40:34 -0800547 field public static final int ADDRESS_TYPE_UNKNOWN = 65535; // 0xffff
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800548 field public static final int BOND_BONDED = 12; // 0xc
549 field public static final int BOND_BONDING = 11; // 0xb
550 field public static final int BOND_NONE = 10; // 0xa
551 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice> CREATOR;
552 field public static final int DEVICE_TYPE_CLASSIC = 1; // 0x1
553 field public static final int DEVICE_TYPE_DUAL = 3; // 0x3
554 field public static final int DEVICE_TYPE_LE = 2; // 0x2
555 field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
556 field public static final int ERROR = -2147483648; // 0x80000000
557 field public static final String EXTRA_BOND_STATE = "android.bluetooth.device.extra.BOND_STATE";
558 field public static final String EXTRA_CLASS = "android.bluetooth.device.extra.CLASS";
559 field public static final String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE";
560 field public static final String EXTRA_IS_COORDINATED_SET_MEMBER = "android.bluetooth.extra.IS_COORDINATED_SET_MEMBER";
561 field public static final String EXTRA_NAME = "android.bluetooth.device.extra.NAME";
562 field public static final String EXTRA_PAIRING_KEY = "android.bluetooth.device.extra.PAIRING_KEY";
563 field public static final String EXTRA_PAIRING_VARIANT = "android.bluetooth.device.extra.PAIRING_VARIANT";
564 field public static final String EXTRA_PREVIOUS_BOND_STATE = "android.bluetooth.device.extra.PREVIOUS_BOND_STATE";
565 field public static final String EXTRA_RSSI = "android.bluetooth.device.extra.RSSI";
566 field public static final String EXTRA_TRANSPORT = "android.bluetooth.device.extra.TRANSPORT";
567 field public static final String EXTRA_UUID = "android.bluetooth.device.extra.UUID";
568 field public static final int PAIRING_VARIANT_PASSKEY_CONFIRMATION = 2; // 0x2
569 field public static final int PAIRING_VARIANT_PIN = 0; // 0x0
570 field public static final int PHY_LE_1M = 1; // 0x1
571 field public static final int PHY_LE_1M_MASK = 1; // 0x1
572 field public static final int PHY_LE_2M = 2; // 0x2
573 field public static final int PHY_LE_2M_MASK = 2; // 0x2
574 field public static final int PHY_LE_CODED = 3; // 0x3
575 field public static final int PHY_LE_CODED_MASK = 4; // 0x4
576 field public static final int PHY_OPTION_NO_PREFERRED = 0; // 0x0
577 field public static final int PHY_OPTION_S2 = 1; // 0x1
578 field public static final int PHY_OPTION_S8 = 2; // 0x2
579 field public static final int TRANSPORT_AUTO = 0; // 0x0
580 field public static final int TRANSPORT_BREDR = 1; // 0x1
581 field public static final int TRANSPORT_LE = 2; // 0x2
582 }
583
584 public final class BluetoothGatt implements android.bluetooth.BluetoothProfile {
585 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite();
586 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite(android.bluetooth.BluetoothDevice);
587 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean beginReliableWrite();
588 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close();
589 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect();
590 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void disconnect();
591 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean discoverServices();
592 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean executeReliableWrite();
593 method @Deprecated public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
594 method @Deprecated public int getConnectionState(android.bluetooth.BluetoothDevice);
595 method public android.bluetooth.BluetoothDevice getDevice();
596 method @Deprecated public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
597 method public android.bluetooth.BluetoothGattService getService(java.util.UUID);
598 method public java.util.List<android.bluetooth.BluetoothGattService> getServices();
599 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
600 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readDescriptor(android.bluetooth.BluetoothGattDescriptor);
601 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy();
602 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readRemoteRssi();
603 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestConnectionPriority(int);
604 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestMtu(int);
605 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic, boolean);
606 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(int, int, int);
607 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
608 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int writeCharacteristic(@NonNull android.bluetooth.BluetoothGattCharacteristic, @NonNull byte[], int);
609 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeDescriptor(android.bluetooth.BluetoothGattDescriptor);
610 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int writeDescriptor(@NonNull android.bluetooth.BluetoothGattDescriptor, @NonNull byte[]);
611 field public static final int CONNECTION_PRIORITY_BALANCED = 0; // 0x0
612 field public static final int CONNECTION_PRIORITY_HIGH = 1; // 0x1
613 field public static final int CONNECTION_PRIORITY_LOW_POWER = 2; // 0x2
614 field public static final int GATT_CONNECTION_CONGESTED = 143; // 0x8f
615 field public static final int GATT_FAILURE = 257; // 0x101
616 field public static final int GATT_INSUFFICIENT_AUTHENTICATION = 5; // 0x5
617 field public static final int GATT_INSUFFICIENT_AUTHORIZATION = 8; // 0x8
618 field public static final int GATT_INSUFFICIENT_ENCRYPTION = 15; // 0xf
619 field public static final int GATT_INVALID_ATTRIBUTE_LENGTH = 13; // 0xd
620 field public static final int GATT_INVALID_OFFSET = 7; // 0x7
621 field public static final int GATT_READ_NOT_PERMITTED = 2; // 0x2
622 field public static final int GATT_REQUEST_NOT_SUPPORTED = 6; // 0x6
623 field public static final int GATT_SUCCESS = 0; // 0x0
624 field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3
625 }
626
627 public abstract class BluetoothGattCallback {
628 ctor public BluetoothGattCallback();
629 method @Deprecated public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic);
630 method public void onCharacteristicChanged(@NonNull android.bluetooth.BluetoothGatt, @NonNull android.bluetooth.BluetoothGattCharacteristic, @NonNull byte[]);
631 method @Deprecated public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
632 method public void onCharacteristicRead(@NonNull android.bluetooth.BluetoothGatt, @NonNull android.bluetooth.BluetoothGattCharacteristic, @NonNull byte[], int);
633 method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
634 method public void onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int);
635 method @Deprecated public void onDescriptorRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int);
636 method public void onDescriptorRead(@NonNull android.bluetooth.BluetoothGatt, @NonNull android.bluetooth.BluetoothGattDescriptor, int, @NonNull byte[]);
637 method public void onDescriptorWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int);
638 method public void onMtuChanged(android.bluetooth.BluetoothGatt, int, int);
639 method public void onPhyRead(android.bluetooth.BluetoothGatt, int, int, int);
640 method public void onPhyUpdate(android.bluetooth.BluetoothGatt, int, int, int);
641 method public void onReadRemoteRssi(android.bluetooth.BluetoothGatt, int, int);
642 method public void onReliableWriteCompleted(android.bluetooth.BluetoothGatt, int);
643 method public void onServiceChanged(@NonNull android.bluetooth.BluetoothGatt);
644 method public void onServicesDiscovered(android.bluetooth.BluetoothGatt, int);
645 }
646
647 public class BluetoothGattCharacteristic implements android.os.Parcelable {
648 ctor public BluetoothGattCharacteristic(java.util.UUID, int, int);
649 method public boolean addDescriptor(android.bluetooth.BluetoothGattDescriptor);
650 method public int describeContents();
651 method public android.bluetooth.BluetoothGattDescriptor getDescriptor(java.util.UUID);
652 method public java.util.List<android.bluetooth.BluetoothGattDescriptor> getDescriptors();
653 method @Deprecated public Float getFloatValue(int, int);
654 method public int getInstanceId();
655 method @Deprecated public Integer getIntValue(int, int);
656 method public int getPermissions();
657 method public int getProperties();
658 method public android.bluetooth.BluetoothGattService getService();
659 method @Deprecated public String getStringValue(int);
660 method public java.util.UUID getUuid();
661 method @Deprecated public byte[] getValue();
662 method public int getWriteType();
663 method @Deprecated public boolean setValue(byte[]);
664 method @Deprecated public boolean setValue(int, int, int);
665 method @Deprecated public boolean setValue(int, int, int, int);
666 method @Deprecated public boolean setValue(String);
667 method public void setWriteType(int);
668 method public void writeToParcel(android.os.Parcel, int);
669 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic> CREATOR;
670 field public static final int FORMAT_FLOAT = 52; // 0x34
671 field public static final int FORMAT_SFLOAT = 50; // 0x32
672 field public static final int FORMAT_SINT16 = 34; // 0x22
673 field public static final int FORMAT_SINT32 = 36; // 0x24
674 field public static final int FORMAT_SINT8 = 33; // 0x21
675 field public static final int FORMAT_UINT16 = 18; // 0x12
676 field public static final int FORMAT_UINT32 = 20; // 0x14
677 field public static final int FORMAT_UINT8 = 17; // 0x11
678 field public static final int PERMISSION_READ = 1; // 0x1
679 field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2
680 field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4
681 field public static final int PERMISSION_WRITE = 16; // 0x10
682 field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20
683 field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40
684 field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80
685 field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100
686 field public static final int PROPERTY_BROADCAST = 1; // 0x1
687 field public static final int PROPERTY_EXTENDED_PROPS = 128; // 0x80
688 field public static final int PROPERTY_INDICATE = 32; // 0x20
689 field public static final int PROPERTY_NOTIFY = 16; // 0x10
690 field public static final int PROPERTY_READ = 2; // 0x2
691 field public static final int PROPERTY_SIGNED_WRITE = 64; // 0x40
692 field public static final int PROPERTY_WRITE = 8; // 0x8
693 field public static final int PROPERTY_WRITE_NO_RESPONSE = 4; // 0x4
694 field public static final int WRITE_TYPE_DEFAULT = 2; // 0x2
695 field public static final int WRITE_TYPE_NO_RESPONSE = 1; // 0x1
696 field public static final int WRITE_TYPE_SIGNED = 4; // 0x4
697 field protected java.util.List<android.bluetooth.BluetoothGattDescriptor> mDescriptors;
698 }
699
700 public class BluetoothGattDescriptor implements android.os.Parcelable {
701 ctor public BluetoothGattDescriptor(java.util.UUID, int);
702 method public int describeContents();
703 method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic();
704 method public int getPermissions();
705 method public java.util.UUID getUuid();
706 method @Deprecated public byte[] getValue();
707 method @Deprecated public boolean setValue(byte[]);
708 method public void writeToParcel(android.os.Parcel, int);
709 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor> CREATOR;
710 field public static final byte[] DISABLE_NOTIFICATION_VALUE;
711 field public static final byte[] ENABLE_INDICATION_VALUE;
712 field public static final byte[] ENABLE_NOTIFICATION_VALUE;
713 field public static final int PERMISSION_READ = 1; // 0x1
714 field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2
715 field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4
716 field public static final int PERMISSION_WRITE = 16; // 0x10
717 field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20
718 field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40
719 field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80
720 field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100
721 }
722
723 public final class BluetoothGattServer implements android.bluetooth.BluetoothProfile {
724 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean addService(android.bluetooth.BluetoothGattService);
725 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void cancelConnection(android.bluetooth.BluetoothDevice);
726 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void clearServices();
727 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close();
728 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice, boolean);
729 method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
730 method public int getConnectionState(android.bluetooth.BluetoothDevice);
731 method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
732 method public android.bluetooth.BluetoothGattService getService(java.util.UUID);
733 method public java.util.List<android.bluetooth.BluetoothGattService> getServices();
734 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean notifyCharacteristicChanged(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothGattCharacteristic, boolean);
735 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int notifyCharacteristicChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothGattCharacteristic, boolean, @NonNull byte[]);
736 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(android.bluetooth.BluetoothDevice);
737 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeService(android.bluetooth.BluetoothGattService);
738 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendResponse(android.bluetooth.BluetoothDevice, int, int, int, byte[]);
739 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int);
740 }
741
742 public abstract class BluetoothGattServerCallback {
743 ctor public BluetoothGattServerCallback();
744 method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic);
745 method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]);
746 method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int);
747 method public void onDescriptorReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattDescriptor);
748 method public void onDescriptorWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattDescriptor, boolean, boolean, int, byte[]);
749 method public void onExecuteWrite(android.bluetooth.BluetoothDevice, int, boolean);
750 method public void onMtuChanged(android.bluetooth.BluetoothDevice, int);
751 method public void onNotificationSent(android.bluetooth.BluetoothDevice, int);
752 method public void onPhyRead(android.bluetooth.BluetoothDevice, int, int, int);
753 method public void onPhyUpdate(android.bluetooth.BluetoothDevice, int, int, int);
754 method public void onServiceAdded(int, android.bluetooth.BluetoothGattService);
755 }
756
757 public class BluetoothGattService implements android.os.Parcelable {
758 ctor public BluetoothGattService(java.util.UUID, int);
759 method public boolean addCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
760 method public boolean addService(android.bluetooth.BluetoothGattService);
761 method public int describeContents();
762 method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic(java.util.UUID);
763 method public java.util.List<android.bluetooth.BluetoothGattCharacteristic> getCharacteristics();
764 method public java.util.List<android.bluetooth.BluetoothGattService> getIncludedServices();
765 method public int getInstanceId();
766 method public int getType();
767 method public java.util.UUID getUuid();
768 method public void writeToParcel(android.os.Parcel, int);
769 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService> CREATOR;
770 field public static final int SERVICE_TYPE_PRIMARY = 0; // 0x0
771 field public static final int SERVICE_TYPE_SECONDARY = 1; // 0x1
772 field protected java.util.List<android.bluetooth.BluetoothGattCharacteristic> mCharacteristics;
773 field protected java.util.List<android.bluetooth.BluetoothGattService> mIncludedServices;
774 }
775
776 public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
777 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
778 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
779 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
780 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isAudioConnected(android.bluetooth.BluetoothDevice);
781 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isNoiseReductionSupported(@NonNull android.bluetooth.BluetoothDevice);
782 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isVoiceRecognitionSupported(@NonNull android.bluetooth.BluetoothDevice);
783 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendVendorSpecificResultCode(android.bluetooth.BluetoothDevice, String, String);
784 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean startVoiceRecognition(android.bluetooth.BluetoothDevice);
785 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean stopVoiceRecognition(android.bluetooth.BluetoothDevice);
786 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_AUDIO_STATE_CHANGED = "android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED";
787 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED";
788 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT = "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT";
789 field public static final int AT_CMD_TYPE_ACTION = 4; // 0x4
790 field public static final int AT_CMD_TYPE_BASIC = 3; // 0x3
791 field public static final int AT_CMD_TYPE_READ = 0; // 0x0
792 field public static final int AT_CMD_TYPE_SET = 2; // 0x2
793 field public static final int AT_CMD_TYPE_TEST = 1; // 0x1
794 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS";
795 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD";
796 field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE";
797 field public static final int STATE_AUDIO_CONNECTED = 12; // 0xc
798 field public static final int STATE_AUDIO_CONNECTING = 11; // 0xb
799 field public static final int STATE_AUDIO_DISCONNECTED = 10; // 0xa
800 field public static final String VENDOR_RESULT_CODE_COMMAND_ANDROID = "+ANDROID";
801 field public static final String VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY = "android.bluetooth.headset.intent.category.companyid";
802 }
803
804 @Deprecated public final class BluetoothHealth implements android.bluetooth.BluetoothProfile {
805 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connectChannelToSource(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
806 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnectChannel(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration, int);
807 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
808 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
809 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
810 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelFileDescriptor getMainChannelFd(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
811 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerSinkAppConfiguration(String, int, android.bluetooth.BluetoothHealthCallback);
812 method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterAppConfiguration(android.bluetooth.BluetoothHealthAppConfiguration);
813 field @Deprecated public static final int APP_CONFIG_REGISTRATION_FAILURE = 1; // 0x1
814 field @Deprecated public static final int APP_CONFIG_REGISTRATION_SUCCESS = 0; // 0x0
815 field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_FAILURE = 3; // 0x3
816 field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_SUCCESS = 2; // 0x2
817 field @Deprecated public static final int CHANNEL_TYPE_RELIABLE = 10; // 0xa
818 field @Deprecated public static final int CHANNEL_TYPE_STREAMING = 11; // 0xb
819 field @Deprecated public static final int SINK_ROLE = 2; // 0x2
820 field @Deprecated public static final int SOURCE_ROLE = 1; // 0x1
821 field @Deprecated public static final int STATE_CHANNEL_CONNECTED = 2; // 0x2
822 field @Deprecated public static final int STATE_CHANNEL_CONNECTING = 1; // 0x1
823 field @Deprecated public static final int STATE_CHANNEL_DISCONNECTED = 0; // 0x0
824 field @Deprecated public static final int STATE_CHANNEL_DISCONNECTING = 3; // 0x3
825 }
826
827 @Deprecated public final class BluetoothHealthAppConfiguration implements android.os.Parcelable {
828 method @Deprecated public int describeContents();
829 method @Deprecated public int getDataType();
830 method @Deprecated public String getName();
831 method @Deprecated public int getRole();
832 method @Deprecated public void writeToParcel(android.os.Parcel, int);
833 field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration> CREATOR;
834 }
835
836 @Deprecated public abstract class BluetoothHealthCallback {
837 ctor @Deprecated public BluetoothHealthCallback();
838 method @Deprecated @BinderThread public void onHealthAppConfigurationStatusChange(android.bluetooth.BluetoothHealthAppConfiguration, int);
839 method @Deprecated @BinderThread public void onHealthChannelStateChange(android.bluetooth.BluetoothHealthAppConfiguration, android.bluetooth.BluetoothDevice, int, int, android.os.ParcelFileDescriptor, int);
840 }
841
842 public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
843 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
844 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
845 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
846 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED";
847 }
848
849 public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
850 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice);
851 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
852 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
853 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
854 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
855 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerApp(android.bluetooth.BluetoothHidDeviceAppSdpSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, java.util.concurrent.Executor, android.bluetooth.BluetoothHidDevice.Callback);
856 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean replyReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]);
857 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean reportError(android.bluetooth.BluetoothDevice, byte);
858 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendReport(android.bluetooth.BluetoothDevice, int, byte[]);
859 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterApp();
860 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED";
861 field public static final byte ERROR_RSP_INVALID_PARAM = 4; // 0x4
862 field public static final byte ERROR_RSP_INVALID_RPT_ID = 2; // 0x2
863 field public static final byte ERROR_RSP_NOT_READY = 1; // 0x1
864 field public static final byte ERROR_RSP_SUCCESS = 0; // 0x0
865 field public static final byte ERROR_RSP_UNKNOWN = 14; // 0xe
866 field public static final byte ERROR_RSP_UNSUPPORTED_REQ = 3; // 0x3
867 field public static final byte PROTOCOL_BOOT_MODE = 0; // 0x0
868 field public static final byte PROTOCOL_REPORT_MODE = 1; // 0x1
869 field public static final byte REPORT_TYPE_FEATURE = 3; // 0x3
870 field public static final byte REPORT_TYPE_INPUT = 1; // 0x1
871 field public static final byte REPORT_TYPE_OUTPUT = 2; // 0x2
872 field public static final byte SUBCLASS1_COMBO = -64; // 0xffffffc0
873 field public static final byte SUBCLASS1_KEYBOARD = 64; // 0x40
874 field public static final byte SUBCLASS1_MOUSE = -128; // 0xffffff80
875 field public static final byte SUBCLASS1_NONE = 0; // 0x0
876 field public static final byte SUBCLASS2_CARD_READER = 6; // 0x6
877 field public static final byte SUBCLASS2_DIGITIZER_TABLET = 5; // 0x5
878 field public static final byte SUBCLASS2_GAMEPAD = 2; // 0x2
879 field public static final byte SUBCLASS2_JOYSTICK = 1; // 0x1
880 field public static final byte SUBCLASS2_REMOTE_CONTROL = 3; // 0x3
881 field public static final byte SUBCLASS2_SENSING_DEVICE = 4; // 0x4
882 field public static final byte SUBCLASS2_UNCATEGORIZED = 0; // 0x0
883 }
884
885 public abstract static class BluetoothHidDevice.Callback {
886 ctor public BluetoothHidDevice.Callback();
887 method public void onAppStatusChanged(android.bluetooth.BluetoothDevice, boolean);
888 method public void onConnectionStateChanged(android.bluetooth.BluetoothDevice, int);
889 method public void onGetReport(android.bluetooth.BluetoothDevice, byte, byte, int);
890 method public void onInterruptData(android.bluetooth.BluetoothDevice, byte, byte[]);
891 method public void onSetProtocol(android.bluetooth.BluetoothDevice, byte);
892 method public void onSetReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]);
893 method public void onVirtualCableUnplug(android.bluetooth.BluetoothDevice);
894 }
895
896 public final class BluetoothHidDeviceAppQosSettings implements android.os.Parcelable {
897 ctor public BluetoothHidDeviceAppQosSettings(int, int, int, int, int, int);
898 method public int describeContents();
899 method public int getDelayVariation();
900 method public int getLatency();
901 method public int getPeakBandwidth();
902 method public int getServiceType();
903 method public int getTokenBucketSize();
904 method public int getTokenRate();
905 method public void writeToParcel(android.os.Parcel, int);
906 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings> CREATOR;
907 field public static final int MAX = -1; // 0xffffffff
908 field public static final int SERVICE_BEST_EFFORT = 1; // 0x1
909 field public static final int SERVICE_GUARANTEED = 2; // 0x2
910 field public static final int SERVICE_NO_TRAFFIC = 0; // 0x0
911 }
912
913 public final class BluetoothHidDeviceAppSdpSettings implements android.os.Parcelable {
914 ctor public BluetoothHidDeviceAppSdpSettings(String, String, String, byte, byte[]);
915 method public int describeContents();
916 method public String getDescription();
917 method public byte[] getDescriptors();
918 method public String getName();
919 method public String getProvider();
920 method public byte getSubclass();
921 method public void writeToParcel(android.os.Parcel, int);
922 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings> CREATOR;
923 }
924
925 public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
926 method public void close();
927 method protected void finalize();
928 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
929 method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothDevice getConnectedGroupLeadDevice(int);
930 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
931 method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
932 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getGroupId(@NonNull android.bluetooth.BluetoothDevice);
933 field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LE_AUDIO_CONNECTION_STATE_CHANGED = "android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED";
Jakub Tyszkowskia89f2e12022-01-27 13:23:05 +0000934 field public static final int GROUP_ID_INVALID = -1; // 0xffffffff
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800935 }
936
937 public final class BluetoothLeAudioCodecConfig implements android.os.Parcelable {
938 method public int describeContents();
939 method public int getBitsPerSample();
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000940 method public int getChannelCount();
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800941 method @NonNull public String getCodecName();
942 method public int getCodecPriority();
943 method public int getCodecType();
944 method public int getFrameDuration();
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000945 method public int getMaxOctetsPerFrame();
946 method public int getMinOctetsPerFrame();
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800947 method public int getOctetsPerFrame();
948 method public int getSampleRate();
949 method public void writeToParcel(@NonNull android.os.Parcel, int);
950 field public static final int BITS_PER_SAMPLE_16 = 1; // 0x1
951 field public static final int BITS_PER_SAMPLE_24 = 2; // 0x2
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000952 field public static final int BITS_PER_SAMPLE_32 = 8; // 0x8
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800953 field public static final int BITS_PER_SAMPLE_NONE = 0; // 0x0
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000954 field public static final int CHANNEL_COUNT_1 = 1; // 0x1
955 field public static final int CHANNEL_COUNT_2 = 2; // 0x2
956 field public static final int CHANNEL_COUNT_NONE = 0; // 0x0
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800957 field public static final int CODEC_PRIORITY_DEFAULT = 0; // 0x0
958 field public static final int CODEC_PRIORITY_DISABLED = -1; // 0xffffffff
959 field public static final int CODEC_PRIORITY_HIGHEST = 1000000; // 0xf4240
960 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfig> CREATOR;
961 field public static final int FRAME_DURATION_10000 = 2; // 0x2
962 field public static final int FRAME_DURATION_7500 = 1; // 0x1
963 field public static final int FRAME_DURATION_NONE = 0; // 0x0
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000964 field public static final int SAMPLE_RATE_16000 = 4; // 0x4
965 field public static final int SAMPLE_RATE_24000 = 16; // 0x10
966 field public static final int SAMPLE_RATE_32000 = 32; // 0x20
967 field public static final int SAMPLE_RATE_44100 = 64; // 0x40
968 field public static final int SAMPLE_RATE_48000 = 128; // 0x80
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800969 field public static final int SAMPLE_RATE_8000 = 1; // 0x1
970 field public static final int SAMPLE_RATE_NONE = 0; // 0x0
971 field public static final int SOURCE_CODEC_TYPE_INVALID = 1000000; // 0xf4240
972 field public static final int SOURCE_CODEC_TYPE_LC3 = 0; // 0x0
973 }
974
975 public static final class BluetoothLeAudioCodecConfig.Builder {
976 ctor public BluetoothLeAudioCodecConfig.Builder();
977 ctor public BluetoothLeAudioCodecConfig.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfig);
978 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig build();
979 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setBitsPerSample(int);
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000980 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setChannelCount(int);
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800981 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setCodecPriority(int);
982 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setCodecType(int);
983 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setFrameDuration(int);
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000984 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setMaxOctetsPerFrame(int);
985 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setMinOctetsPerFrame(int);
Roopa Sattirajuc7938372022-01-20 10:00:42 -0800986 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setOctetsPerFrame(int);
987 method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfig.Builder setSampleRate(int);
988 }
989
Patty7cf686a2022-01-25 19:58:37 +0800990 public final class BluetoothLeAudioCodecStatus implements android.os.Parcelable {
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000991 ctor public BluetoothLeAudioCodecStatus(@Nullable android.bluetooth.BluetoothLeAudioCodecConfig, @Nullable android.bluetooth.BluetoothLeAudioCodecConfig, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, @NonNull java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>);
Patty7cf686a2022-01-25 19:58:37 +0800992 method public int describeContents();
Łukasz Rymanowski4fb65362022-03-10 10:28:12 +0000993 method @Nullable public android.bluetooth.BluetoothLeAudioCodecConfig getInputCodecConfig();
994 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getInputCodecLocalCapabilities();
995 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getInputCodecSelectableCapabilities();
996 method @Nullable public android.bluetooth.BluetoothLeAudioCodecConfig getOutputCodecConfig();
997 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getOutputCodecLocalCapabilities();
998 method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getOutputCodecSelectableCapabilities();
999 method public boolean isInputCodecConfigSelectable(@Nullable android.bluetooth.BluetoothLeAudioCodecConfig);
1000 method public boolean isOutputCodecConfigSelectable(@Nullable android.bluetooth.BluetoothLeAudioCodecConfig);
Patty7cf686a2022-01-25 19:58:37 +08001001 method public void writeToParcel(@NonNull android.os.Parcel, int);
1002 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecStatus> CREATOR;
1003 field public static final String EXTRA_LE_AUDIO_CODEC_STATUS = "android.bluetooth.extra.LE_AUDIO_CODEC_STATUS";
1004 }
1005
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001006 public final class BluetoothManager {
1007 method public android.bluetooth.BluetoothAdapter getAdapter();
1008 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(int);
1009 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice, int);
1010 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int, int[]);
1011 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGattServer openGattServer(android.content.Context, android.bluetooth.BluetoothGattServerCallback);
1012 }
1013
1014 public interface BluetoothProfile {
1015 method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
1016 method public int getConnectionState(android.bluetooth.BluetoothDevice);
1017 method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
1018 field public static final int A2DP = 2; // 0x2
1019 field public static final int CSIP_SET_COORDINATOR = 25; // 0x19
1020 field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.profile.extra.PREVIOUS_STATE";
1021 field public static final String EXTRA_STATE = "android.bluetooth.profile.extra.STATE";
1022 field public static final int GATT = 7; // 0x7
1023 field public static final int GATT_SERVER = 8; // 0x8
1024 field public static final int HAP_CLIENT = 28; // 0x1c
1025 field public static final int HEADSET = 1; // 0x1
1026 field @Deprecated public static final int HEALTH = 3; // 0x3
1027 field public static final int HEARING_AID = 21; // 0x15
1028 field public static final int HID_DEVICE = 19; // 0x13
1029 field public static final int LE_AUDIO = 22; // 0x16
1030 field public static final int SAP = 10; // 0xa
1031 field public static final int STATE_CONNECTED = 2; // 0x2
1032 field public static final int STATE_CONNECTING = 1; // 0x1
1033 field public static final int STATE_DISCONNECTED = 0; // 0x0
1034 field public static final int STATE_DISCONNECTING = 3; // 0x3
1035 }
1036
1037 public static interface BluetoothProfile.ServiceListener {
1038 method public void onServiceConnected(int, android.bluetooth.BluetoothProfile);
1039 method public void onServiceDisconnected(int);
1040 }
1041
1042 public final class BluetoothServerSocket implements java.io.Closeable {
1043 method public android.bluetooth.BluetoothSocket accept() throws java.io.IOException;
1044 method public android.bluetooth.BluetoothSocket accept(int) throws java.io.IOException;
1045 method public void close() throws java.io.IOException;
1046 method public int getPsm();
1047 }
1048
1049 public final class BluetoothSocket implements java.io.Closeable {
1050 method public void close() throws java.io.IOException;
1051 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void connect() throws java.io.IOException;
1052 method public int getConnectionType();
1053 method public java.io.InputStream getInputStream() throws java.io.IOException;
1054 method public int getMaxReceivePacketSize();
1055 method public int getMaxTransmitPacketSize();
1056 method public java.io.OutputStream getOutputStream() throws java.io.IOException;
1057 method public android.bluetooth.BluetoothDevice getRemoteDevice();
1058 method public boolean isConnected();
1059 field public static final int TYPE_L2CAP = 3; // 0x3
1060 field public static final int TYPE_RFCOMM = 1; // 0x1
1061 field public static final int TYPE_SCO = 2; // 0x2
1062 }
1063
1064 public final class BluetoothStatusCodes {
1065 field public static final int ERROR_BLUETOOTH_NOT_ALLOWED = 2; // 0x2
1066 field public static final int ERROR_BLUETOOTH_NOT_ENABLED = 1; // 0x1
1067 field public static final int ERROR_DEVICE_NOT_BONDED = 3; // 0x3
1068 field public static final int ERROR_GATT_WRITE_NOT_ALLOWED = 200; // 0xc8
1069 field public static final int ERROR_GATT_WRITE_REQUEST_BUSY = 201; // 0xc9
1070 field public static final int ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION = 6; // 0x6
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001071 field public static final int ERROR_PROFILE_SERVICE_NOT_BOUND = 9; // 0x9
1072 field public static final int ERROR_UNKNOWN = 2147483647; // 0x7fffffff
1073 field public static final int FEATURE_NOT_SUPPORTED = 11; // 0xb
1074 field public static final int FEATURE_SUPPORTED = 10; // 0xa
1075 field public static final int SUCCESS = 0; // 0x0
1076 }
1077
1078}
1079
1080package android.bluetooth.le {
1081
1082 public abstract class AdvertiseCallback {
1083 ctor public AdvertiseCallback();
1084 method public void onStartFailure(int);
1085 method public void onStartSuccess(android.bluetooth.le.AdvertiseSettings);
1086 field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3
1087 field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1
1088 field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5
1089 field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4
1090 field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2
1091 }
1092
1093 public final class AdvertiseData implements android.os.Parcelable {
1094 method public int describeContents();
1095 method public boolean getIncludeDeviceName();
1096 method public boolean getIncludeTxPowerLevel();
1097 method public android.util.SparseArray<byte[]> getManufacturerSpecificData();
1098 method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData();
1099 method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids();
1100 method public java.util.List<android.os.ParcelUuid> getServiceUuids();
1101 method @NonNull public java.util.List<android.bluetooth.le.TransportDiscoveryData> getTransportDiscoveryData();
1102 method public void writeToParcel(android.os.Parcel, int);
1103 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData> CREATOR;
1104 }
1105
1106 public static final class AdvertiseData.Builder {
1107 ctor public AdvertiseData.Builder();
1108 method public android.bluetooth.le.AdvertiseData.Builder addManufacturerData(int, byte[]);
1109 method public android.bluetooth.le.AdvertiseData.Builder addServiceData(android.os.ParcelUuid, byte[]);
1110 method @NonNull public android.bluetooth.le.AdvertiseData.Builder addServiceSolicitationUuid(@NonNull android.os.ParcelUuid);
1111 method public android.bluetooth.le.AdvertiseData.Builder addServiceUuid(android.os.ParcelUuid);
1112 method @NonNull public android.bluetooth.le.AdvertiseData.Builder addTransportDiscoveryData(@NonNull android.bluetooth.le.TransportDiscoveryData);
1113 method public android.bluetooth.le.AdvertiseData build();
1114 method public android.bluetooth.le.AdvertiseData.Builder setIncludeDeviceName(boolean);
1115 method public android.bluetooth.le.AdvertiseData.Builder setIncludeTxPowerLevel(boolean);
1116 }
1117
1118 public final class AdvertiseSettings implements android.os.Parcelable {
1119 method public int describeContents();
1120 method public int getMode();
1121 method public int getTimeout();
1122 method public int getTxPowerLevel();
1123 method public boolean isConnectable();
1124 method public void writeToParcel(android.os.Parcel, int);
1125 field public static final int ADVERTISE_MODE_BALANCED = 1; // 0x1
1126 field public static final int ADVERTISE_MODE_LOW_LATENCY = 2; // 0x2
1127 field public static final int ADVERTISE_MODE_LOW_POWER = 0; // 0x0
1128 field public static final int ADVERTISE_TX_POWER_HIGH = 3; // 0x3
1129 field public static final int ADVERTISE_TX_POWER_LOW = 1; // 0x1
1130 field public static final int ADVERTISE_TX_POWER_MEDIUM = 2; // 0x2
1131 field public static final int ADVERTISE_TX_POWER_ULTRA_LOW = 0; // 0x0
1132 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings> CREATOR;
1133 }
1134
1135 public static final class AdvertiseSettings.Builder {
1136 ctor public AdvertiseSettings.Builder();
1137 method public android.bluetooth.le.AdvertiseSettings build();
1138 method public android.bluetooth.le.AdvertiseSettings.Builder setAdvertiseMode(int);
1139 method public android.bluetooth.le.AdvertiseSettings.Builder setConnectable(boolean);
1140 method public android.bluetooth.le.AdvertiseSettings.Builder setTimeout(int);
1141 method public android.bluetooth.le.AdvertiseSettings.Builder setTxPowerLevel(int);
1142 }
1143
1144 public final class AdvertisingSet {
1145 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void enableAdvertising(boolean, int, int);
1146 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
1147 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
1148 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
1149 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingEnabled(boolean);
1150 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingParameters(android.bluetooth.le.PeriodicAdvertisingParameters);
1151 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setScanResponseData(android.bluetooth.le.AdvertiseData);
1152 }
1153
1154 public abstract class AdvertisingSetCallback {
1155 ctor public AdvertisingSetCallback();
1156 method public void onAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int);
1157 method public void onAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int);
1158 method public void onAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int, int);
1159 method public void onAdvertisingSetStarted(android.bluetooth.le.AdvertisingSet, int, int);
1160 method public void onAdvertisingSetStopped(android.bluetooth.le.AdvertisingSet);
1161 method public void onPeriodicAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int);
1162 method public void onPeriodicAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int);
1163 method public void onPeriodicAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int);
1164 method public void onScanResponseDataSet(android.bluetooth.le.AdvertisingSet, int);
1165 field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3
1166 field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1
1167 field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5
1168 field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4
1169 field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2
1170 field public static final int ADVERTISE_SUCCESS = 0; // 0x0
1171 }
1172
1173 public final class AdvertisingSetParameters implements android.os.Parcelable {
1174 method public int describeContents();
1175 method public int getInterval();
1176 method public int getPrimaryPhy();
1177 method public int getSecondaryPhy();
1178 method public int getTxPowerLevel();
1179 method public boolean includeTxPower();
1180 method public boolean isAnonymous();
1181 method public boolean isConnectable();
1182 method public boolean isLegacy();
1183 method public boolean isScannable();
1184 method public void writeToParcel(android.os.Parcel, int);
1185 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters> CREATOR;
1186 field public static final int INTERVAL_HIGH = 1600; // 0x640
1187 field public static final int INTERVAL_LOW = 160; // 0xa0
1188 field public static final int INTERVAL_MAX = 16777215; // 0xffffff
1189 field public static final int INTERVAL_MEDIUM = 400; // 0x190
1190 field public static final int INTERVAL_MIN = 160; // 0xa0
1191 field public static final int TX_POWER_HIGH = 1; // 0x1
1192 field public static final int TX_POWER_LOW = -15; // 0xfffffff1
1193 field public static final int TX_POWER_MAX = 1; // 0x1
1194 field public static final int TX_POWER_MEDIUM = -7; // 0xfffffff9
1195 field public static final int TX_POWER_MIN = -127; // 0xffffff81
1196 field public static final int TX_POWER_ULTRA_LOW = -21; // 0xffffffeb
1197 }
1198
1199 public static final class AdvertisingSetParameters.Builder {
1200 ctor public AdvertisingSetParameters.Builder();
1201 method public android.bluetooth.le.AdvertisingSetParameters build();
1202 method public android.bluetooth.le.AdvertisingSetParameters.Builder setAnonymous(boolean);
1203 method public android.bluetooth.le.AdvertisingSetParameters.Builder setConnectable(boolean);
1204 method public android.bluetooth.le.AdvertisingSetParameters.Builder setIncludeTxPower(boolean);
1205 method public android.bluetooth.le.AdvertisingSetParameters.Builder setInterval(int);
1206 method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
1207 method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
1208 method public android.bluetooth.le.AdvertisingSetParameters.Builder setScannable(boolean);
1209 method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
1210 method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
1211 }
1212
1213 public final class BluetoothLeAdvertiser {
1214 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
1215 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
1216 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
1217 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
1218 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback);
1219 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
1220 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
1221 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
1222 }
1223
1224 public final class BluetoothLeScanner {
1225 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void flushPendingScanResults(android.bluetooth.le.ScanCallback);
1226 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(android.bluetooth.le.ScanCallback);
1227 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
1228 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int startScan(@Nullable java.util.List<android.bluetooth.le.ScanFilter>, @Nullable android.bluetooth.le.ScanSettings, @NonNull android.app.PendingIntent);
1229 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.bluetooth.le.ScanCallback);
1230 method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.app.PendingIntent);
1231 field public static final String EXTRA_CALLBACK_TYPE = "android.bluetooth.le.extra.CALLBACK_TYPE";
1232 field public static final String EXTRA_ERROR_CODE = "android.bluetooth.le.extra.ERROR_CODE";
1233 field public static final String EXTRA_LIST_SCAN_RESULT = "android.bluetooth.le.extra.LIST_SCAN_RESULT";
1234 }
1235
1236 public final class PeriodicAdvertisingParameters implements android.os.Parcelable {
1237 method public int describeContents();
1238 method public boolean getIncludeTxPower();
1239 method public int getInterval();
1240 method public void writeToParcel(android.os.Parcel, int);
1241 field public static final android.os.Parcelable.Creator<android.bluetooth.le.PeriodicAdvertisingParameters> CREATOR;
1242 }
1243
1244 public static final class PeriodicAdvertisingParameters.Builder {
1245 ctor public PeriodicAdvertisingParameters.Builder();
1246 method public android.bluetooth.le.PeriodicAdvertisingParameters build();
1247 method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setIncludeTxPower(boolean);
1248 method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setInterval(int);
1249 }
1250
1251 public abstract class ScanCallback {
1252 ctor public ScanCallback();
1253 method public void onBatchScanResults(java.util.List<android.bluetooth.le.ScanResult>);
1254 method public void onScanFailed(int);
1255 method public void onScanResult(int, android.bluetooth.le.ScanResult);
1256 field public static final int SCAN_FAILED_ALREADY_STARTED = 1; // 0x1
1257 field public static final int SCAN_FAILED_APPLICATION_REGISTRATION_FAILED = 2; // 0x2
1258 field public static final int SCAN_FAILED_FEATURE_UNSUPPORTED = 4; // 0x4
1259 field public static final int SCAN_FAILED_INTERNAL_ERROR = 3; // 0x3
William Escande4c28ea22022-03-08 12:19:43 +01001260 field public static final int SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES = 5; // 0x5
1261 field public static final int SCAN_FAILED_SCANNING_TOO_FREQUENTLY = 6; // 0x6
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001262 }
1263
1264 public final class ScanFilter implements android.os.Parcelable {
1265 method public int describeContents();
Chienyuan1ca8dbd2022-01-20 15:55:53 +08001266 method @Nullable public byte[] getAdvertisingData();
1267 method @Nullable public byte[] getAdvertisingDataMask();
1268 method public int getAdvertisingDataType();
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001269 method @Nullable public String getDeviceAddress();
1270 method @Nullable public String getDeviceName();
1271 method @Nullable public byte[] getManufacturerData();
1272 method @Nullable public byte[] getManufacturerDataMask();
1273 method public int getManufacturerId();
1274 method @Nullable public byte[] getServiceData();
1275 method @Nullable public byte[] getServiceDataMask();
1276 method @Nullable public android.os.ParcelUuid getServiceDataUuid();
1277 method @Nullable public android.os.ParcelUuid getServiceSolicitationUuid();
1278 method @Nullable public android.os.ParcelUuid getServiceSolicitationUuidMask();
1279 method @Nullable public android.os.ParcelUuid getServiceUuid();
1280 method @Nullable public android.os.ParcelUuid getServiceUuidMask();
1281 method public boolean matches(android.bluetooth.le.ScanResult);
1282 method public void writeToParcel(android.os.Parcel, int);
1283 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter> CREATOR;
1284 }
1285
1286 public static final class ScanFilter.Builder {
1287 ctor public ScanFilter.Builder();
1288 method public android.bluetooth.le.ScanFilter build();
Chienyuan8f416cd2022-03-16 21:33:05 +08001289 method @NonNull public android.bluetooth.le.ScanFilter.Builder setAdvertisingDataType(int);
1290 method @NonNull public android.bluetooth.le.ScanFilter.Builder setAdvertisingDataTypeWithData(int, @NonNull byte[], @NonNull byte[]);
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001291 method public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(String);
1292 method public android.bluetooth.le.ScanFilter.Builder setDeviceName(String);
1293 method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[]);
1294 method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[], byte[]);
1295 method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[]);
1296 method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[], byte[]);
1297 method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid);
1298 method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid, @Nullable android.os.ParcelUuid);
1299 method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid);
1300 method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid, android.os.ParcelUuid);
1301 }
1302
1303 public final class ScanRecord {
1304 method public int getAdvertiseFlags();
Chienyuan1ca8dbd2022-01-20 15:55:53 +08001305 method @NonNull public java.util.Map<java.lang.Integer,byte[]> getAdvertisingDataMap();
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001306 method public byte[] getBytes();
1307 method @Nullable public String getDeviceName();
1308 method public android.util.SparseArray<byte[]> getManufacturerSpecificData();
1309 method @Nullable public byte[] getManufacturerSpecificData(int);
1310 method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData();
1311 method @Nullable public byte[] getServiceData(android.os.ParcelUuid);
1312 method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids();
1313 method public java.util.List<android.os.ParcelUuid> getServiceUuids();
1314 method public int getTxPowerLevel();
Chienyuan8f416cd2022-03-16 21:33:05 +08001315 field public static final int DATA_TYPE_3D_INFORMATION_DATA = 61; // 0x3d
1316 field public static final int DATA_TYPE_ADVERTISING_INTERVAL = 26; // 0x1a
1317 field public static final int DATA_TYPE_ADVERTISING_INTERVAL_LONG = 47; // 0x2f
1318 field public static final int DATA_TYPE_APPEARANCE = 25; // 0x19
1319 field public static final int DATA_TYPE_BIG_INFO = 44; // 0x2c
1320 field public static final int DATA_TYPE_BROADCAST_CODE = 45; // 0x2d
1321 field public static final int DATA_TYPE_CHANNEL_MAP_UPDATE_INDICATION = 40; // 0x28
1322 field public static final int DATA_TYPE_CLASS_OF_DEVICE = 13; // 0xd
1323 field public static final int DATA_TYPE_DEVICE_ID = 16; // 0x10
1324 field public static final int DATA_TYPE_FLAGS = 1; // 0x1
1325 field public static final int DATA_TYPE_INDOOR_POSITIONING = 37; // 0x25
1326 field public static final int DATA_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS = 27; // 0x1b
1327 field public static final int DATA_TYPE_LE_ROLE = 28; // 0x1c
1328 field public static final int DATA_TYPE_LE_SECURE_CONNECTIONS_CONFIRMATION_VALUE = 34; // 0x22
1329 field public static final int DATA_TYPE_LE_SECURE_CONNECTIONS_RANDOM_VALUE = 35; // 0x23
1330 field public static final int DATA_TYPE_LE_SUPPORTED_FEATURES = 39; // 0x27
1331 field public static final int DATA_TYPE_LOCAL_NAME_COMPLETE = 9; // 0x9
1332 field public static final int DATA_TYPE_LOCAL_NAME_SHORT = 8; // 0x8
1333 field public static final int DATA_TYPE_MANUFACTURER_SPECIFIC_DATA = 255; // 0xff
1334 field public static final int DATA_TYPE_MESH_BEACON = 43; // 0x2b
1335 field public static final int DATA_TYPE_MESH_MESSAGE = 42; // 0x2a
1336 field public static final int DATA_TYPE_NONE = -1; // 0xffffffff
1337 field public static final int DATA_TYPE_PB_ADV = 41; // 0x29
1338 field public static final int DATA_TYPE_PUBLIC_TARGET_ADDRESS = 23; // 0x17
1339 field public static final int DATA_TYPE_RANDOM_TARGET_ADDRESS = 24; // 0x18
1340 field public static final int DATA_TYPE_RESOLVABLE_SET_IDENTIFIER = 46; // 0x2e
1341 field public static final int DATA_TYPE_SECURITY_MANAGER_OUT_OF_BAND_FLAGS = 17; // 0x11
1342 field public static final int DATA_TYPE_SERVICE_DATA_128_BIT = 33; // 0x21
1343 field public static final int DATA_TYPE_SERVICE_DATA_16_BIT = 22; // 0x16
1344 field public static final int DATA_TYPE_SERVICE_DATA_32_BIT = 32; // 0x20
1345 field public static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT = 21; // 0x15
1346 field public static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT = 20; // 0x14
1347 field public static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT = 31; // 0x1f
1348 field public static final int DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE = 7; // 0x7
1349 field public static final int DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL = 6; // 0x6
1350 field public static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE = 3; // 0x3
1351 field public static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL = 2; // 0x2
1352 field public static final int DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE = 5; // 0x5
1353 field public static final int DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL = 4; // 0x4
1354 field public static final int DATA_TYPE_SIMPLE_PAIRING_HASH_C = 14; // 0xe
1355 field public static final int DATA_TYPE_SIMPLE_PAIRING_HASH_C_256 = 29; // 0x1d
1356 field public static final int DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R = 15; // 0xf
1357 field public static final int DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R_256 = 30; // 0x1e
1358 field public static final int DATA_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE = 18; // 0x12
1359 field public static final int DATA_TYPE_TRANSPORT_DISCOVERY_DATA = 38; // 0x26
1360 field public static final int DATA_TYPE_TX_POWER_LEVEL = 10; // 0xa
1361 field public static final int DATA_TYPE_URI = 36; // 0x24
Roopa Sattirajuc7938372022-01-20 10:00:42 -08001362 }
1363
1364 public final class ScanResult implements android.os.Parcelable {
1365 ctor @Deprecated public ScanResult(android.bluetooth.BluetoothDevice, android.bluetooth.le.ScanRecord, int, long);
1366 ctor public ScanResult(android.bluetooth.BluetoothDevice, int, int, int, int, int, int, int, android.bluetooth.le.ScanRecord, long);
1367 method public int describeContents();
1368 method public int getAdvertisingSid();
1369 method public int getDataStatus();
1370 method public android.bluetooth.BluetoothDevice getDevice();
1371 method public int getPeriodicAdvertisingInterval();
1372 method public int getPrimaryPhy();
1373 method public int getRssi();
1374 method @Nullable public android.bluetooth.le.ScanRecord getScanRecord();
1375 method public int getSecondaryPhy();
1376 method public long getTimestampNanos();
1377 method public int getTxPower();
1378 method public boolean isConnectable();
1379 method public boolean isLegacy();
1380 method public void writeToParcel(android.os.Parcel, int);
1381 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanResult> CREATOR;
1382 field public static final int DATA_COMPLETE = 0; // 0x0
1383 field public static final int DATA_TRUNCATED = 2; // 0x2
1384 field public static final int PERIODIC_INTERVAL_NOT_PRESENT = 0; // 0x0
1385 field public static final int PHY_UNUSED = 0; // 0x0
1386 field public static final int SID_NOT_PRESENT = 255; // 0xff
1387 field public static final int TX_POWER_NOT_PRESENT = 127; // 0x7f
1388 }
1389
1390 public final class ScanSettings implements android.os.Parcelable {
1391 method public int describeContents();
1392 method public int getCallbackType();
1393 method public boolean getLegacy();
1394 method public int getPhy();
1395 method public long getReportDelayMillis();
1396 method public int getScanMode();
1397 method public int getScanResultType();
1398 method public void writeToParcel(android.os.Parcel, int);
1399 field public static final int CALLBACK_TYPE_ALL_MATCHES = 1; // 0x1
1400 field public static final int CALLBACK_TYPE_FIRST_MATCH = 2; // 0x2
1401 field public static final int CALLBACK_TYPE_MATCH_LOST = 4; // 0x4
1402 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings> CREATOR;
1403 field public static final int MATCH_MODE_AGGRESSIVE = 1; // 0x1
1404 field public static final int MATCH_MODE_STICKY = 2; // 0x2
1405 field public static final int MATCH_NUM_FEW_ADVERTISEMENT = 2; // 0x2
1406 field public static final int MATCH_NUM_MAX_ADVERTISEMENT = 3; // 0x3
1407 field public static final int MATCH_NUM_ONE_ADVERTISEMENT = 1; // 0x1
1408 field public static final int PHY_LE_ALL_SUPPORTED = 255; // 0xff
1409 field public static final int SCAN_MODE_BALANCED = 1; // 0x1
1410 field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
1411 field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
1412 field public static final int SCAN_MODE_OPPORTUNISTIC = -1; // 0xffffffff
1413 }
1414
1415 public static final class ScanSettings.Builder {
1416 ctor public ScanSettings.Builder();
1417 method public android.bluetooth.le.ScanSettings build();
1418 method public android.bluetooth.le.ScanSettings.Builder setCallbackType(int);
1419 method public android.bluetooth.le.ScanSettings.Builder setLegacy(boolean);
1420 method public android.bluetooth.le.ScanSettings.Builder setMatchMode(int);
1421 method public android.bluetooth.le.ScanSettings.Builder setNumOfMatches(int);
1422 method public android.bluetooth.le.ScanSettings.Builder setPhy(int);
1423 method public android.bluetooth.le.ScanSettings.Builder setReportDelay(long);
1424 method public android.bluetooth.le.ScanSettings.Builder setScanMode(int);
1425 }
1426
1427 public final class TransportBlock implements android.os.Parcelable {
1428 ctor public TransportBlock(int, int, int, @Nullable byte[]);
1429 method public int describeContents();
1430 method public int getOrgId();
1431 method public int getTdsFlags();
1432 method @Nullable public byte[] getTransportData();
1433 method public int getTransportDataLength();
1434 method @Nullable public byte[] toByteArray();
1435 method public int totalBytes();
1436 method public void writeToParcel(@NonNull android.os.Parcel, int);
1437 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportBlock> CREATOR;
1438 }
1439
1440 public final class TransportDiscoveryData implements android.os.Parcelable {
1441 ctor public TransportDiscoveryData(int, @NonNull java.util.List<android.bluetooth.le.TransportBlock>);
1442 ctor public TransportDiscoveryData(@NonNull byte[]);
1443 method public int describeContents();
1444 method @NonNull public java.util.List<android.bluetooth.le.TransportBlock> getTransportBlocks();
1445 method public int getTransportDataType();
1446 method @Nullable public byte[] toByteArray();
1447 method public int totalBytes();
1448 method public void writeToParcel(@NonNull android.os.Parcel, int);
1449 field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportDiscoveryData> CREATOR;
1450 }
1451
1452}
1453