Loading android/app/src/com/android/bluetooth/btservice/RemoteDevices.java +19 −12 Original line number Diff line number Diff line Loading @@ -44,13 +44,13 @@ final class RemoteDevices { private static final int UUID_INTENT_DELAY = 6000; private static final int MESSAGE_UUID_INTENT = 1; private HashMap<BluetoothDevice, DeviceProperties> mDevices; private HashMap<String, DeviceProperties> mDevices; RemoteDevices(AdapterService service) { mAdapter = BluetoothAdapter.getDefaultAdapter(); mAdapterService = service; mSdpTracker = new ArrayList<BluetoothDevice>(); mDevices = new HashMap<BluetoothDevice, DeviceProperties>(); mDevices = new HashMap<String, DeviceProperties>(); } Loading @@ -69,26 +69,23 @@ final class RemoteDevices { DeviceProperties getDeviceProperties(BluetoothDevice device) { synchronized (mDevices) { return mDevices.get(device); return mDevices.get(device.getAddress()); } } BluetoothDevice getDevice(byte[] address) { for (BluetoothDevice dev : mDevices.keySet()) { if (dev.getAddress().equals(Utils.getAddressStringFromByte(address))) { return dev; } } DeviceProperties prop = mDevices.get(Utils.getAddressStringFromByte(address)); if (prop == null) return null; return prop.getDevice(); } DeviceProperties addDeviceProperties(byte[] address) { synchronized (mDevices) { DeviceProperties prop = new DeviceProperties(); BluetoothDevice device = mAdapter.getRemoteDevice(Utils.getAddressStringFromByte(address)); prop.mDevice = mAdapter.getRemoteDevice(Utils.getAddressStringFromByte(address)); prop.mAddress = address; mDevices.put(device, prop); mDevices.put(Utils.getAddressStringFromByte(address), prop); return prop; } } Loading @@ -102,6 +99,7 @@ final class RemoteDevices { private int mDeviceType; private String mAlias; private int mBondState; private BluetoothDevice mDevice; DeviceProperties() { mBondState = BluetoothDevice.BOND_NONE; Loading Loading @@ -143,6 +141,15 @@ final class RemoteDevices { } } /** * @return the mDevice */ BluetoothDevice getDevice() { synchronized (mObject) { return mDevice; } } /** * @return mRssi */ Loading Loading
android/app/src/com/android/bluetooth/btservice/RemoteDevices.java +19 −12 Original line number Diff line number Diff line Loading @@ -44,13 +44,13 @@ final class RemoteDevices { private static final int UUID_INTENT_DELAY = 6000; private static final int MESSAGE_UUID_INTENT = 1; private HashMap<BluetoothDevice, DeviceProperties> mDevices; private HashMap<String, DeviceProperties> mDevices; RemoteDevices(AdapterService service) { mAdapter = BluetoothAdapter.getDefaultAdapter(); mAdapterService = service; mSdpTracker = new ArrayList<BluetoothDevice>(); mDevices = new HashMap<BluetoothDevice, DeviceProperties>(); mDevices = new HashMap<String, DeviceProperties>(); } Loading @@ -69,26 +69,23 @@ final class RemoteDevices { DeviceProperties getDeviceProperties(BluetoothDevice device) { synchronized (mDevices) { return mDevices.get(device); return mDevices.get(device.getAddress()); } } BluetoothDevice getDevice(byte[] address) { for (BluetoothDevice dev : mDevices.keySet()) { if (dev.getAddress().equals(Utils.getAddressStringFromByte(address))) { return dev; } } DeviceProperties prop = mDevices.get(Utils.getAddressStringFromByte(address)); if (prop == null) return null; return prop.getDevice(); } DeviceProperties addDeviceProperties(byte[] address) { synchronized (mDevices) { DeviceProperties prop = new DeviceProperties(); BluetoothDevice device = mAdapter.getRemoteDevice(Utils.getAddressStringFromByte(address)); prop.mDevice = mAdapter.getRemoteDevice(Utils.getAddressStringFromByte(address)); prop.mAddress = address; mDevices.put(device, prop); mDevices.put(Utils.getAddressStringFromByte(address), prop); return prop; } } Loading @@ -102,6 +99,7 @@ final class RemoteDevices { private int mDeviceType; private String mAlias; private int mBondState; private BluetoothDevice mDevice; DeviceProperties() { mBondState = BluetoothDevice.BOND_NONE; Loading Loading @@ -143,6 +141,15 @@ final class RemoteDevices { } } /** * @return the mDevice */ BluetoothDevice getDevice() { synchronized (mObject) { return mDevice; } } /** * @return mRssi */ Loading