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