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 @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints(); 6*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 7*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport(); 8*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int); 9*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 10*344a7f5eSAndroid Build Coastguard Worker field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1 11*344a7f5eSAndroid Build Coastguard Worker field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2 12*344a7f5eSAndroid Build Coastguard Worker field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0 13*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0 14*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0 15*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1 16*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff 17*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1 18*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff 19*344a7f5eSAndroid Build Coastguard Worker } 20*344a7f5eSAndroid Build Coastguard Worker 21*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile { 22*344a7f5eSAndroid Build Coastguard Worker method public void finalize(); 23*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 24*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice); 25*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 26*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED"; 27*344a7f5eSAndroid Build Coastguard Worker } 28*344a7f5eSAndroid Build Coastguard Worker 29*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothAdapter { 30*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean addOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener); 31*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE(); 32*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE(); 33*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect(); 34*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void generateLocalOobData(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OobDataCallback); 35*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis(); 36*344a7f5eSAndroid Build Coastguard Worker method public boolean isBleScanAlwaysAvailable(); 37*344a7f5eSAndroid Build Coastguard Worker method public boolean isLeEnabled(); 38*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int); 39*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener); 40*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int); 41*344a7f5eSAndroid Build Coastguard Worker field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED"; 42*344a7f5eSAndroid Build Coastguard Worker field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE"; 43*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2 44*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0 45*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1 46*344a7f5eSAndroid Build Coastguard Worker } 47*344a7f5eSAndroid Build Coastguard Worker 48*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothAdapter.OnMetadataChangedListener { 49*344a7f5eSAndroid Build Coastguard Worker method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]); 50*344a7f5eSAndroid Build Coastguard Worker } 51*344a7f5eSAndroid Build Coastguard Worker 52*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothAdapter.OobDataCallback { 53*344a7f5eSAndroid Build Coastguard Worker method public void onError(int); 54*344a7f5eSAndroid Build Coastguard Worker method public void onOobData(int, @NonNull android.bluetooth.OobData); 55*344a7f5eSAndroid Build Coastguard Worker } 56*344a7f5eSAndroid Build Coastguard Worker 57*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothDevice implements android.os.Parcelable { 58*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog(); 59*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess(); 60*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData); 61*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int); 62*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission(); 63*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected(); 64*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted(); 65*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode(); 66*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond(); 67*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int); 68*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]); 69*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int); 70*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean); 71*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int); 72*344a7f5eSAndroid Build Coastguard Worker field public static final int ACCESS_ALLOWED = 1; // 0x1 73*344a7f5eSAndroid Build Coastguard Worker field public static final int ACCESS_REJECTED = 2; // 0x2 74*344a7f5eSAndroid Build Coastguard Worker field public static final int ACCESS_UNKNOWN = 0; // 0x0 75*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED"; 76*344a7f5eSAndroid Build Coastguard Worker field public static final String DEVICE_TYPE_DEFAULT = "Default"; 77*344a7f5eSAndroid Build Coastguard Worker field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset"; 78*344a7f5eSAndroid Build Coastguard Worker field public static final String DEVICE_TYPE_WATCH = "Watch"; 79*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_COMPANION_APP = 4; // 0x4 80*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_DEVICE_TYPE = 17; // 0x11 81*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10 82*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3 83*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6 84*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_BATTERY = 18; // 0x12 85*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_CHARGING = 19; // 0x13 86*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_ICON = 5; // 0x5 87*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14 88*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0 89*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAX_LENGTH = 2048; // 0x800 90*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MODEL_NAME = 1; // 0x1 91*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2 92*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc 93*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf 94*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9 95*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17 96*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa 97*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd 98*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7 99*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15 100*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb 101*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe 102*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8 103*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16 104*344a7f5eSAndroid Build Coastguard Worker } 105*344a7f5eSAndroid Build Coastguard Worker 106*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile { 107*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice); 108*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice); 109*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 110*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 111*344a7f5eSAndroid Build Coastguard Worker } 112*344a7f5eSAndroid Build Coastguard Worker 113*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile { 114*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 115*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice); 116*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 117*344a7f5eSAndroid Build Coastguard Worker } 118*344a7f5eSAndroid Build Coastguard Worker 119*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile { 120*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 121*344a7f5eSAndroid Build Coastguard Worker } 122*344a7f5eSAndroid Build Coastguard Worker 123*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile { 124*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 125*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 126*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 127*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 128*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED"; 129*344a7f5eSAndroid Build Coastguard Worker } 130*344a7f5eSAndroid Build Coastguard Worker 131*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 132*344a7f5eSAndroid Build Coastguard Worker method public void close(); 133*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 134*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 135*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 136*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 137*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED"; 138*344a7f5eSAndroid Build Coastguard Worker } 139*344a7f5eSAndroid Build Coastguard Worker 140*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothMapClient implements android.bluetooth.BluetoothProfile { 141*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.SEND_SMS}) public boolean sendMessage(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.Collection<android.net.Uri>, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent); 142*344a7f5eSAndroid Build Coastguard Worker } 143*344a7f5eSAndroid Build Coastguard Worker 144*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothPan implements android.bluetooth.BluetoothProfile { 145*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 146*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 147*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn(); 148*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean); 149*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 150*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED"; 151*344a7f5eSAndroid Build Coastguard Worker field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED"; 152*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE"; 153*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE"; 154*344a7f5eSAndroid Build Coastguard Worker field public static final int LOCAL_NAP_ROLE = 1; // 0x1 155*344a7f5eSAndroid Build Coastguard Worker field public static final int LOCAL_PANU_ROLE = 2; // 0x2 156*344a7f5eSAndroid Build Coastguard Worker field public static final int PAN_ROLE_NONE = 0; // 0x0 157*344a7f5eSAndroid Build Coastguard Worker field public static final int REMOTE_NAP_ROLE = 1; // 0x1 158*344a7f5eSAndroid Build Coastguard Worker field public static final int REMOTE_PANU_ROLE = 2; // 0x2 159*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_STATE_OFF = 1; // 0x1 160*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_STATE_ON = 2; // 0x2 161*344a7f5eSAndroid Build Coastguard Worker } 162*344a7f5eSAndroid Build Coastguard Worker 163*344a7f5eSAndroid Build Coastguard Worker public class BluetoothPbap implements android.bluetooth.BluetoothProfile { 164*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 165*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 166*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED"; 167*344a7f5eSAndroid Build Coastguard Worker } 168*344a7f5eSAndroid Build Coastguard Worker 169*344a7f5eSAndroid Build Coastguard Worker public interface BluetoothProfile { 170*344a7f5eSAndroid Build Coastguard Worker field public static final int A2DP_SINK = 11; // 0xb 171*344a7f5eSAndroid Build Coastguard Worker field public static final int AVRCP_CONTROLLER = 12; // 0xc 172*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64 173*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0 174*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff 175*344a7f5eSAndroid Build Coastguard Worker field public static final int HEADSET_CLIENT = 16; // 0x10 176*344a7f5eSAndroid Build Coastguard Worker field public static final int MAP_CLIENT = 18; // 0x12 177*344a7f5eSAndroid Build Coastguard Worker field public static final int PAN = 5; // 0x5 178*344a7f5eSAndroid Build Coastguard Worker field public static final int PBAP_CLIENT = 17; // 0x11 179*344a7f5eSAndroid Build Coastguard Worker field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0 180*344a7f5eSAndroid Build Coastguard Worker field @Deprecated public static final int PRIORITY_ON = 100; // 0x64 181*344a7f5eSAndroid Build Coastguard Worker } 182*344a7f5eSAndroid Build Coastguard Worker 183*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothStatusCodes { 184*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8 185*344a7f5eSAndroid Build Coastguard Worker } 186*344a7f5eSAndroid Build Coastguard Worker 187*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothUuid { 188*344a7f5eSAndroid Build Coastguard Worker method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]); 189*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]); 190*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid A2DP_SINK; 191*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE; 192*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST; 193*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER; 194*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET; 195*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid BASE_UUID; 196*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid BNEP; 197*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid DIP; 198*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HEARING_AID; 199*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HFP; 200*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HFP_AG; 201*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HID; 202*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HOGP; 203*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HSP; 204*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HSP_AG; 205*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid LE_AUDIO; 206*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MAP; 207*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MAS; 208*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MNS; 209*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid NAP; 210*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH; 211*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid PANU; 212*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid PBAP_PCE; 213*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid PBAP_PSE; 214*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid SAP; 215*344a7f5eSAndroid Build Coastguard Worker field public static final int UUID_BYTES_128_BIT = 16; // 0x10 216*344a7f5eSAndroid Build Coastguard Worker field public static final int UUID_BYTES_16_BIT = 2; // 0x2 217*344a7f5eSAndroid Build Coastguard Worker field public static final int UUID_BYTES_32_BIT = 4; // 0x4 218*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL; 219*344a7f5eSAndroid Build Coastguard Worker } 220*344a7f5eSAndroid Build Coastguard Worker 221*344a7f5eSAndroid Build Coastguard Worker public final class BufferConstraint implements android.os.Parcelable { 222*344a7f5eSAndroid Build Coastguard Worker ctor public BufferConstraint(int, int, int); 223*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 224*344a7f5eSAndroid Build Coastguard Worker method public int getDefaultMillis(); 225*344a7f5eSAndroid Build Coastguard Worker method public int getMaxMillis(); 226*344a7f5eSAndroid Build Coastguard Worker method public int getMinMillis(); 227*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 228*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR; 229*344a7f5eSAndroid Build Coastguard Worker } 230*344a7f5eSAndroid Build Coastguard Worker 231*344a7f5eSAndroid Build Coastguard Worker public final class BufferConstraints implements android.os.Parcelable { 232*344a7f5eSAndroid Build Coastguard Worker ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>); 233*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 234*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.BufferConstraint forCodec(int); 235*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 236*344a7f5eSAndroid Build Coastguard Worker field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20 237*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR; 238*344a7f5eSAndroid Build Coastguard Worker } 239*344a7f5eSAndroid Build Coastguard Worker 240*344a7f5eSAndroid Build Coastguard Worker public final class OobData implements android.os.Parcelable { 241*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getClassOfDevice(); 242*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getClassicLength(); 243*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getConfirmationHash(); 244*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getDeviceAddressWithType(); 245*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getDeviceName(); 246*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getLeAppearance(); 247*344a7f5eSAndroid Build Coastguard Worker method @NonNull public int getLeDeviceRole(); 248*344a7f5eSAndroid Build Coastguard Worker method @NonNull public int getLeFlags(); 249*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getLeTemporaryKey(); 250*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getRandomizerHash(); 251*344a7f5eSAndroid Build Coastguard Worker field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3 252*344a7f5eSAndroid Build Coastguard Worker field public static final int CONFIRMATION_OCTETS = 16; // 0x10 253*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR; 254*344a7f5eSAndroid Build Coastguard Worker field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7 255*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2 256*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1 257*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3 258*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2 259*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1 260*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1 261*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0 262*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2 263*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1 264*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0 265*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3 266*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4 267*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_TK_OCTETS = 16; // 0x10 268*344a7f5eSAndroid Build Coastguard Worker field public static final int OOB_LENGTH_OCTETS = 2; // 0x2 269*344a7f5eSAndroid Build Coastguard Worker field public static final int RANDOMIZER_OCTETS = 16; // 0x10 270*344a7f5eSAndroid Build Coastguard Worker } 271*344a7f5eSAndroid Build Coastguard Worker 272*344a7f5eSAndroid Build Coastguard Worker public static final class OobData.ClassicBuilder { 273*344a7f5eSAndroid Build Coastguard Worker ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]); 274*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData build(); 275*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]); 276*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]); 277*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]); 278*344a7f5eSAndroid Build Coastguard Worker } 279*344a7f5eSAndroid Build Coastguard Worker 280*344a7f5eSAndroid Build Coastguard Worker public static final class OobData.LeBuilder { 281*344a7f5eSAndroid Build Coastguard Worker ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int); 282*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData build(); 283*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]); 284*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int); 285*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]); 286*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]); 287*344a7f5eSAndroid Build Coastguard Worker } 288*344a7f5eSAndroid Build Coastguard Worker 289*344a7f5eSAndroid Build Coastguard Worker} 290*344a7f5eSAndroid Build Coastguard Worker 291*344a7f5eSAndroid Build Coastguard Workerpackage android.bluetooth.le { 292*344a7f5eSAndroid Build Coastguard Worker 293*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeScanner { 294*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback); 295*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.os.WorkSource, android.bluetooth.le.ScanCallback); 296*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback); 297*344a7f5eSAndroid Build Coastguard Worker } 298*344a7f5eSAndroid Build Coastguard Worker 299*344a7f5eSAndroid Build Coastguard Worker public final class ResultStorageDescriptor implements android.os.Parcelable { 300*344a7f5eSAndroid Build Coastguard Worker ctor public ResultStorageDescriptor(int, int, int); 301*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 302*344a7f5eSAndroid Build Coastguard Worker method public int getLength(); 303*344a7f5eSAndroid Build Coastguard Worker method public int getOffset(); 304*344a7f5eSAndroid Build Coastguard Worker method public int getType(); 305*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 306*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR; 307*344a7f5eSAndroid Build Coastguard Worker } 308*344a7f5eSAndroid Build Coastguard Worker 309*344a7f5eSAndroid Build Coastguard Worker public final class ScanFilter implements android.os.Parcelable { 310*344a7f5eSAndroid Build Coastguard Worker method public int getAddressType(); 311*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getIrk(); 312*344a7f5eSAndroid Build Coastguard Worker } 313*344a7f5eSAndroid Build Coastguard Worker 314*344a7f5eSAndroid Build Coastguard Worker public static final class ScanFilter.Builder { 315*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int); 316*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]); 317*344a7f5eSAndroid Build Coastguard Worker field public static final int LEN_IRK_OCTETS = 16; // 0x10 318*344a7f5eSAndroid Build Coastguard Worker } 319*344a7f5eSAndroid Build Coastguard Worker 320*344a7f5eSAndroid Build Coastguard Worker public final class ScanSettings implements android.os.Parcelable { 321*344a7f5eSAndroid Build Coastguard Worker field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3 322*344a7f5eSAndroid Build Coastguard Worker field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1 323*344a7f5eSAndroid Build Coastguard Worker field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0 324*344a7f5eSAndroid Build Coastguard Worker } 325*344a7f5eSAndroid Build Coastguard Worker 326*344a7f5eSAndroid Build Coastguard Worker public static final class ScanSettings.Builder { 327*344a7f5eSAndroid Build Coastguard Worker method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int); 328*344a7f5eSAndroid Build Coastguard Worker } 329*344a7f5eSAndroid Build Coastguard Worker 330*344a7f5eSAndroid Build Coastguard Worker public final class TruncatedFilter { 331*344a7f5eSAndroid Build Coastguard Worker ctor public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>); 332*344a7f5eSAndroid Build Coastguard Worker method public android.bluetooth.le.ScanFilter getFilter(); 333*344a7f5eSAndroid Build Coastguard Worker method public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors(); 334*344a7f5eSAndroid Build Coastguard Worker } 335*344a7f5eSAndroid Build Coastguard Worker 336*344a7f5eSAndroid Build Coastguard Worker} 337*344a7f5eSAndroid Build Coastguard Worker 338