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 @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void disableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice); 6*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void enableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice); 7*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints(); 8*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothCodecStatus getCodecStatus(@NonNull android.bluetooth.BluetoothDevice); 9*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 10*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport(); 11*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice); 12*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsSupported(@NonNull android.bluetooth.BluetoothDevice); 13*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setAvrcpAbsoluteVolume(int); 14*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int); 15*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setCodecConfigPreference(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothCodecConfig); 16*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); 17*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice, int); 18*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED"; 19*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CODEC_CONFIG_CHANGED = "android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED"; 20*344a7f5eSAndroid Build Coastguard Worker field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1 21*344a7f5eSAndroid Build Coastguard Worker field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2 22*344a7f5eSAndroid Build Coastguard Worker field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0 23*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0 24*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0 25*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1 26*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff 27*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1 28*344a7f5eSAndroid Build Coastguard Worker field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff 29*344a7f5eSAndroid Build Coastguard Worker } 30*344a7f5eSAndroid Build Coastguard Worker 31*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile { 32*344a7f5eSAndroid Build Coastguard Worker method public void finalize(); 33*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 34*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 35*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 36*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 37*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice); 38*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); 39*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"; 40*344a7f5eSAndroid Build Coastguard Worker } 41*344a7f5eSAndroid Build Coastguard Worker 42*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothActivityEnergyInfo implements android.os.Parcelable { 43*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 44*344a7f5eSAndroid Build Coastguard Worker method public int getBluetoothStackState(); 45*344a7f5eSAndroid Build Coastguard Worker method public long getControllerEnergyUsed(); 46*344a7f5eSAndroid Build Coastguard Worker method public long getControllerIdleTimeMillis(); 47*344a7f5eSAndroid Build Coastguard Worker method public long getControllerRxTimeMillis(); 48*344a7f5eSAndroid Build Coastguard Worker method public long getControllerTxTimeMillis(); 49*344a7f5eSAndroid Build Coastguard Worker method public long getTimestampMillis(); 50*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.bluetooth.UidTraffic> getUidTraffic(); 51*344a7f5eSAndroid Build Coastguard Worker method public boolean isValid(); 52*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 53*344a7f5eSAndroid Build Coastguard Worker field public static final int BT_STACK_STATE_INVALID = 0; // 0x0 54*344a7f5eSAndroid Build Coastguard Worker field public static final int BT_STACK_STATE_STATE_ACTIVE = 1; // 0x1 55*344a7f5eSAndroid Build Coastguard Worker field public static final int BT_STACK_STATE_STATE_IDLE = 3; // 0x3 56*344a7f5eSAndroid Build Coastguard Worker field public static final int BT_STACK_STATE_STATE_SCANNING = 2; // 0x2 57*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothActivityEnergyInfo> CREATOR; 58*344a7f5eSAndroid Build Coastguard Worker } 59*344a7f5eSAndroid Build Coastguard Worker 60*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothAdapter { 61*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); 62*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean clearBluetooth(); 63*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean disable(boolean); 64*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE(); 65*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE(); 66*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect(); 67*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); 68*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> getActiveDevices(int); 69*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getBluetoothHciSnoopLoggingMode(); 70*344a7f5eSAndroid Build Coastguard Worker method public int getConnectionState(); 71*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis(); 72*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.le.DistanceMeasurementManager getDistanceMeasurementManager(); 73*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> getMostRecentlyConnectedDevices(); 74*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getOffloadedTransportDiscoveryDataScanSupported(); 75*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.os.Bundle getPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice); 76*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<java.lang.Integer> getSupportedProfiles(); 77*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.os.ParcelUuid> getUuidsList(); 78*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnEnabled(); 79*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnSupported(); 80*344a7f5eSAndroid Build Coastguard Worker method public boolean isBleScanAlwaysAvailable(); 81*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isDistanceMeasurementSupported(); 82*344a7f5eSAndroid Build Coastguard Worker method public boolean isLeEnabled(); 83*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static String nameForState(int); 84*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int notifyActiveDeviceChangeApplied(@NonNull android.bluetooth.BluetoothDevice); 85*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean registerBluetoothConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback); 86*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int registerBluetoothQualityReportReadyCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.BluetoothQualityReportReadyCallback); 87*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int registerPreferredAudioProfilesChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.PreferredAudioProfilesChangedCallback); 88*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); 89*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); 90*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void requestControllerActivityEnergyInfo(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback); 91*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSocket retrieveConnectedRfcommSocket(@NonNull java.util.UUID); 92*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); 93*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setAutoOnEnabled(boolean); 94*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int setBluetoothHciSnoopLoggingMode(int); 95*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setDiscoverableTimeout(@NonNull java.time.Duration); 96*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle); 97*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setScanMode(int); 98*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int startRfcommServer(@NonNull String, @NonNull java.util.UUID, @NonNull android.app.PendingIntent); 99*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopRfcommServer(@NonNull java.util.UUID); 100*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unregisterBluetoothConnectionCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback); 101*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterBluetoothQualityReportReadyCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothQualityReportReadyCallback); 102*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterPreferredAudioProfilesChangedCallback(@NonNull android.bluetooth.BluetoothAdapter.PreferredAudioProfilesChangedCallback); 103*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_AUTO_ON_STATE_CHANGED = "android.bluetooth.action.AUTO_ON_STATE_CHANGED"; 104*344a7f5eSAndroid Build Coastguard Worker field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED"; 105*344a7f5eSAndroid Build Coastguard Worker field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE"; 106*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_DISABLE = "android.bluetooth.adapter.action.REQUEST_DISABLE"; 107*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2 108*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0 109*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1 110*344a7f5eSAndroid Build Coastguard Worker field public static final String AUDIO_MODE_DUPLEX = "audio_mode_duplex"; 111*344a7f5eSAndroid Build Coastguard Worker field public static final String AUDIO_MODE_OUTPUT_ONLY = "audio_mode_output_only"; 112*344a7f5eSAndroid Build Coastguard Worker field public static final int AUTO_ON_STATE_DISABLED = 1; // 0x1 113*344a7f5eSAndroid Build Coastguard Worker field public static final int AUTO_ON_STATE_ENABLED = 2; // 0x2 114*344a7f5eSAndroid Build Coastguard Worker field public static final int BT_SNOOP_LOG_MODE_DISABLED = 0; // 0x0 115*344a7f5eSAndroid Build Coastguard Worker field public static final int BT_SNOOP_LOG_MODE_FILTERED = 1; // 0x1 116*344a7f5eSAndroid Build Coastguard Worker field public static final int BT_SNOOP_LOG_MODE_FULL = 2; // 0x2 117*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_AUTO_ON_STATE = "android.bluetooth.extra.AUTO_ON_STATE"; 118*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_RFCOMM_LISTENER_ID = "android.bluetooth.adapter.extra.RFCOMM_LISTENER_ID"; 119*344a7f5eSAndroid Build Coastguard Worker field public static final int STATE_BLE_ON = 15; // 0xf 120*344a7f5eSAndroid Build Coastguard Worker } 121*344a7f5eSAndroid Build Coastguard Worker 122*344a7f5eSAndroid Build Coastguard Worker public abstract static class BluetoothAdapter.BluetoothConnectionCallback { 123*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothAdapter.BluetoothConnectionCallback(); 124*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static String disconnectReasonToString(int); 125*344a7f5eSAndroid Build Coastguard Worker method public void onDeviceConnected(@NonNull android.bluetooth.BluetoothDevice); 126*344a7f5eSAndroid Build Coastguard Worker method public void onDeviceDisconnected(@NonNull android.bluetooth.BluetoothDevice, int); 127*344a7f5eSAndroid Build Coastguard Worker } 128*344a7f5eSAndroid Build Coastguard Worker 129*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothAdapter.BluetoothQualityReportReadyCallback { 130*344a7f5eSAndroid Build Coastguard Worker method public void onBluetoothQualityReportReady(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothQualityReport, int); 131*344a7f5eSAndroid Build Coastguard Worker } 132*344a7f5eSAndroid Build Coastguard Worker 133*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback { 134*344a7f5eSAndroid Build Coastguard Worker method public void onBluetoothActivityEnergyInfoAvailable(@NonNull android.bluetooth.BluetoothActivityEnergyInfo); 135*344a7f5eSAndroid Build Coastguard Worker method public void onBluetoothActivityEnergyInfoError(int); 136*344a7f5eSAndroid Build Coastguard Worker } 137*344a7f5eSAndroid Build Coastguard Worker 138*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothAdapter.OnMetadataChangedListener { 139*344a7f5eSAndroid Build Coastguard Worker method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]); 140*344a7f5eSAndroid Build Coastguard Worker } 141*344a7f5eSAndroid Build Coastguard Worker 142*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothAdapter.OobDataCallback { 143*344a7f5eSAndroid Build Coastguard Worker method public void onError(int); 144*344a7f5eSAndroid Build Coastguard Worker method public void onOobData(int, @NonNull android.bluetooth.OobData); 145*344a7f5eSAndroid Build Coastguard Worker } 146*344a7f5eSAndroid Build Coastguard Worker 147*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothAdapter.PreferredAudioProfilesChangedCallback { 148*344a7f5eSAndroid Build Coastguard Worker method public void onPreferredAudioProfilesChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle, int); 149*344a7f5eSAndroid Build Coastguard Worker } 150*344a7f5eSAndroid Build Coastguard Worker 151*344a7f5eSAndroid Build Coastguard Worker public static class BluetoothAssignedNumbers.OrganizationId { 152*344a7f5eSAndroid Build Coastguard Worker field public static final int BLUETOOTH_SIG = 1; // 0x1 153*344a7f5eSAndroid Build Coastguard Worker field public static final int WIFI_ALLIANCE_NEIGHBOR_AWARENESS_NETWORKING = 2; // 0x2 154*344a7f5eSAndroid Build Coastguard Worker field public static final int WIFI_ALLIANCE_SERVICE_ADVERTISEMENT = 3; // 0x3 155*344a7f5eSAndroid Build Coastguard Worker } 156*344a7f5eSAndroid Build Coastguard Worker 157*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothClass implements android.os.Parcelable { 158*344a7f5eSAndroid Build Coastguard Worker field public static final int PROFILE_A2DP_SINK = 6; // 0x6 159*344a7f5eSAndroid Build Coastguard Worker field public static final int PROFILE_NAP = 5; // 0x5 160*344a7f5eSAndroid Build Coastguard Worker field public static final int PROFILE_OPP = 2; // 0x2 161*344a7f5eSAndroid Build Coastguard Worker field public static final int PROFILE_PANU = 4; // 0x4 162*344a7f5eSAndroid Build Coastguard Worker } 163*344a7f5eSAndroid Build Coastguard Worker 164*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothCodecType implements android.os.Parcelable { 165*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothCodecType(int, long, @NonNull String); 166*344a7f5eSAndroid Build Coastguard Worker method @Nullable public static android.bluetooth.BluetoothCodecType createFromType(int); 167*344a7f5eSAndroid Build Coastguard Worker } 168*344a7f5eSAndroid Build Coastguard Worker 169*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 170*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.List<java.lang.Integer> getAllGroupIds(@Nullable android.os.ParcelUuid); 171*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice); 172*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.Map<java.lang.Integer,android.os.ParcelUuid> getGroupUuidMapByDevice(@Nullable android.bluetooth.BluetoothDevice); 173*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.UUID lockGroup(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothCsipSetCoordinator.ClientLockCallback); 174*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice, int); 175*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean unlockGroup(@NonNull java.util.UUID); 176*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_DEVICE_AVAILABLE = "android.bluetooth.action.CSIS_DEVICE_AVAILABLE"; 177*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_SET_MEMBER_AVAILABLE = "android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE"; 178*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_CSIS_GROUP_ID = "android.bluetooth.extra.CSIS_GROUP_ID"; 179*344a7f5eSAndroid Build Coastguard Worker field public static final int GROUP_ID_INVALID = -1; // 0xffffffff 180*344a7f5eSAndroid Build Coastguard Worker } 181*344a7f5eSAndroid Build Coastguard Worker 182*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothCsipSetCoordinator.ClientLockCallback { 183*344a7f5eSAndroid Build Coastguard Worker method public void onGroupLockSet(int, int, boolean); 184*344a7f5eSAndroid Build Coastguard Worker } 185*344a7f5eSAndroid Build Coastguard Worker 186*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothDevice implements android.os.Parcelable { 187*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog(); 188*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess(); 189*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public int connect(); 190*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(int); 191*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData); 192*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnect(); 193*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean fetchUuidsWithSdp(int); 194*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActiveAudioDevicePolicy(); 195*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public String getAnonymizedAddress(); 196*344a7f5eSAndroid Build Coastguard Worker method @IntRange(from=0xffffff9c, to=100) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBatteryLevel(); 197*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionHandle(int); 198*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getIdentityAddress(); 199*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMessageAccessPermission(); 200*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int); 201*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getPackageNameOfBondingApplication(); 202*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getPhonebookAccessPermission(); 203*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink(); 204*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission(); 205*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isBondingInitiatedLocally(); 206*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected(); 207*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted(); 208*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode(); 209*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isRequestAudioPolicyAsSinkSupported(); 210*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void prepareToEnterProcess(@NonNull android.content.AttributionSource); 211*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond(); 212*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int requestAudioPolicyAsSink(@NonNull android.bluetooth.BluetoothSinkAudioPolicy); 213*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setActiveAudioDevicePolicy(int); 214*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setLowLatencyAudioAllowed(boolean); 215*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int); 216*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]); 217*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int); 218*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(@NonNull String); 219*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean); 220*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int); 221*344a7f5eSAndroid Build Coastguard Worker field public static final int ACCESS_ALLOWED = 1; // 0x1 222*344a7f5eSAndroid Build Coastguard Worker field public static final int ACCESS_REJECTED = 2; // 0x2 223*344a7f5eSAndroid Build Coastguard Worker field public static final int ACCESS_UNKNOWN = 0; // 0x0 224*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.bluetooth.device.action.BATTERY_LEVEL_CHANGED"; 225*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_CANCEL = "android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL"; 226*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REPLY = "android.bluetooth.device.action.CONNECTION_ACCESS_REPLY"; 227*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REQUEST = "android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST"; 228*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_KEY_MISSING = "android.bluetooth.device.action.KEY_MISSING"; 229*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_CANCEL = "android.bluetooth.device.action.PAIRING_CANCEL"; 230*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"; 231*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_SWITCH_BUFFER_SIZE = "android.bluetooth.device.action.SWITCH_BUFFER_SIZE"; 232*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_ACTIVE_UPON_CONNECTION = 1; // 0x1 233*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_INACTIVE_UPON_CONNECTION = 2; // 0x2 234*344a7f5eSAndroid Build Coastguard Worker field public static final int ACTIVE_AUDIO_DEVICE_POLICY_DEFAULT = 0; // 0x0 235*344a7f5eSAndroid Build Coastguard Worker field public static final int BATTERY_LEVEL_BLUETOOTH_OFF = -100; // 0xffffff9c 236*344a7f5eSAndroid Build Coastguard Worker field public static final int BATTERY_LEVEL_UNKNOWN = -1; // 0xffffffff 237*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_ACCESS_NO = 2; // 0x2 238*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_ACCESS_YES = 1; // 0x1 239*344a7f5eSAndroid Build Coastguard Worker field public static final String DEVICE_TYPE_DEFAULT = "Default"; 240*344a7f5eSAndroid Build Coastguard Worker field public static final String DEVICE_TYPE_STYLUS = "Stylus"; 241*344a7f5eSAndroid Build Coastguard Worker field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset"; 242*344a7f5eSAndroid Build Coastguard Worker field public static final String DEVICE_TYPE_WATCH = "Watch"; 243*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_ACCESS_REQUEST_TYPE = "android.bluetooth.device.extra.ACCESS_REQUEST_TYPE"; 244*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_ALWAYS_ALLOWED = "android.bluetooth.device.extra.ALWAYS_ALLOWED"; 245*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_BATTERY_LEVEL = "android.bluetooth.device.extra.BATTERY_LEVEL"; 246*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_CONNECTION_ACCESS_RESULT = "android.bluetooth.device.extra.CONNECTION_ACCESS_RESULT"; 247*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_LOW_LATENCY_BUFFER_SIZE = "android.bluetooth.device.extra.LOW_LATENCY_BUFFER_SIZE"; 248*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_PAIRING_INITIATOR = "android.bluetooth.device.extra.PAIRING_INITIATOR"; 249*344a7f5eSAndroid Build Coastguard Worker field public static final int EXTRA_PAIRING_INITIATOR_BACKGROUND = 2; // 0x2 250*344a7f5eSAndroid Build Coastguard Worker field public static final int EXTRA_PAIRING_INITIATOR_FOREGROUND = 1; // 0x1 251*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_UNBOND_REASON = "android.bluetooth.device.extra.REASON"; 252*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_COMPANION_APP = 4; // 0x4 253*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_DEVICE_TYPE = 17; // 0x11 254*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10 255*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_EXCLUSIVE_MANAGER = 29; // 0x1d 256*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3 257*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6 258*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_LE_AUDIO = 26; // 0x1a 259*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_BATTERY = 18; // 0x12 260*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_CHARGING = 19; // 0x13 261*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_ICON = 5; // 0x5 262*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14 263*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0 264*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MAX_LENGTH = 2048; // 0x800 265*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_MODEL_NAME = 1; // 0x1 266*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2 267*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc 268*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf 269*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9 270*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17 271*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa 272*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd 273*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7 274*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15 275*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb 276*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe 277*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8 278*344a7f5eSAndroid Build Coastguard Worker field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16 279*344a7f5eSAndroid Build Coastguard Worker field public static final int PAIRING_VARIANT_CONSENT = 3; // 0x3 280*344a7f5eSAndroid Build Coastguard Worker field public static final int PAIRING_VARIANT_DISPLAY_PASSKEY = 4; // 0x4 281*344a7f5eSAndroid Build Coastguard Worker field public static final int PAIRING_VARIANT_DISPLAY_PIN = 5; // 0x5 282*344a7f5eSAndroid Build Coastguard Worker field public static final int PAIRING_VARIANT_OOB_CONSENT = 6; // 0x6 283*344a7f5eSAndroid Build Coastguard Worker field public static final int PAIRING_VARIANT_PASSKEY = 1; // 0x1 284*344a7f5eSAndroid Build Coastguard Worker field public static final int PAIRING_VARIANT_PIN_16_DIGITS = 7; // 0x7 285*344a7f5eSAndroid Build Coastguard Worker field public static final int REQUEST_TYPE_MESSAGE_ACCESS = 3; // 0x3 286*344a7f5eSAndroid Build Coastguard Worker field public static final int REQUEST_TYPE_PHONEBOOK_ACCESS = 2; // 0x2 287*344a7f5eSAndroid Build Coastguard Worker field public static final int REQUEST_TYPE_PROFILE_CONNECTION = 1; // 0x1 288*344a7f5eSAndroid Build Coastguard Worker field public static final int REQUEST_TYPE_SIM_ACCESS = 4; // 0x4 289*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_AUTH_CANCELED = 3; // 0x3 290*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_AUTH_FAILED = 1; // 0x1 291*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_AUTH_REJECTED = 2; // 0x2 292*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_AUTH_TIMEOUT = 6; // 0x6 293*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5; // 0x5 294*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_REMOTE_AUTH_CANCELED = 8; // 0x8 295*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_REMOTE_DEVICE_DOWN = 4; // 0x4 296*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_REMOVED = 9; // 0x9 297*344a7f5eSAndroid Build Coastguard Worker field public static final int UNBOND_REASON_REPEATED_ATTEMPTS = 7; // 0x7 298*344a7f5eSAndroid Build Coastguard Worker } 299*344a7f5eSAndroid Build Coastguard Worker 300*344a7f5eSAndroid Build Coastguard Worker public interface BluetoothDevicePicker { 301*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_DEVICE_SELECTED = "android.bluetooth.devicepicker.action.DEVICE_SELECTED"; 302*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LAUNCH = "android.bluetooth.devicepicker.action.LAUNCH"; 303*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_FILTER_TYPE = "android.bluetooth.devicepicker.extra.FILTER_TYPE"; 304*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_LAUNCH_CLASS = "android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS"; 305*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_LAUNCH_PACKAGE = "android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE"; 306*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_NEED_AUTH = "android.bluetooth.devicepicker.extra.NEED_AUTH"; 307*344a7f5eSAndroid Build Coastguard Worker field public static final int FILTER_TYPE_ALL = 0; // 0x0 308*344a7f5eSAndroid Build Coastguard Worker field public static final int FILTER_TYPE_AUDIO = 1; // 0x1 309*344a7f5eSAndroid Build Coastguard Worker field public static final int FILTER_TYPE_NAP = 4; // 0x4 310*344a7f5eSAndroid Build Coastguard Worker field public static final int FILTER_TYPE_PANU = 3; // 0x3 311*344a7f5eSAndroid Build Coastguard Worker field public static final int FILTER_TYPE_TRANSFER = 2; // 0x2 312*344a7f5eSAndroid Build Coastguard Worker } 313*344a7f5eSAndroid Build Coastguard Worker 314*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 315*344a7f5eSAndroid Build Coastguard Worker method public void close(); 316*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 317*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActivePresetIndex(@NonNull android.bluetooth.BluetoothDevice); 318*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getActivePresetInfo(@NonNull android.bluetooth.BluetoothDevice); 319*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothHapPresetInfo> getAllPresetInfo(@NonNull android.bluetooth.BluetoothDevice); 320*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(); 321*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice); 322*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 323*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> getDevicesMatchingConnectionStates(@NonNull int[]); 324*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHapGroup(@NonNull android.bluetooth.BluetoothDevice); 325*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHearingAidType(@NonNull android.bluetooth.BluetoothDevice); 326*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getPresetInfo(@NonNull android.bluetooth.BluetoothDevice, int); 327*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothHapClient.Callback); 328*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPreset(@NonNull android.bluetooth.BluetoothDevice, int); 329*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPresetForGroup(int, int); 330*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); 331*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetName(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull String); 332*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetNameForGroup(int, int, @NonNull String); 333*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsDynamicPresets(@NonNull android.bluetooth.BluetoothDevice); 334*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsIndependentPresets(@NonNull android.bluetooth.BluetoothDevice); 335*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsSynchronizedPresets(@NonNull android.bluetooth.BluetoothDevice); 336*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsWritablePresets(@NonNull android.bluetooth.BluetoothDevice); 337*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPreset(@NonNull android.bluetooth.BluetoothDevice); 338*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPresetForGroup(int); 339*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPreset(@NonNull android.bluetooth.BluetoothDevice); 340*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPresetForGroup(int); 341*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothHapClient.Callback); 342*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_HAP_CONNECTION_STATE_CHANGED = "android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED"; 343*344a7f5eSAndroid Build Coastguard Worker field public static final int PRESET_INDEX_UNAVAILABLE = 0; // 0x0 344*344a7f5eSAndroid Build Coastguard Worker field public static final int TYPE_BANDED = 2; // 0x2 345*344a7f5eSAndroid Build Coastguard Worker field public static final int TYPE_BINAURAL = 0; // 0x0 346*344a7f5eSAndroid Build Coastguard Worker field public static final int TYPE_MONAURAL = 1; // 0x1 347*344a7f5eSAndroid Build Coastguard Worker field public static final int TYPE_RFU = 3; // 0x3 348*344a7f5eSAndroid Build Coastguard Worker } 349*344a7f5eSAndroid Build Coastguard Worker 350*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothHapClient.Callback { 351*344a7f5eSAndroid Build Coastguard Worker method public void onPresetInfoChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.List<android.bluetooth.BluetoothHapPresetInfo>, int); 352*344a7f5eSAndroid Build Coastguard Worker method public void onPresetSelected(@NonNull android.bluetooth.BluetoothDevice, int, int); 353*344a7f5eSAndroid Build Coastguard Worker method public void onPresetSelectionFailed(@NonNull android.bluetooth.BluetoothDevice, int); 354*344a7f5eSAndroid Build Coastguard Worker method public void onPresetSelectionForGroupFailed(int, int); 355*344a7f5eSAndroid Build Coastguard Worker method public void onSetPresetNameFailed(@NonNull android.bluetooth.BluetoothDevice, int); 356*344a7f5eSAndroid Build Coastguard Worker method public void onSetPresetNameForGroupFailed(int, int); 357*344a7f5eSAndroid Build Coastguard Worker } 358*344a7f5eSAndroid Build Coastguard Worker 359*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHapPresetInfo implements android.os.Parcelable { 360*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 361*344a7f5eSAndroid Build Coastguard Worker method public int getIndex(); 362*344a7f5eSAndroid Build Coastguard Worker method @NonNull public String getName(); 363*344a7f5eSAndroid Build Coastguard Worker method public boolean isAvailable(); 364*344a7f5eSAndroid Build Coastguard Worker method public boolean isWritable(); 365*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 366*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHapPresetInfo> CREATOR; 367*344a7f5eSAndroid Build Coastguard Worker } 368*344a7f5eSAndroid Build Coastguard Worker 369*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile { 370*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice); 371*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int connectAudio(); 372*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice); 373*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnectAudio(); 374*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioRouteAllowed(); 375*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioState(@NonNull android.bluetooth.BluetoothDevice); 376*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 377*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingingEnabled(); 378*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setAudioRouteAllowed(boolean); 379*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); 380*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean startScoUsingVirtualVoiceCall(); 381*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean stopScoUsingVirtualVoiceCall(); 382*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED"; 383*344a7f5eSAndroid Build Coastguard Worker } 384*344a7f5eSAndroid Build Coastguard Worker 385*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHeadsetClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 386*344a7f5eSAndroid Build Coastguard Worker method public void close(); 387*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 388*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(); 389*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 390*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 391*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> getDevicesMatchingConnectionStates(@NonNull int[]); 392*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHeadsetClient.NetworkServiceState getNetworkServiceState(@NonNull android.bluetooth.BluetoothDevice); 393*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); 394*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED"; 395*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_NETWORK_SERVICE_STATE_CHANGED = "android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED"; 396*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_NETWORK_SERVICE_STATE = "android.bluetooth.headsetclient.extra.EXTRA_NETWORK_SERVICE_STATE"; 397*344a7f5eSAndroid Build Coastguard Worker } 398*344a7f5eSAndroid Build Coastguard Worker 399*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothHeadsetClient.NetworkServiceState implements android.os.Parcelable { 400*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 401*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothDevice getDevice(); 402*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getNetworkOperatorName(); 403*344a7f5eSAndroid Build Coastguard Worker method @IntRange(from=0, to=5) public int getSignalStrength(); 404*344a7f5eSAndroid Build Coastguard Worker method public boolean isRoaming(); 405*344a7f5eSAndroid Build Coastguard Worker method public boolean isServiceAvailable(); 406*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 407*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHeadsetClient.NetworkServiceState> CREATOR; 408*344a7f5eSAndroid Build Coastguard Worker } 409*344a7f5eSAndroid Build Coastguard Worker 410*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile { 411*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHearingAid.AdvertisementServiceData getAdvertisementServiceData(@NonNull android.bluetooth.BluetoothDevice); 412*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 413*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceMode(@NonNull android.bluetooth.BluetoothDevice); 414*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceSide(@NonNull android.bluetooth.BluetoothDevice); 415*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice); 416*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); 417*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(int); 418*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED"; 419*344a7f5eSAndroid Build Coastguard Worker field public static final long HI_SYNC_ID_INVALID = 0L; // 0x0L 420*344a7f5eSAndroid Build Coastguard Worker field public static final int MODE_BINAURAL = 1; // 0x1 421*344a7f5eSAndroid Build Coastguard Worker field public static final int MODE_MONAURAL = 0; // 0x0 422*344a7f5eSAndroid Build Coastguard Worker field public static final int MODE_UNKNOWN = -1; // 0xffffffff 423*344a7f5eSAndroid Build Coastguard Worker field public static final int SIDE_LEFT = 0; // 0x0 424*344a7f5eSAndroid Build Coastguard Worker field public static final int SIDE_RIGHT = 1; // 0x1 425*344a7f5eSAndroid Build Coastguard Worker field public static final int SIDE_UNKNOWN = -1; // 0xffffffff 426*344a7f5eSAndroid Build Coastguard Worker } 427*344a7f5eSAndroid Build Coastguard Worker 428*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothHearingAid.AdvertisementServiceData implements android.os.Parcelable { 429*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 430*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDeviceMode(); 431*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDeviceSide(); 432*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getTruncatedHiSyncId(); 433*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isCsipSupported(); 434*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInPairWith(@Nullable android.bluetooth.BluetoothHearingAid.AdvertisementServiceData); 435*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 436*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHearingAid.AdvertisementServiceData> CREATOR; 437*344a7f5eSAndroid Build Coastguard Worker } 438*344a7f5eSAndroid Build Coastguard Worker 439*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile { 440*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); 441*344a7f5eSAndroid Build Coastguard Worker } 442*344a7f5eSAndroid Build Coastguard Worker 443*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile { 444*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 445*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 446*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 447*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 448*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getPreferredTransport(@NonNull android.bluetooth.BluetoothDevice); 449*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); 450*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPreferredTransport(@NonNull android.bluetooth.BluetoothDevice, int); 451*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"; 452*344a7f5eSAndroid Build Coastguard Worker } 453*344a7f5eSAndroid Build Coastguard Worker 454*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 455*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioLocation(@NonNull android.bluetooth.BluetoothDevice); 456*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothLeAudioCodecStatus getCodecStatus(int); 457*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice); 458*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingtoneEnabled(int); 459*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothLeAudio.Callback); 460*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setCodecConfigPreference(int, @NonNull android.bluetooth.BluetoothLeAudioCodecConfig, @NonNull android.bluetooth.BluetoothLeAudioCodecConfig); 461*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); 462*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(@IntRange(from=0, to=255) int); 463*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeAudio.Callback); 464*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_LE_AUDIO_ACTIVE_DEVICE_CHANGED = "android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED"; 465*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_BACK_CENTER = 256; // 0x100 466*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_BACK_LEFT = 16; // 0x10 467*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_BACK_RIGHT = 32; // 0x20 468*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_BOTTOM_FRONT_CENTER = 2097152; // 0x200000 469*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_BOTTOM_FRONT_LEFT = 4194304; // 0x400000 470*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_BOTTOM_FRONT_RIGHT = 8388608; // 0x800000 471*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_FRONT_CENTER = 4; // 0x4 472*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_FRONT_LEFT = 1; // 0x1 473*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_FRONT_LEFT_OF_CENTER = 64; // 0x40 474*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_FRONT_LEFT_WIDE = 16777216; // 0x1000000 475*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_FRONT_RIGHT = 2; // 0x2 476*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER = 128; // 0x80 477*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_FRONT_RIGHT_WIDE = 33554432; // 0x2000000 478*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_INVALID = 0; // 0x0 479*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_LEFT_SURROUND = 67108864; // 0x4000000 480*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_ONE = 8; // 0x8 481*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_TWO = 512; // 0x200 482*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_RIGHT_SURROUND = 134217728; // 0x8000000 483*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_SIDE_LEFT = 1024; // 0x400 484*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_SIDE_RIGHT = 2048; // 0x800 485*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_BACK_CENTER = 1048576; // 0x100000 486*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_BACK_LEFT = 65536; // 0x10000 487*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_BACK_RIGHT = 131072; // 0x20000 488*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_CENTER = 32768; // 0x8000 489*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_FRONT_CENTER = 16384; // 0x4000 490*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_FRONT_LEFT = 4096; // 0x1000 491*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_FRONT_RIGHT = 8192; // 0x2000 492*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_SIDE_LEFT = 262144; // 0x40000 493*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_LOCATION_TOP_SIDE_RIGHT = 524288; // 0x80000 494*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_LE_AUDIO_GROUP_ID = "android.bluetooth.extra.LE_AUDIO_GROUP_ID"; 495*344a7f5eSAndroid Build Coastguard Worker field public static final int GROUP_STREAM_STATUS_IDLE = 0; // 0x0 496*344a7f5eSAndroid Build Coastguard Worker field public static final int GROUP_STREAM_STATUS_STREAMING = 1; // 0x1 497*344a7f5eSAndroid Build Coastguard Worker } 498*344a7f5eSAndroid Build Coastguard Worker 499*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothLeAudio.Callback { 500*344a7f5eSAndroid Build Coastguard Worker method public void onCodecConfigChanged(int, @NonNull android.bluetooth.BluetoothLeAudioCodecStatus); 501*344a7f5eSAndroid Build Coastguard Worker method public void onGroupNodeAdded(@NonNull android.bluetooth.BluetoothDevice, int); 502*344a7f5eSAndroid Build Coastguard Worker method public void onGroupNodeRemoved(@NonNull android.bluetooth.BluetoothDevice, int); 503*344a7f5eSAndroid Build Coastguard Worker method public void onGroupStatusChanged(int, int); 504*344a7f5eSAndroid Build Coastguard Worker method public default void onGroupStreamStatusChanged(int, int); 505*344a7f5eSAndroid Build Coastguard Worker } 506*344a7f5eSAndroid Build Coastguard Worker 507*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeAudioCodecConfigMetadata implements android.os.Parcelable { 508*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 509*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.bluetooth.BluetoothLeAudioCodecConfigMetadata fromRawBytes(@NonNull byte[]); 510*344a7f5eSAndroid Build Coastguard Worker method public long getAudioLocation(); 511*344a7f5eSAndroid Build Coastguard Worker method public int getFrameDuration(); 512*344a7f5eSAndroid Build Coastguard Worker method public int getOctetsPerFrame(); 513*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getRawMetadata(); 514*344a7f5eSAndroid Build Coastguard Worker method public int getSampleRate(); 515*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 516*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfigMetadata> CREATOR; 517*344a7f5eSAndroid Build Coastguard Worker } 518*344a7f5eSAndroid Build Coastguard Worker 519*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothLeAudioCodecConfigMetadata.Builder { 520*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeAudioCodecConfigMetadata.Builder(); 521*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeAudioCodecConfigMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata); 522*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata build(); 523*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setAudioLocation(long); 524*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setFrameDuration(int); 525*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setOctetsPerFrame(int); 526*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setSampleRate(int); 527*344a7f5eSAndroid Build Coastguard Worker } 528*344a7f5eSAndroid Build Coastguard Worker 529*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeAudioContentMetadata implements android.os.Parcelable { 530*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 531*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.bluetooth.BluetoothLeAudioContentMetadata fromRawBytes(@NonNull byte[]); 532*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getLanguage(); 533*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getProgramInfo(); 534*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getRawMetadata(); 535*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 536*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioContentMetadata> CREATOR; 537*344a7f5eSAndroid Build Coastguard Worker } 538*344a7f5eSAndroid Build Coastguard Worker 539*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothLeAudioContentMetadata.Builder { 540*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeAudioContentMetadata.Builder(); 541*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeAudioContentMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata); 542*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata build(); 543*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setLanguage(@Nullable String); 544*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setProgramInfo(@Nullable String); 545*344a7f5eSAndroid Build Coastguard Worker } 546*344a7f5eSAndroid Build Coastguard Worker 547*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcast implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 548*344a7f5eSAndroid Build Coastguard Worker method public void close(); 549*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 550*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastMetadata> getAllBroadcastMetadata(); 551*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(); 552*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 553*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> getDevicesMatchingConnectionStates(@NonNull int[]); 554*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumNumberOfBroadcasts(); 555*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumStreamsPerBroadcast(); 556*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumSubgroupsPerBroadcast(); 557*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isPlaying(int); 558*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothLeBroadcast.Callback); 559*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata, @Nullable byte[]); 560*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeBroadcastSettings); 561*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(int); 562*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcast.Callback); 563*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeAudioContentMetadata); 564*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeBroadcastSettings); 565*344a7f5eSAndroid Build Coastguard Worker } 566*344a7f5eSAndroid Build Coastguard Worker 567*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothLeBroadcast.Callback { 568*344a7f5eSAndroid Build Coastguard Worker method public void onBroadcastMetadataChanged(int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata); 569*344a7f5eSAndroid Build Coastguard Worker method public void onBroadcastStartFailed(int); 570*344a7f5eSAndroid Build Coastguard Worker method public void onBroadcastStarted(int, int); 571*344a7f5eSAndroid Build Coastguard Worker method public void onBroadcastStopFailed(int); 572*344a7f5eSAndroid Build Coastguard Worker method public void onBroadcastStopped(int, int); 573*344a7f5eSAndroid Build Coastguard Worker method public void onBroadcastUpdateFailed(int, int); 574*344a7f5eSAndroid Build Coastguard Worker method public void onBroadcastUpdated(int, int); 575*344a7f5eSAndroid Build Coastguard Worker method public void onPlaybackStarted(int, int); 576*344a7f5eSAndroid Build Coastguard Worker method public void onPlaybackStopped(int, int); 577*344a7f5eSAndroid Build Coastguard Worker } 578*344a7f5eSAndroid Build Coastguard Worker 579*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcastAssistant implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 580*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void addSource(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, boolean); 581*344a7f5eSAndroid Build Coastguard Worker method public void close(); 582*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 583*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastReceiveState> getAllSources(@NonNull android.bluetooth.BluetoothDevice); 584*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(); 585*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 586*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 587*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> getDevicesMatchingConnectionStates(@NonNull int[]); 588*344a7f5eSAndroid Build Coastguard Worker method public int getMaximumSourceCapacity(@NonNull android.bluetooth.BluetoothDevice); 589*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isSearchInProgress(); 590*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void modifySource(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata); 591*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback); 592*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void removeSource(@NonNull android.bluetooth.BluetoothDevice, int); 593*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); 594*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startSearchingForSources(@NonNull java.util.List<android.bluetooth.le.ScanFilter>); 595*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopSearchingForSources(); 596*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback); 597*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.action.CONNECTION_STATE_CHANGED"; 598*344a7f5eSAndroid Build Coastguard Worker } 599*344a7f5eSAndroid Build Coastguard Worker 600*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothLeBroadcastAssistant.Callback { 601*344a7f5eSAndroid Build Coastguard Worker method public void onReceiveStateChanged(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastReceiveState); 602*344a7f5eSAndroid Build Coastguard Worker method public void onSearchStartFailed(int); 603*344a7f5eSAndroid Build Coastguard Worker method public void onSearchStarted(int); 604*344a7f5eSAndroid Build Coastguard Worker method public void onSearchStopFailed(int); 605*344a7f5eSAndroid Build Coastguard Worker method public void onSearchStopped(int); 606*344a7f5eSAndroid Build Coastguard Worker method public void onSourceAddFailed(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, int); 607*344a7f5eSAndroid Build Coastguard Worker method public void onSourceAdded(@NonNull android.bluetooth.BluetoothDevice, int, int); 608*344a7f5eSAndroid Build Coastguard Worker method public void onSourceFound(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata); 609*344a7f5eSAndroid Build Coastguard Worker method public default void onSourceLost(int); 610*344a7f5eSAndroid Build Coastguard Worker method public void onSourceModified(@NonNull android.bluetooth.BluetoothDevice, int, int); 611*344a7f5eSAndroid Build Coastguard Worker method public void onSourceModifyFailed(@NonNull android.bluetooth.BluetoothDevice, int, int); 612*344a7f5eSAndroid Build Coastguard Worker method public void onSourceRemoveFailed(@NonNull android.bluetooth.BluetoothDevice, int, int); 613*344a7f5eSAndroid Build Coastguard Worker method public void onSourceRemoved(@NonNull android.bluetooth.BluetoothDevice, int, int); 614*344a7f5eSAndroid Build Coastguard Worker } 615*344a7f5eSAndroid Build Coastguard Worker 616*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcastChannel implements android.os.Parcelable { 617*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 618*344a7f5eSAndroid Build Coastguard Worker method public int getChannelIndex(); 619*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecMetadata(); 620*344a7f5eSAndroid Build Coastguard Worker method public boolean isSelected(); 621*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 622*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastChannel> CREATOR; 623*344a7f5eSAndroid Build Coastguard Worker } 624*344a7f5eSAndroid Build Coastguard Worker 625*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothLeBroadcastChannel.Builder { 626*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastChannel.Builder(); 627*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastChannel.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastChannel); 628*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel build(); 629*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setChannelIndex(int); 630*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setCodecMetadata(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata); 631*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setSelected(boolean); 632*344a7f5eSAndroid Build Coastguard Worker } 633*344a7f5eSAndroid Build Coastguard Worker 634*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcastMetadata implements android.os.Parcelable { 635*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 636*344a7f5eSAndroid Build Coastguard Worker method public int getAudioConfigQuality(); 637*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getBroadcastCode(); 638*344a7f5eSAndroid Build Coastguard Worker method public int getBroadcastId(); 639*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getBroadcastName(); 640*344a7f5eSAndroid Build Coastguard Worker method public int getPaSyncInterval(); 641*344a7f5eSAndroid Build Coastguard Worker method @IntRange(from=0, to=16777215) public int getPresentationDelayMicros(); 642*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata(); 643*344a7f5eSAndroid Build Coastguard Worker method @IntRange(from=0xffffff81, to=127) public int getRssi(); 644*344a7f5eSAndroid Build Coastguard Worker method public int getSourceAddressType(); 645*344a7f5eSAndroid Build Coastguard Worker method public int getSourceAdvertisingSid(); 646*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice(); 647*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroup> getSubgroups(); 648*344a7f5eSAndroid Build Coastguard Worker method public boolean isEncrypted(); 649*344a7f5eSAndroid Build Coastguard Worker method public boolean isPublicBroadcast(); 650*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 651*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_CONFIG_QUALITY_HIGH = 2; // 0x2 652*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_CONFIG_QUALITY_NONE = 0; // 0x0 653*344a7f5eSAndroid Build Coastguard Worker field public static final int AUDIO_CONFIG_QUALITY_STANDARD = 1; // 0x1 654*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastMetadata> CREATOR; 655*344a7f5eSAndroid Build Coastguard Worker field public static final int PA_SYNC_INTERVAL_UNKNOWN = 65535; // 0xffff 656*344a7f5eSAndroid Build Coastguard Worker field public static final int RSSI_UNKNOWN = 127; // 0x7f 657*344a7f5eSAndroid Build Coastguard Worker } 658*344a7f5eSAndroid Build Coastguard Worker 659*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothLeBroadcastMetadata.Builder { 660*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastMetadata.Builder(); 661*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastMetadata.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata); 662*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder addSubgroup(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup); 663*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata build(); 664*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder clearSubgroup(); 665*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setAudioConfigQuality(int); 666*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastCode(@Nullable byte[]); 667*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastId(int); 668*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastName(@Nullable String); 669*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setEncrypted(boolean); 670*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPaSyncInterval(int); 671*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPresentationDelayMicros(@IntRange(from=0, to=16777215) int); 672*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcast(boolean); 673*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata); 674*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setRssi(@IntRange(from=0xffffff81, to=127) int); 675*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceAdvertisingSid(int); 676*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceDevice(@NonNull android.bluetooth.BluetoothDevice, int); 677*344a7f5eSAndroid Build Coastguard Worker } 678*344a7f5eSAndroid Build Coastguard Worker 679*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcastReceiveState implements android.os.Parcelable { 680*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 681*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getBadCode(); 682*344a7f5eSAndroid Build Coastguard Worker method public int getBigEncryptionState(); 683*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<java.lang.Long> getBisSyncState(); 684*344a7f5eSAndroid Build Coastguard Worker method public int getBroadcastId(); 685*344a7f5eSAndroid Build Coastguard Worker method public int getNumSubgroups(); 686*344a7f5eSAndroid Build Coastguard Worker method public int getPaSyncState(); 687*344a7f5eSAndroid Build Coastguard Worker method public int getSourceAddressType(); 688*344a7f5eSAndroid Build Coastguard Worker method public int getSourceAdvertisingSid(); 689*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice(); 690*344a7f5eSAndroid Build Coastguard Worker method @IntRange(from=0, to=255) public int getSourceId(); 691*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioContentMetadata> getSubgroupMetadata(); 692*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 693*344a7f5eSAndroid Build Coastguard Worker field public static final int BIG_ENCRYPTION_STATE_BAD_CODE = 3; // 0x3 694*344a7f5eSAndroid Build Coastguard Worker field public static final int BIG_ENCRYPTION_STATE_CODE_REQUIRED = 1; // 0x1 695*344a7f5eSAndroid Build Coastguard Worker field public static final int BIG_ENCRYPTION_STATE_DECRYPTING = 2; // 0x2 696*344a7f5eSAndroid Build Coastguard Worker field public static final int BIG_ENCRYPTION_STATE_NOT_ENCRYPTED = 0; // 0x0 697*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastReceiveState> CREATOR; 698*344a7f5eSAndroid Build Coastguard Worker field public static final int PA_SYNC_STATE_FAILED_TO_SYNCHRONIZE = 3; // 0x3 699*344a7f5eSAndroid Build Coastguard Worker field public static final int PA_SYNC_STATE_IDLE = 0; // 0x0 700*344a7f5eSAndroid Build Coastguard Worker field public static final int PA_SYNC_STATE_NO_PAST = 4; // 0x4 701*344a7f5eSAndroid Build Coastguard Worker field public static final int PA_SYNC_STATE_SYNCHRONIZED = 2; // 0x2 702*344a7f5eSAndroid Build Coastguard Worker field public static final int PA_SYNC_STATE_SYNCINFO_REQUEST = 1; // 0x1 703*344a7f5eSAndroid Build Coastguard Worker } 704*344a7f5eSAndroid Build Coastguard Worker 705*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcastSettings implements android.os.Parcelable { 706*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 707*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getBroadcastCode(); 708*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getBroadcastName(); 709*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata(); 710*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> getSubgroupSettings(); 711*344a7f5eSAndroid Build Coastguard Worker method public boolean isPublicBroadcast(); 712*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 713*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSettings> CREATOR; 714*344a7f5eSAndroid Build Coastguard Worker } 715*344a7f5eSAndroid Build Coastguard Worker 716*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothLeBroadcastSettings.Builder { 717*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastSettings.Builder(); 718*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSettings); 719*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder addSubgroupSettings(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings); 720*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings build(); 721*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder clearSubgroupSettings(); 722*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastCode(@Nullable byte[]); 723*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastName(@Nullable String); 724*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcast(boolean); 725*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata); 726*344a7f5eSAndroid Build Coastguard Worker } 727*344a7f5eSAndroid Build Coastguard Worker 728*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcastSubgroup implements android.os.Parcelable { 729*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 730*344a7f5eSAndroid Build Coastguard Worker method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastChannel> getChannels(); 731*344a7f5eSAndroid Build Coastguard Worker method public long getCodecId(); 732*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecSpecificConfig(); 733*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata(); 734*344a7f5eSAndroid Build Coastguard Worker method public boolean hasChannelPreference(); 735*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 736*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroup> CREATOR; 737*344a7f5eSAndroid Build Coastguard Worker } 738*344a7f5eSAndroid Build Coastguard Worker 739*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothLeBroadcastSubgroup.Builder { 740*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastSubgroup.Builder(); 741*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastSubgroup.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup); 742*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder addChannel(@NonNull android.bluetooth.BluetoothLeBroadcastChannel); 743*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup build(); 744*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder clearChannel(); 745*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecId(long); 746*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecSpecificConfig(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata); 747*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata); 748*344a7f5eSAndroid Build Coastguard Worker } 749*344a7f5eSAndroid Build Coastguard Worker 750*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeBroadcastSubgroupSettings implements android.os.Parcelable { 751*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 752*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata(); 753*344a7f5eSAndroid Build Coastguard Worker method public int getPreferredQuality(); 754*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 755*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> CREATOR; 756*344a7f5eSAndroid Build Coastguard Worker field public static final int QUALITY_HIGH = 1; // 0x1 757*344a7f5eSAndroid Build Coastguard Worker field public static final int QUALITY_STANDARD = 0; // 0x0 758*344a7f5eSAndroid Build Coastguard Worker } 759*344a7f5eSAndroid Build Coastguard Worker 760*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothLeBroadcastSubgroupSettings.Builder { 761*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastSubgroupSettings.Builder(); 762*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothLeBroadcastSubgroupSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings); 763*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings build(); 764*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata); 765*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setPreferredQuality(int); 766*344a7f5eSAndroid Build Coastguard Worker } 767*344a7f5eSAndroid Build Coastguard Worker 768*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 769*344a7f5eSAndroid Build Coastguard Worker method public void close(); 770*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 771*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(); 772*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 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(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int); 776*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"; 777*344a7f5eSAndroid Build Coastguard Worker } 778*344a7f5eSAndroid Build Coastguard Worker 779*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothMapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 780*344a7f5eSAndroid Build Coastguard Worker method public void close(); 781*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 782*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(); 783*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 784*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 785*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> getDevicesMatchingConnectionStates(@NonNull int[]); 786*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); 787*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); 788*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED"; 789*344a7f5eSAndroid Build Coastguard Worker } 790*344a7f5eSAndroid Build Coastguard Worker 791*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothPan implements android.bluetooth.BluetoothProfile { 792*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 793*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(); 794*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 795*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 796*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn(); 797*344a7f5eSAndroid Build Coastguard Worker method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean); 798*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); 799*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"; 800*344a7f5eSAndroid Build Coastguard Worker field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED"; 801*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE"; 802*344a7f5eSAndroid Build Coastguard Worker field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE"; 803*344a7f5eSAndroid Build Coastguard Worker field public static final int LOCAL_NAP_ROLE = 1; // 0x1 804*344a7f5eSAndroid Build Coastguard Worker field public static final int LOCAL_PANU_ROLE = 2; // 0x2 805*344a7f5eSAndroid Build Coastguard Worker field public static final int PAN_ROLE_NONE = 0; // 0x0 806*344a7f5eSAndroid Build Coastguard Worker field public static final int REMOTE_NAP_ROLE = 1; // 0x1 807*344a7f5eSAndroid Build Coastguard Worker field public static final int REMOTE_PANU_ROLE = 2; // 0x2 808*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_STATE_OFF = 1; // 0x1 809*344a7f5eSAndroid Build Coastguard Worker field public static final int TETHERING_STATE_ON = 2; // 0x2 810*344a7f5eSAndroid Build Coastguard Worker } 811*344a7f5eSAndroid Build Coastguard Worker 812*344a7f5eSAndroid Build Coastguard Worker public class BluetoothPbap implements android.bluetooth.BluetoothProfile { 813*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 814*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 815*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 816*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); 817*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"; 818*344a7f5eSAndroid Build Coastguard Worker } 819*344a7f5eSAndroid Build Coastguard Worker 820*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothPbapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 821*344a7f5eSAndroid Build Coastguard Worker method public void close(); 822*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 823*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(); 824*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 825*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice); 826*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> getDevicesMatchingConnectionStates(@NonNull int[]); 827*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); 828*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED"; 829*344a7f5eSAndroid Build Coastguard Worker } 830*344a7f5eSAndroid Build Coastguard Worker 831*344a7f5eSAndroid Build Coastguard Worker public interface BluetoothProfile { 832*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static String getConnectionStateName(int); 833*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static String getProfileName(int); 834*344a7f5eSAndroid Build Coastguard Worker field public static final int A2DP_SINK = 11; // 0xb 835*344a7f5eSAndroid Build Coastguard Worker field public static final int AVRCP_CONTROLLER = 12; // 0xc 836*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64 837*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0 838*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff 839*344a7f5eSAndroid Build Coastguard Worker field public static final int HEADSET_CLIENT = 16; // 0x10 840*344a7f5eSAndroid Build Coastguard Worker field public static final int HID_HOST = 4; // 0x4 841*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_AUDIO_BROADCAST = 26; // 0x1a 842*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_AUDIO_BROADCAST_ASSISTANT = 29; // 0x1d 843*344a7f5eSAndroid Build Coastguard Worker field public static final int MAP = 9; // 0x9 844*344a7f5eSAndroid Build Coastguard Worker field public static final int MAP_CLIENT = 18; // 0x12 845*344a7f5eSAndroid Build Coastguard Worker field public static final int OPP = 20; // 0x14 846*344a7f5eSAndroid Build Coastguard Worker field public static final int PAN = 5; // 0x5 847*344a7f5eSAndroid Build Coastguard Worker field public static final int PBAP = 6; // 0x6 848*344a7f5eSAndroid Build Coastguard Worker field public static final int PBAP_CLIENT = 17; // 0x11 849*344a7f5eSAndroid Build Coastguard Worker field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0 850*344a7f5eSAndroid Build Coastguard Worker field @Deprecated public static final int PRIORITY_ON = 100; // 0x64 851*344a7f5eSAndroid Build Coastguard Worker field public static final int VOLUME_CONTROL = 23; // 0x17 852*344a7f5eSAndroid Build Coastguard Worker } 853*344a7f5eSAndroid Build Coastguard Worker 854*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothQualityReport implements android.os.Parcelable { 855*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 856*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.BluetoothClass getBluetoothClass(); 857*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.BluetoothQualityReport.BqrCommon getBqrCommon(); 858*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.os.Parcelable getBqrEvent(); 859*344a7f5eSAndroid Build Coastguard Worker method public int getLmpSubVersion(); 860*344a7f5eSAndroid Build Coastguard Worker method public int getLmpVersion(); 861*344a7f5eSAndroid Build Coastguard Worker method public int getManufacturerId(); 862*344a7f5eSAndroid Build Coastguard Worker method public int getQualityReportId(); 863*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getRemoteAddress(); 864*344a7f5eSAndroid Build Coastguard Worker method @Nullable public String getRemoteName(); 865*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static String qualityReportIdToString(int); 866*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 867*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport> CREATOR; 868*344a7f5eSAndroid Build Coastguard Worker field public static final int QUALITY_REPORT_ID_A2DP_CHOPPY = 3; // 0x3 869*344a7f5eSAndroid Build Coastguard Worker field public static final int QUALITY_REPORT_ID_APPROACH_LSTO = 2; // 0x2 870*344a7f5eSAndroid Build Coastguard Worker field public static final int QUALITY_REPORT_ID_CONN_FAIL = 8; // 0x8 871*344a7f5eSAndroid Build Coastguard Worker field public static final int QUALITY_REPORT_ID_MONITOR = 1; // 0x1 872*344a7f5eSAndroid Build Coastguard Worker field public static final int QUALITY_REPORT_ID_SCO_CHOPPY = 4; // 0x4 873*344a7f5eSAndroid Build Coastguard Worker } 874*344a7f5eSAndroid Build Coastguard Worker 875*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothQualityReport.BqrCommon implements android.os.Parcelable { 876*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static String connectionRoleToString(int); 877*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 878*344a7f5eSAndroid Build Coastguard Worker method public int getAfhSelectUnidealChannelCount(); 879*344a7f5eSAndroid Build Coastguard Worker method public int getCalFailedItemCount(); 880*344a7f5eSAndroid Build Coastguard Worker method public int getConnectionHandle(); 881*344a7f5eSAndroid Build Coastguard Worker method public int getConnectionRole(); 882*344a7f5eSAndroid Build Coastguard Worker method public long getFlowOffCount(); 883*344a7f5eSAndroid Build Coastguard Worker method public long getLastFlowOnTimestamp(); 884*344a7f5eSAndroid Build Coastguard Worker method public long getLastTxAckTimestamp(); 885*344a7f5eSAndroid Build Coastguard Worker method public int getLsto(); 886*344a7f5eSAndroid Build Coastguard Worker method public long getNakCount(); 887*344a7f5eSAndroid Build Coastguard Worker method public long getNoRxCount(); 888*344a7f5eSAndroid Build Coastguard Worker method public long getOverflowCount(); 889*344a7f5eSAndroid Build Coastguard Worker method public int getPacketType(); 890*344a7f5eSAndroid Build Coastguard Worker method public long getPiconetClock(); 891*344a7f5eSAndroid Build Coastguard Worker method public long getRetransmissionCount(); 892*344a7f5eSAndroid Build Coastguard Worker method public int getRssi(); 893*344a7f5eSAndroid Build Coastguard Worker method public int getSnr(); 894*344a7f5eSAndroid Build Coastguard Worker method public int getTxPowerLevel(); 895*344a7f5eSAndroid Build Coastguard Worker method public long getUnderflowCount(); 896*344a7f5eSAndroid Build Coastguard Worker method public int getUnusedAfhChannelCount(); 897*344a7f5eSAndroid Build Coastguard Worker method @Nullable public static String packetTypeToString(int); 898*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 899*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_ROLE_CENTRAL = 0; // 0x0 900*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECTION_ROLE_PERIPHERAL = 1; // 0x1 901*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrCommon> CREATOR; 902*344a7f5eSAndroid Build Coastguard Worker } 903*344a7f5eSAndroid Build Coastguard Worker 904*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothQualityReport.BqrConnectFail implements android.os.Parcelable { 905*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static String connectFailIdToString(int); 906*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 907*344a7f5eSAndroid Build Coastguard Worker method public int getFailReason(); 908*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 909*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECT_FAIL_ID_ACL_ALREADY_EXIST = 11; // 0xb 910*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECT_FAIL_ID_CONNECTION_TIMEOUT = 8; // 0x8 911*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECT_FAIL_ID_CONTROLLER_BUSY = 58; // 0x3a 912*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECT_FAIL_ID_NO_ERROR = 0; // 0x0 913*344a7f5eSAndroid Build Coastguard Worker field public static final int CONNECT_FAIL_ID_PAGE_TIMEOUT = 4; // 0x4 914*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrConnectFail> CREATOR; 915*344a7f5eSAndroid Build Coastguard Worker } 916*344a7f5eSAndroid Build Coastguard Worker 917*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothQualityReport.BqrVsA2dpChoppy implements android.os.Parcelable { 918*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 919*344a7f5eSAndroid Build Coastguard Worker method public int getAclTxQueueLength(); 920*344a7f5eSAndroid Build Coastguard Worker method public long getArrivalTime(); 921*344a7f5eSAndroid Build Coastguard Worker method public int getGlitchCount(); 922*344a7f5eSAndroid Build Coastguard Worker method public int getLinkQuality(); 923*344a7f5eSAndroid Build Coastguard Worker method public int getRxCxmDenials(); 924*344a7f5eSAndroid Build Coastguard Worker method public long getScheduleTime(); 925*344a7f5eSAndroid Build Coastguard Worker method public int getTxCxmDenials(); 926*344a7f5eSAndroid Build Coastguard Worker method @Nullable public static String linkQualityToString(int); 927*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 928*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsA2dpChoppy> CREATOR; 929*344a7f5eSAndroid Build Coastguard Worker } 930*344a7f5eSAndroid Build Coastguard Worker 931*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothQualityReport.BqrVsLsto implements android.os.Parcelable { 932*344a7f5eSAndroid Build Coastguard Worker method @Nullable public static String connStateToString(int); 933*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 934*344a7f5eSAndroid Build Coastguard Worker method public long getBasebandStats(); 935*344a7f5eSAndroid Build Coastguard Worker method public int getConnState(); 936*344a7f5eSAndroid Build Coastguard Worker method public int getCxmDenials(); 937*344a7f5eSAndroid Build Coastguard Worker method public long getLastTxAckTimestamp(); 938*344a7f5eSAndroid Build Coastguard Worker method public long getNativeClock(); 939*344a7f5eSAndroid Build Coastguard Worker method public int getRfLoss(); 940*344a7f5eSAndroid Build Coastguard Worker method public long getSlotsUsed(); 941*344a7f5eSAndroid Build Coastguard Worker method public int getTxSkipped(); 942*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 943*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsLsto> CREATOR; 944*344a7f5eSAndroid Build Coastguard Worker } 945*344a7f5eSAndroid Build Coastguard Worker 946*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothQualityReport.BqrVsScoChoppy implements android.os.Parcelable { 947*344a7f5eSAndroid Build Coastguard Worker method @Nullable public static String airFormatToString(int); 948*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 949*344a7f5eSAndroid Build Coastguard Worker method public int getAirFormat(); 950*344a7f5eSAndroid Build Coastguard Worker method public int getGlitchCount(); 951*344a7f5eSAndroid Build Coastguard Worker method public int getGoodRxFrameCount(); 952*344a7f5eSAndroid Build Coastguard Worker method public int getInstanceCount(); 953*344a7f5eSAndroid Build Coastguard Worker method public int getIntervalEsco(); 954*344a7f5eSAndroid Build Coastguard Worker method public int getLateDispatch(); 955*344a7f5eSAndroid Build Coastguard Worker method public int getLpaIntrMiss(); 956*344a7f5eSAndroid Build Coastguard Worker method public int getMicIntrMiss(); 957*344a7f5eSAndroid Build Coastguard Worker method public int getMissedInstanceCount(); 958*344a7f5eSAndroid Build Coastguard Worker method public int getPlcDiscardCount(); 959*344a7f5eSAndroid Build Coastguard Worker method public int getPlcFillCount(); 960*344a7f5eSAndroid Build Coastguard Worker method public int getRxCxmDenials(); 961*344a7f5eSAndroid Build Coastguard Worker method public int getRxRetransmitSlotCount(); 962*344a7f5eSAndroid Build Coastguard Worker method public int getSprIntrMiss(); 963*344a7f5eSAndroid Build Coastguard Worker method public int getTxAbortCount(); 964*344a7f5eSAndroid Build Coastguard Worker method public int getTxCxmDenials(); 965*344a7f5eSAndroid Build Coastguard Worker method public int getTxRetransmitSlotCount(); 966*344a7f5eSAndroid Build Coastguard Worker method public int getWindowEsco(); 967*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 968*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsScoChoppy> CREATOR; 969*344a7f5eSAndroid Build Coastguard Worker } 970*344a7f5eSAndroid Build Coastguard Worker 971*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothQualityReport.Builder { 972*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothQualityReport.Builder(@NonNull byte[]); 973*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothQualityReport build(); 974*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setBluetoothClass(@Nullable android.bluetooth.BluetoothClass); 975*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpSubVersion(int); 976*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpVersion(int); 977*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setManufacturerId(int); 978*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteAddress(@Nullable String); 979*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteName(@Nullable String); 980*344a7f5eSAndroid Build Coastguard Worker } 981*344a7f5eSAndroid Build Coastguard Worker 982*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothSap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 983*344a7f5eSAndroid Build Coastguard Worker method public void close(); 984*344a7f5eSAndroid Build Coastguard Worker method protected void finalize(); 985*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(); 986*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 987*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 988*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 989*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); 990*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED"; 991*344a7f5eSAndroid Build Coastguard Worker } 992*344a7f5eSAndroid Build Coastguard Worker 993*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothSinkAudioPolicy implements android.os.Parcelable { 994*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 995*344a7f5eSAndroid Build Coastguard Worker method public int getActiveDevicePolicyAfterConnection(); 996*344a7f5eSAndroid Build Coastguard Worker method public int getCallEstablishPolicy(); 997*344a7f5eSAndroid Build Coastguard Worker method public int getInBandRingtonePolicy(); 998*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 999*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothSinkAudioPolicy> CREATOR; 1000*344a7f5eSAndroid Build Coastguard Worker field public static final int POLICY_ALLOWED = 1; // 0x1 1001*344a7f5eSAndroid Build Coastguard Worker field public static final int POLICY_NOT_ALLOWED = 2; // 0x2 1002*344a7f5eSAndroid Build Coastguard Worker field public static final int POLICY_UNCONFIGURED = 0; // 0x0 1003*344a7f5eSAndroid Build Coastguard Worker } 1004*344a7f5eSAndroid Build Coastguard Worker 1005*344a7f5eSAndroid Build Coastguard Worker public static final class BluetoothSinkAudioPolicy.Builder { 1006*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothSinkAudioPolicy.Builder(); 1007*344a7f5eSAndroid Build Coastguard Worker ctor public BluetoothSinkAudioPolicy.Builder(@NonNull android.bluetooth.BluetoothSinkAudioPolicy); 1008*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy build(); 1009*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setActiveDevicePolicyAfterConnection(int); 1010*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setCallEstablishPolicy(int); 1011*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setInBandRingtonePolicy(int); 1012*344a7f5eSAndroid Build Coastguard Worker } 1013*344a7f5eSAndroid Build Coastguard Worker 1014*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothStatusCodes { 1015*344a7f5eSAndroid Build Coastguard Worker field public static final int ALLOWED = 400; // 0x190 1016*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_ALREADY_IN_TARGET_STATE = 26; // 0x1a 1017*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8 1018*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_ANOTHER_ACTIVE_REQUEST = 29; // 0x1d 1019*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_AUDIO_DEVICE_ALREADY_CONNECTED = 1116; // 0x45c 1020*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_AUDIO_DEVICE_ALREADY_DISCONNECTED = 1117; // 0x45d 1021*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_AUDIO_ROUTE_BLOCKED = 1118; // 0x45e 1022*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_BAD_PARAMETERS = 21; // 0x15 1023*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_CALLBACK_NOT_REGISTERED = 28; // 0x1c 1024*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_CALL_ACTIVE = 1119; // 0x45f 1025*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_CSIP_GROUP_LOCKED_BY_OTHER = 1208; // 0x4b8 1026*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_CSIP_INVALID_GROUP_ID = 1207; // 0x4b7 1027*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_CSIP_LOCKED_GROUP_MEMBER_LOST = 1209; // 0x4b9 1028*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_DISTANCE_MEASUREMENT_INTERNAL = 1301; // 0x515 1029*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_HAP_INVALID_PRESET_INDEX = 1211; // 0x4bb 1030*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_HAP_PRESET_NAME_TOO_LONG = 1210; // 0x4ba 1031*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_HARDWARE_GENERIC = 20; // 0x14 1032*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LE_BROADCAST_ASSISTANT_DUPLICATE_ADDITION = 1203; // 0x4b3 1033*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LE_BROADCAST_ASSISTANT_INVALID_SOURCE_ID = 1202; // 0x4b2 1034*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LE_BROADCAST_INVALID_BROADCAST_ID = 1200; // 0x4b0 1035*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LE_BROADCAST_INVALID_CODE = 1201; // 0x4b1 1036*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LE_CONTENT_METADATA_INVALID_LANGUAGE = 1205; // 0x4b5 1037*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LE_CONTENT_METADATA_INVALID_OTHER = 1206; // 0x4b6 1038*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LE_CONTENT_METADATA_INVALID_PROGRAM_INFO = 1204; // 0x4b4 1039*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_LOCAL_NOT_ENOUGH_RESOURCES = 22; // 0x16 1040*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_NOT_ACTIVE_DEVICE = 12; // 0xc 1041*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_NOT_DUAL_MODE_AUDIO_DEVICE = 3000; // 0xbb8 1042*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_NO_ACTIVE_DEVICES = 13; // 0xd 1043*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_NO_LE_CONNECTION = 1300; // 0x514 1044*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_PROFILE_NOT_CONNECTED = 14; // 0xe 1045*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_REMOTE_LINK_ERROR = 25; // 0x19 1046*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_REMOTE_NOT_ENOUGH_RESOURCES = 23; // 0x17 1047*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_REMOTE_OPERATION_NOT_SUPPORTED = 27; // 0x1b 1048*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_REMOTE_OPERATION_REJECTED = 24; // 0x18 1049*344a7f5eSAndroid Build Coastguard Worker field public static final int ERROR_TIMEOUT = 15; // 0xf 1050*344a7f5eSAndroid Build Coastguard Worker field public static final int NOT_ALLOWED = 401; // 0x191 1051*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_LOCAL_APP_REQUEST = 16; // 0x10 1052*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_LOCAL_STACK_REQUEST = 17; // 0x11 1053*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_REMOTE_REQUEST = 18; // 0x12 1054*344a7f5eSAndroid Build Coastguard Worker field public static final int REASON_SYSTEM_POLICY = 19; // 0x13 1055*344a7f5eSAndroid Build Coastguard Worker field public static final int RFCOMM_LISTENER_FAILED_TO_CLOSE_SERVER_SOCKET = 2004; // 0x7d4 1056*344a7f5eSAndroid Build Coastguard Worker field public static final int RFCOMM_LISTENER_FAILED_TO_CREATE_SERVER_SOCKET = 2003; // 0x7d3 1057*344a7f5eSAndroid Build Coastguard Worker field public static final int RFCOMM_LISTENER_NO_SOCKET_AVAILABLE = 2005; // 0x7d5 1058*344a7f5eSAndroid Build Coastguard Worker field public static final int RFCOMM_LISTENER_OPERATION_FAILED_DIFFERENT_APP = 2002; // 0x7d2 1059*344a7f5eSAndroid Build Coastguard Worker field public static final int RFCOMM_LISTENER_OPERATION_FAILED_NO_MATCHING_SERVICE_RECORD = 2001; // 0x7d1 1060*344a7f5eSAndroid Build Coastguard Worker field public static final int RFCOMM_LISTENER_START_FAILED_UUID_IN_USE = 2000; // 0x7d0 1061*344a7f5eSAndroid Build Coastguard Worker } 1062*344a7f5eSAndroid Build Coastguard Worker 1063*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothUuid { 1064*344a7f5eSAndroid Build Coastguard Worker method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]); 1065*344a7f5eSAndroid Build Coastguard Worker method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]); 1066*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid A2DP_SINK; 1067*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE; 1068*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST; 1069*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid AVRCP; 1070*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER; 1071*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET; 1072*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid BASE_UUID; 1073*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid BASS; 1074*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid BNEP; 1075*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid CAP; 1076*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid COORDINATED_SET; 1077*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid DIP; 1078*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid GENERIC_MEDIA_CONTROL; 1079*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HAS; 1080*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HEARING_AID; 1081*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HFP; 1082*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HFP_AG; 1083*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HID; 1084*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HOGP; 1085*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HSP; 1086*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid HSP_AG; 1087*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid LE_AUDIO; 1088*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MAP; 1089*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MAS; 1090*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MEDIA_CONTROL; 1091*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MFI_HAS; 1092*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid MNS; 1093*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid NAP; 1094*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH; 1095*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid PANU; 1096*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid PBAP_PCE; 1097*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid PBAP_PSE; 1098*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid SAP; 1099*344a7f5eSAndroid Build Coastguard Worker field public static final int UUID_BYTES_128_BIT = 16; // 0x10 1100*344a7f5eSAndroid Build Coastguard Worker field public static final int UUID_BYTES_16_BIT = 2; // 0x2 1101*344a7f5eSAndroid Build Coastguard Worker field public static final int UUID_BYTES_32_BIT = 4; // 0x4 1102*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL; 1103*344a7f5eSAndroid Build Coastguard Worker } 1104*344a7f5eSAndroid Build Coastguard Worker 1105*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothVolumeControl implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile { 1106*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void close(); 1107*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) protected void finalize(); 1108*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(); 1109*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice); 1110*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice); 1111*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]); 1112*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getNumberOfVolumeOffsetInstances(@NonNull android.bluetooth.BluetoothDevice); 1113*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isVolumeOffsetAvailable(@NonNull android.bluetooth.BluetoothDevice); 1114*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothVolumeControl.Callback); 1115*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); 1116*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setDeviceVolume(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0, to=255) int, boolean); 1117*344a7f5eSAndroid Build Coastguard Worker method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolumeOffset(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int); 1118*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolumeOffset(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int); 1119*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothVolumeControl.Callback); 1120*344a7f5eSAndroid Build Coastguard Worker field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED"; 1121*344a7f5eSAndroid Build Coastguard Worker } 1122*344a7f5eSAndroid Build Coastguard Worker 1123*344a7f5eSAndroid Build Coastguard Worker public static interface BluetoothVolumeControl.Callback { 1124*344a7f5eSAndroid Build Coastguard Worker method public default void onDeviceVolumeChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0, to=255) int); 1125*344a7f5eSAndroid Build Coastguard Worker method public default void onVolumeOffsetAudioDescriptionChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @NonNull String); 1126*344a7f5eSAndroid Build Coastguard Worker method public default void onVolumeOffsetAudioLocationChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int); 1127*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int); 1128*344a7f5eSAndroid Build Coastguard Worker method public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int); 1129*344a7f5eSAndroid Build Coastguard Worker } 1130*344a7f5eSAndroid Build Coastguard Worker 1131*344a7f5eSAndroid Build Coastguard Worker public final class BufferConstraint implements android.os.Parcelable { 1132*344a7f5eSAndroid Build Coastguard Worker ctor public BufferConstraint(int, int, int); 1133*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1134*344a7f5eSAndroid Build Coastguard Worker method public int getDefaultMillis(); 1135*344a7f5eSAndroid Build Coastguard Worker method public int getMaxMillis(); 1136*344a7f5eSAndroid Build Coastguard Worker method public int getMinMillis(); 1137*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 1138*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR; 1139*344a7f5eSAndroid Build Coastguard Worker } 1140*344a7f5eSAndroid Build Coastguard Worker 1141*344a7f5eSAndroid Build Coastguard Worker public final class BufferConstraints implements android.os.Parcelable { 1142*344a7f5eSAndroid Build Coastguard Worker ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>); 1143*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1144*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.BufferConstraint forCodec(int); 1145*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 1146*344a7f5eSAndroid Build Coastguard Worker field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20 1147*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR; 1148*344a7f5eSAndroid Build Coastguard Worker } 1149*344a7f5eSAndroid Build Coastguard Worker 1150*344a7f5eSAndroid Build Coastguard Worker public final class OobData implements android.os.Parcelable { 1151*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1152*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getClassOfDevice(); 1153*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getClassicLength(); 1154*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getConfirmationHash(); 1155*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getDeviceAddressWithType(); 1156*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getDeviceName(); 1157*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getLeAppearance(); 1158*344a7f5eSAndroid Build Coastguard Worker method @NonNull public int getLeDeviceRole(); 1159*344a7f5eSAndroid Build Coastguard Worker method @NonNull public int getLeFlags(); 1160*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getLeTemporaryKey(); 1161*344a7f5eSAndroid Build Coastguard Worker method @NonNull public byte[] getRandomizerHash(); 1162*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 1163*344a7f5eSAndroid Build Coastguard Worker field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3 1164*344a7f5eSAndroid Build Coastguard Worker field public static final int CONFIRMATION_OCTETS = 16; // 0x10 1165*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR; 1166*344a7f5eSAndroid Build Coastguard Worker field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7 1167*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2 1168*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1 1169*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3 1170*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2 1171*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1 1172*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1 1173*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0 1174*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2 1175*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1 1176*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0 1177*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3 1178*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4 1179*344a7f5eSAndroid Build Coastguard Worker field public static final int LE_TK_OCTETS = 16; // 0x10 1180*344a7f5eSAndroid Build Coastguard Worker field public static final int OOB_LENGTH_OCTETS = 2; // 0x2 1181*344a7f5eSAndroid Build Coastguard Worker field public static final int RANDOMIZER_OCTETS = 16; // 0x10 1182*344a7f5eSAndroid Build Coastguard Worker } 1183*344a7f5eSAndroid Build Coastguard Worker 1184*344a7f5eSAndroid Build Coastguard Worker public static final class OobData.ClassicBuilder { 1185*344a7f5eSAndroid Build Coastguard Worker ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]); 1186*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData build(); 1187*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]); 1188*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]); 1189*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]); 1190*344a7f5eSAndroid Build Coastguard Worker } 1191*344a7f5eSAndroid Build Coastguard Worker 1192*344a7f5eSAndroid Build Coastguard Worker public static final class OobData.LeBuilder { 1193*344a7f5eSAndroid Build Coastguard Worker ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int); 1194*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData build(); 1195*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]); 1196*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int); 1197*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]); 1198*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]); 1199*344a7f5eSAndroid Build Coastguard Worker } 1200*344a7f5eSAndroid Build Coastguard Worker 1201*344a7f5eSAndroid Build Coastguard Worker public final class UidTraffic implements java.lang.Cloneable android.os.Parcelable { 1202*344a7f5eSAndroid Build Coastguard Worker method public android.bluetooth.UidTraffic clone(); 1203*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1204*344a7f5eSAndroid Build Coastguard Worker method public long getRxBytes(); 1205*344a7f5eSAndroid Build Coastguard Worker method public long getTxBytes(); 1206*344a7f5eSAndroid Build Coastguard Worker method public int getUid(); 1207*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 1208*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.UidTraffic> CREATOR; 1209*344a7f5eSAndroid Build Coastguard Worker } 1210*344a7f5eSAndroid Build Coastguard Worker 1211*344a7f5eSAndroid Build Coastguard Worker} 1212*344a7f5eSAndroid Build Coastguard Worker 1213*344a7f5eSAndroid Build Coastguard Workerpackage android.bluetooth.le { 1214*344a7f5eSAndroid Build Coastguard Worker 1215*344a7f5eSAndroid Build Coastguard Worker public final class AdvertiseSettings implements android.os.Parcelable { 1216*344a7f5eSAndroid Build Coastguard Worker method public int getOwnAddressType(); 1217*344a7f5eSAndroid Build Coastguard Worker } 1218*344a7f5eSAndroid Build Coastguard Worker 1219*344a7f5eSAndroid Build Coastguard Worker public static final class AdvertiseSettings.Builder { 1220*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.AdvertiseSettings.Builder setOwnAddressType(int); 1221*344a7f5eSAndroid Build Coastguard Worker } 1222*344a7f5eSAndroid Build Coastguard Worker 1223*344a7f5eSAndroid Build Coastguard Worker public final class AdvertisingSet { 1224*344a7f5eSAndroid Build Coastguard Worker method public int getAdvertiserId(); 1225*344a7f5eSAndroid Build Coastguard Worker } 1226*344a7f5eSAndroid Build Coastguard Worker 1227*344a7f5eSAndroid Build Coastguard Worker public final class AdvertisingSetParameters implements android.os.Parcelable { 1228*344a7f5eSAndroid Build Coastguard Worker method public int getOwnAddressType(); 1229*344a7f5eSAndroid Build Coastguard Worker field public static final int ADDRESS_TYPE_DEFAULT = -1; // 0xffffffff 1230*344a7f5eSAndroid Build Coastguard Worker field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0 1231*344a7f5eSAndroid Build Coastguard Worker field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1 1232*344a7f5eSAndroid Build Coastguard Worker field public static final int ADDRESS_TYPE_RANDOM_NON_RESOLVABLE = 2; // 0x2 1233*344a7f5eSAndroid Build Coastguard Worker } 1234*344a7f5eSAndroid Build Coastguard Worker 1235*344a7f5eSAndroid Build Coastguard Worker public static final class AdvertisingSetParameters.Builder { 1236*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setOwnAddressType(int); 1237*344a7f5eSAndroid Build Coastguard Worker } 1238*344a7f5eSAndroid Build Coastguard Worker 1239*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeAdvertiser { 1240*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_CONNECT}) public void startAdvertisingSet(@NonNull android.bluetooth.le.AdvertisingSetParameters, @Nullable android.bluetooth.le.AdvertiseData, @Nullable android.bluetooth.le.AdvertiseData, @Nullable android.bluetooth.le.PeriodicAdvertisingParameters, @Nullable android.bluetooth.le.AdvertiseData, int, int, @Nullable android.bluetooth.BluetoothGattServer, @Nullable android.bluetooth.le.AdvertisingSetCallback, @NonNull android.os.Handler); 1241*344a7f5eSAndroid Build Coastguard Worker } 1242*344a7f5eSAndroid Build Coastguard Worker 1243*344a7f5eSAndroid Build Coastguard Worker public final class BluetoothLeScanner { 1244*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); 1245*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); 1246*344a7f5eSAndroid Build Coastguard Worker method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback); 1247*344a7f5eSAndroid Build Coastguard Worker } 1248*344a7f5eSAndroid Build Coastguard Worker 1249*344a7f5eSAndroid Build Coastguard Worker public final class ChannelSoundingParams implements android.os.Parcelable { 1250*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1251*344a7f5eSAndroid Build Coastguard Worker method public int getCsSecurityLevel(); 1252*344a7f5eSAndroid Build Coastguard Worker method public int getLocationType(); 1253*344a7f5eSAndroid Build Coastguard Worker method public int getSightType(); 1254*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 1255*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ChannelSoundingParams> CREATOR; 1256*344a7f5eSAndroid Build Coastguard Worker field public static final int CS_SECURITY_LEVEL_FOUR = 4; // 0x4 1257*344a7f5eSAndroid Build Coastguard Worker field public static final int CS_SECURITY_LEVEL_ONE = 1; // 0x1 1258*344a7f5eSAndroid Build Coastguard Worker field public static final int CS_SECURITY_LEVEL_THREE = 3; // 0x3 1259*344a7f5eSAndroid Build Coastguard Worker field public static final int CS_SECURITY_LEVEL_TWO = 2; // 0x2 1260*344a7f5eSAndroid Build Coastguard Worker field public static final int CS_SECURITY_LEVEL_UNKNOWN = 0; // 0x0 1261*344a7f5eSAndroid Build Coastguard Worker field public static final int LOCATION_TYPE_INDOOR = 1; // 0x1 1262*344a7f5eSAndroid Build Coastguard Worker field public static final int LOCATION_TYPE_OUTDOOR = 2; // 0x2 1263*344a7f5eSAndroid Build Coastguard Worker field public static final int LOCATION_TYPE_UNKNOWN = 0; // 0x0 1264*344a7f5eSAndroid Build Coastguard Worker field public static final int SIGHT_TYPE_LINE_OF_SIGHT = 1; // 0x1 1265*344a7f5eSAndroid Build Coastguard Worker field public static final int SIGHT_TYPE_NON_LINE_OF_SIGHT = 2; // 0x2 1266*344a7f5eSAndroid Build Coastguard Worker field public static final int SIGHT_TYPE_UNKNOWN = 0; // 0x0 1267*344a7f5eSAndroid Build Coastguard Worker } 1268*344a7f5eSAndroid Build Coastguard Worker 1269*344a7f5eSAndroid Build Coastguard Worker public static final class ChannelSoundingParams.Builder { 1270*344a7f5eSAndroid Build Coastguard Worker ctor public ChannelSoundingParams.Builder(); 1271*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ChannelSoundingParams build(); 1272*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setCsSecurityLevel(int); 1273*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setLocationType(int); 1274*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setSightType(int); 1275*344a7f5eSAndroid Build Coastguard Worker } 1276*344a7f5eSAndroid Build Coastguard Worker 1277*344a7f5eSAndroid Build Coastguard Worker public final class DistanceMeasurementManager { 1278*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getChannelSoundingMaxSupportedSecurityLevel(@NonNull android.bluetooth.BluetoothDevice); 1279*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getLocalChannelSoundingMaxSupportedSecurityLevel(); 1280*344a7f5eSAndroid Build Coastguard Worker method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.le.DistanceMeasurementMethod> getSupportedMethods(); 1281*344a7f5eSAndroid Build Coastguard Worker method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.os.CancellationSignal startMeasurementSession(@NonNull android.bluetooth.le.DistanceMeasurementParams, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.le.DistanceMeasurementSession.Callback); 1282*344a7f5eSAndroid Build Coastguard Worker } 1283*344a7f5eSAndroid Build Coastguard Worker 1284*344a7f5eSAndroid Build Coastguard Worker public final class DistanceMeasurementMethod implements android.os.Parcelable { 1285*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1286*344a7f5eSAndroid Build Coastguard Worker method public double getId(); 1287*344a7f5eSAndroid Build Coastguard Worker method public boolean isAltitudeAngleSupported(); 1288*344a7f5eSAndroid Build Coastguard Worker method public boolean isAzimuthAngleSupported(); 1289*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 1290*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementMethod> CREATOR; 1291*344a7f5eSAndroid Build Coastguard Worker field public static final int DISTANCE_MEASUREMENT_METHOD_AUTO = 0; // 0x0 1292*344a7f5eSAndroid Build Coastguard Worker field public static final int DISTANCE_MEASUREMENT_METHOD_CHANNEL_SOUNDING = 2; // 0x2 1293*344a7f5eSAndroid Build Coastguard Worker field public static final int DISTANCE_MEASUREMENT_METHOD_RSSI = 1; // 0x1 1294*344a7f5eSAndroid Build Coastguard Worker } 1295*344a7f5eSAndroid Build Coastguard Worker 1296*344a7f5eSAndroid Build Coastguard Worker public static final class DistanceMeasurementMethod.Builder { 1297*344a7f5eSAndroid Build Coastguard Worker ctor public DistanceMeasurementMethod.Builder(int); 1298*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementMethod build(); 1299*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAltitudeAngleSupported(boolean); 1300*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAzimuthAngleSupported(boolean); 1301*344a7f5eSAndroid Build Coastguard Worker } 1302*344a7f5eSAndroid Build Coastguard Worker 1303*344a7f5eSAndroid Build Coastguard Worker public final class DistanceMeasurementParams implements android.os.Parcelable { 1304*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1305*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.le.ChannelSoundingParams getChannelSoundingParams(); 1306*344a7f5eSAndroid Build Coastguard Worker method public static int getDefaultDurationSeconds(); 1307*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.BluetoothDevice getDevice(); 1308*344a7f5eSAndroid Build Coastguard Worker method @IntRange(from=0) public int getDurationSeconds(); 1309*344a7f5eSAndroid Build Coastguard Worker method public int getFrequency(); 1310*344a7f5eSAndroid Build Coastguard Worker method public static int getMaxDurationSeconds(); 1311*344a7f5eSAndroid Build Coastguard Worker method public int getMethodId(); 1312*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 1313*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementParams> CREATOR; 1314*344a7f5eSAndroid Build Coastguard Worker field public static final int REPORT_FREQUENCY_HIGH = 2; // 0x2 1315*344a7f5eSAndroid Build Coastguard Worker field public static final int REPORT_FREQUENCY_LOW = 0; // 0x0 1316*344a7f5eSAndroid Build Coastguard Worker field public static final int REPORT_FREQUENCY_MEDIUM = 1; // 0x1 1317*344a7f5eSAndroid Build Coastguard Worker } 1318*344a7f5eSAndroid Build Coastguard Worker 1319*344a7f5eSAndroid Build Coastguard Worker public static final class DistanceMeasurementParams.Builder { 1320*344a7f5eSAndroid Build Coastguard Worker ctor public DistanceMeasurementParams.Builder(@NonNull android.bluetooth.BluetoothDevice); 1321*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementParams build(); 1322*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setChannelSoundingParams(@NonNull android.bluetooth.le.ChannelSoundingParams); 1323*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setDurationSeconds(@IntRange(from=0) int); 1324*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setFrequency(int); 1325*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setMethodId(int); 1326*344a7f5eSAndroid Build Coastguard Worker } 1327*344a7f5eSAndroid Build Coastguard Worker 1328*344a7f5eSAndroid Build Coastguard Worker public final class DistanceMeasurementResult implements android.os.Parcelable { 1329*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1330*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=-90.0, to=90.0) public double getAltitudeAngle(); 1331*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=0.0, to=360.0) public double getAzimuthAngle(); 1332*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel(); 1333*344a7f5eSAndroid Build Coastguard Worker method public double getDelaySpreadMeters(); 1334*344a7f5eSAndroid Build Coastguard Worker method public int getDetectedAttackLevel(); 1335*344a7f5eSAndroid Build Coastguard Worker method public double getErrorAltitudeAngle(); 1336*344a7f5eSAndroid Build Coastguard Worker method public double getErrorAzimuthAngle(); 1337*344a7f5eSAndroid Build Coastguard Worker method @FloatRange(from=0.0) public double getErrorMeters(); 1338*344a7f5eSAndroid Build Coastguard Worker method public double getResultMeters(); 1339*344a7f5eSAndroid Build Coastguard Worker method public double getVelocityMetersPerSecond(); 1340*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(android.os.Parcel, int); 1341*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementResult> CREATOR; 1342*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_ATTACK_IS_EXTREMELY_LIKELY = 6; // 0x6 1343*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_ATTACK_IS_EXTREMELY_UNLIKELY = 0; // 0x0 1344*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_ATTACK_IS_LIKELY = 4; // 0x4 1345*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_ATTACK_IS_POSSIBLE = 3; // 0x3 1346*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_ATTACK_IS_UNLIKELY = 2; // 0x2 1347*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_ATTACK_IS_VERY_LIKELY = 5; // 0x5 1348*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_ATTACK_IS_VERY_UNLIKELY = 1; // 0x1 1349*344a7f5eSAndroid Build Coastguard Worker field public static final int NADM_UNKNOWN = 255; // 0xff 1350*344a7f5eSAndroid Build Coastguard Worker } 1351*344a7f5eSAndroid Build Coastguard Worker 1352*344a7f5eSAndroid Build Coastguard Worker public static final class DistanceMeasurementResult.Builder { 1353*344a7f5eSAndroid Build Coastguard Worker ctor public DistanceMeasurementResult.Builder(@FloatRange(from=0.0) double, @FloatRange(from=0.0) double); 1354*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult build(); 1355*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAltitudeAngle(@FloatRange(from=-90.0, to=90.0) double); 1356*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAzimuthAngle(@FloatRange(from=0.0, to=360.0) double); 1357*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double); 1358*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDelaySpreadMeters(double); 1359*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDetectedAttackLevel(int); 1360*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAltitudeAngle(@FloatRange(from=0.0, to=180.0) double); 1361*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAzimuthAngle(@FloatRange(from=0.0, to=360.0) double); 1362*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setVelocityMetersPerSecond(double); 1363*344a7f5eSAndroid Build Coastguard Worker } 1364*344a7f5eSAndroid Build Coastguard Worker 1365*344a7f5eSAndroid Build Coastguard Worker public final class DistanceMeasurementSession { 1366*344a7f5eSAndroid Build Coastguard Worker method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopSession(); 1367*344a7f5eSAndroid Build Coastguard Worker } 1368*344a7f5eSAndroid Build Coastguard Worker 1369*344a7f5eSAndroid Build Coastguard Worker public static interface DistanceMeasurementSession.Callback { 1370*344a7f5eSAndroid Build Coastguard Worker method public void onResult(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.le.DistanceMeasurementResult); 1371*344a7f5eSAndroid Build Coastguard Worker method public void onStartFail(@NonNull int); 1372*344a7f5eSAndroid Build Coastguard Worker method public void onStarted(@NonNull android.bluetooth.le.DistanceMeasurementSession); 1373*344a7f5eSAndroid Build Coastguard Worker method public void onStopped(@NonNull android.bluetooth.le.DistanceMeasurementSession, @NonNull int); 1374*344a7f5eSAndroid Build Coastguard Worker } 1375*344a7f5eSAndroid Build Coastguard Worker 1376*344a7f5eSAndroid Build Coastguard Worker @Deprecated public final class ResultStorageDescriptor implements android.os.Parcelable { 1377*344a7f5eSAndroid Build Coastguard Worker ctor @Deprecated public ResultStorageDescriptor(int, int, int); 1378*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public int describeContents(); 1379*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public int getLength(); 1380*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public int getOffset(); 1381*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public int getType(); 1382*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public void writeToParcel(android.os.Parcel, int); 1383*344a7f5eSAndroid Build Coastguard Worker field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR; 1384*344a7f5eSAndroid Build Coastguard Worker } 1385*344a7f5eSAndroid Build Coastguard Worker 1386*344a7f5eSAndroid Build Coastguard Worker public final class ScanFilter implements android.os.Parcelable { 1387*344a7f5eSAndroid Build Coastguard Worker method public int getAddressType(); 1388*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getIrk(); 1389*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.le.TransportBlockFilter getTransportBlockFilter(); 1390*344a7f5eSAndroid Build Coastguard Worker } 1391*344a7f5eSAndroid Build Coastguard Worker 1392*344a7f5eSAndroid Build Coastguard Worker public static final class ScanFilter.Builder { 1393*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int); 1394*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]); 1395*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.ScanFilter.Builder setTransportBlockFilter(@NonNull android.bluetooth.le.TransportBlockFilter); 1396*344a7f5eSAndroid Build Coastguard Worker field public static final int LEN_IRK_OCTETS = 16; // 0x10 1397*344a7f5eSAndroid Build Coastguard Worker } 1398*344a7f5eSAndroid Build Coastguard Worker 1399*344a7f5eSAndroid Build Coastguard Worker public final class ScanRecord { 1400*344a7f5eSAndroid Build Coastguard Worker method @Nullable public android.bluetooth.le.TransportDiscoveryData getTransportDiscoveryData(); 1401*344a7f5eSAndroid Build Coastguard Worker } 1402*344a7f5eSAndroid Build Coastguard Worker 1403*344a7f5eSAndroid Build Coastguard Worker public final class ScanSettings implements android.os.Parcelable { 1404*344a7f5eSAndroid Build Coastguard Worker field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3 1405*344a7f5eSAndroid Build Coastguard Worker field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1 1406*344a7f5eSAndroid Build Coastguard Worker field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0 1407*344a7f5eSAndroid Build Coastguard Worker } 1408*344a7f5eSAndroid Build Coastguard Worker 1409*344a7f5eSAndroid Build Coastguard Worker public static final class ScanSettings.Builder { 1410*344a7f5eSAndroid Build Coastguard Worker method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int); 1411*344a7f5eSAndroid Build Coastguard Worker } 1412*344a7f5eSAndroid Build Coastguard Worker 1413*344a7f5eSAndroid Build Coastguard Worker public final class TransportBlockFilter implements android.os.Parcelable { 1414*344a7f5eSAndroid Build Coastguard Worker method public int describeContents(); 1415*344a7f5eSAndroid Build Coastguard Worker method public int getOrgId(); 1416*344a7f5eSAndroid Build Coastguard Worker method public int getTdsFlags(); 1417*344a7f5eSAndroid Build Coastguard Worker method public int getTdsFlagsMask(); 1418*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getTransportData(); 1419*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getTransportDataMask(); 1420*344a7f5eSAndroid Build Coastguard Worker method @Nullable public byte[] getWifiNanHash(); 1421*344a7f5eSAndroid Build Coastguard Worker method public void writeToParcel(@NonNull android.os.Parcel, int); 1422*344a7f5eSAndroid Build Coastguard Worker field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportBlockFilter> CREATOR; 1423*344a7f5eSAndroid Build Coastguard Worker field public static final int WIFI_NAN_HASH_LENGTH_BYTES = 8; // 0x8 1424*344a7f5eSAndroid Build Coastguard Worker } 1425*344a7f5eSAndroid Build Coastguard Worker 1426*344a7f5eSAndroid Build Coastguard Worker public static final class TransportBlockFilter.Builder { 1427*344a7f5eSAndroid Build Coastguard Worker ctor public TransportBlockFilter.Builder(int); 1428*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.TransportBlockFilter build(); 1429*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTdsFlags(int, int); 1430*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTransportData(@NonNull byte[], @NonNull byte[]); 1431*344a7f5eSAndroid Build Coastguard Worker method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setWifiNanHash(@NonNull byte[]); 1432*344a7f5eSAndroid Build Coastguard Worker } 1433*344a7f5eSAndroid Build Coastguard Worker 1434*344a7f5eSAndroid Build Coastguard Worker @Deprecated public final class TruncatedFilter { 1435*344a7f5eSAndroid Build Coastguard Worker ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>); 1436*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public android.bluetooth.le.ScanFilter getFilter(); 1437*344a7f5eSAndroid Build Coastguard Worker method @Deprecated public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors(); 1438*344a7f5eSAndroid Build Coastguard Worker } 1439*344a7f5eSAndroid Build Coastguard Worker 1440*344a7f5eSAndroid Build Coastguard Worker} 1441*344a7f5eSAndroid Build Coastguard Worker 1442