Loading core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1510,6 +1510,7 @@ package android.bluetooth { public final class BluetoothDevice implements android.os.Parcelable { method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean cancelBondProcess(); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean fetchUuidsWithSdp(int); method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public byte[] getMetadata(int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public int getSimAccessPermission(); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isConnected(); Loading core/java/android/bluetooth/BluetoothDevice.java +26 −1 Original line number Diff line number Diff line Loading @@ -1622,13 +1622,38 @@ public final class BluetoothDevice implements Parcelable { */ @RequiresPermission(Manifest.permission.BLUETOOTH) public boolean fetchUuidsWithSdp() { return fetchUuidsWithSdp(TRANSPORT_AUTO); } /** * Perform a service discovery on the remote device to get the UUIDs supported with the * specific transport. * * <p>This API is asynchronous and {@link #ACTION_UUID} intent is sent, * with the UUIDs supported by the remote end. If there is an error * in getting the SDP or GATT records or if the process takes a long time, or the device * is bonding and we have its UUIDs cached, {@link #ACTION_UUID} intent is sent with the * UUIDs that is currently present in the cache. Clients should use the {@link #getUuids} * to get UUIDs if service discovery is not to be performed. If there is an ongoing bonding * process, service discovery or device inquiry, the request will be queued. * * @param transport - provide type of transport (e.g. LE or Classic). * @return False if the check fails, True if the process of initiating an ACL connection * to the remote device was started or cached UUIDs will be broadcast with the specific * transport. * * @hide */ @SystemApi @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean fetchUuidsWithSdp(@Transport int transport) { final IBluetooth service = sService; if (service == null || !isBluetoothEnabled()) { Log.e(TAG, "BT not enabled. Cannot fetchUuidsWithSdp"); return false; } try { return service.fetchRemoteUuids(this); return service.fetchRemoteUuids(this, transport); } catch (RemoteException e) { Log.e(TAG, "", e); } Loading Loading
core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1510,6 +1510,7 @@ package android.bluetooth { public final class BluetoothDevice implements android.os.Parcelable { method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean cancelBondProcess(); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean fetchUuidsWithSdp(int); method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public byte[] getMetadata(int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public int getSimAccessPermission(); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isConnected(); Loading
core/java/android/bluetooth/BluetoothDevice.java +26 −1 Original line number Diff line number Diff line Loading @@ -1622,13 +1622,38 @@ public final class BluetoothDevice implements Parcelable { */ @RequiresPermission(Manifest.permission.BLUETOOTH) public boolean fetchUuidsWithSdp() { return fetchUuidsWithSdp(TRANSPORT_AUTO); } /** * Perform a service discovery on the remote device to get the UUIDs supported with the * specific transport. * * <p>This API is asynchronous and {@link #ACTION_UUID} intent is sent, * with the UUIDs supported by the remote end. If there is an error * in getting the SDP or GATT records or if the process takes a long time, or the device * is bonding and we have its UUIDs cached, {@link #ACTION_UUID} intent is sent with the * UUIDs that is currently present in the cache. Clients should use the {@link #getUuids} * to get UUIDs if service discovery is not to be performed. If there is an ongoing bonding * process, service discovery or device inquiry, the request will be queued. * * @param transport - provide type of transport (e.g. LE or Classic). * @return False if the check fails, True if the process of initiating an ACL connection * to the remote device was started or cached UUIDs will be broadcast with the specific * transport. * * @hide */ @SystemApi @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean fetchUuidsWithSdp(@Transport int transport) { final IBluetooth service = sService; if (service == null || !isBluetoothEnabled()) { Log.e(TAG, "BT not enabled. Cannot fetchUuidsWithSdp"); return false; } try { return service.fetchRemoteUuids(this); return service.fetchRemoteUuids(this, transport); } catch (RemoteException e) { Log.e(TAG, "", e); } Loading