Loading android/app/src/com/android/bluetooth/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,18 @@ public final class Utils { return String.format("XX:XX:XX:XX:%02X:%02X", address[4], address[5]); } /** * Returns the correct device address to be used for connections over BR/EDR transport. * * @param address the device address for which to obtain the connection address * @param service the adapter service to make the identity address retrieval call * @return either identity address or device address in String format */ public static String getBrEdrAddress(String address, AdapterService service) { String identity = service.getIdentityAddress(address); return identity != null ? identity : address; } /** * Returns the correct device address to be used for connections over BR/EDR transport. * Loading android/app/src/com/android/bluetooth/sdp/SdpManager.java +14 −4 Original line number Diff line number Diff line Loading @@ -143,11 +143,16 @@ public class SdpManager { SdpSearchInstance getSearchInstance(byte[] address, byte[] uuidBytes) { String addressString = Utils.getAddressStringFromByte(address); addressString = mAdapterService.getIdentityAddress(addressString); addressString = Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(addressString, mAdapterService) : mAdapterService.getIdentityAddress(addressString); ParcelUuid uuid = Utils.byteArrayToUuid(uuidBytes)[0]; for (SdpSearchInstance inst : mList) { String instAddressString = mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(inst.getDevice(), mAdapterService) : mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); if (instAddressString.equals(addressString) && inst.getUuid().equals(uuid)) { return inst; } Loading @@ -156,10 +161,15 @@ public class SdpManager { } boolean isSearching(BluetoothDevice device, ParcelUuid uuid) { String addressString = mAdapterService.getIdentityAddress(device.getAddress()); String addressString = Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(device, mAdapterService) : mAdapterService.getIdentityAddress(device.getAddress()); for (SdpSearchInstance inst : mList) { String instAddressString = mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(inst.getDevice(), mAdapterService) : mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); if (instAddressString != null && instAddressString.equals(addressString) && inst.getUuid().equals(uuid)) { Loading Loading
android/app/src/com/android/bluetooth/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,18 @@ public final class Utils { return String.format("XX:XX:XX:XX:%02X:%02X", address[4], address[5]); } /** * Returns the correct device address to be used for connections over BR/EDR transport. * * @param address the device address for which to obtain the connection address * @param service the adapter service to make the identity address retrieval call * @return either identity address or device address in String format */ public static String getBrEdrAddress(String address, AdapterService service) { String identity = service.getIdentityAddress(address); return identity != null ? identity : address; } /** * Returns the correct device address to be used for connections over BR/EDR transport. * Loading
android/app/src/com/android/bluetooth/sdp/SdpManager.java +14 −4 Original line number Diff line number Diff line Loading @@ -143,11 +143,16 @@ public class SdpManager { SdpSearchInstance getSearchInstance(byte[] address, byte[] uuidBytes) { String addressString = Utils.getAddressStringFromByte(address); addressString = mAdapterService.getIdentityAddress(addressString); addressString = Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(addressString, mAdapterService) : mAdapterService.getIdentityAddress(addressString); ParcelUuid uuid = Utils.byteArrayToUuid(uuidBytes)[0]; for (SdpSearchInstance inst : mList) { String instAddressString = mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(inst.getDevice(), mAdapterService) : mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); if (instAddressString.equals(addressString) && inst.getUuid().equals(uuid)) { return inst; } Loading @@ -156,10 +161,15 @@ public class SdpManager { } boolean isSearching(BluetoothDevice device, ParcelUuid uuid) { String addressString = mAdapterService.getIdentityAddress(device.getAddress()); String addressString = Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(device, mAdapterService) : mAdapterService.getIdentityAddress(device.getAddress()); for (SdpSearchInstance inst : mList) { String instAddressString = mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); Flags.identityAddressNullIfUnknown() ? Utils.getBrEdrAddress(inst.getDevice(), mAdapterService) : mAdapterService.getIdentityAddress(inst.getDevice().getAddress()); if (instAddressString != null && instAddressString.equals(addressString) && inst.getUuid().equals(uuid)) { Loading