diff options
author | Ruina Liu <ruina.liu@mediatek.com> | 2017-07-22 18:41:48 +0800 |
---|---|---|
committer | Ting Zheng <ting.zheng@mediatek.com> | 2017-09-15 17:08:32 -0700 |
commit | 3bff59e26dd2e7c8dfc4c4bbf83c4a623b3b72d6 (patch) | |
tree | f27863cedf513e1b1f49c3ecfbc287bd94dfc5dc /framework/java/android/bluetooth/BluetoothUuid.java | |
parent | 6209c2052f3b879b118f55864660b87a36bb1f5d (diff) |
Fix extracting 32-bit uuid error via calling method uuidToBytes
A new defined method of uuidToBytes is used to convert
Bluetooth uuid to bytes in the case of BLE advertising.
But the most significant 16 bits of a 32-bit uuid
will be cleared after the and operations with
0X0000FFFF00000000L in the function of
getServiceIdentifierFromParcelUuid.
0XFFFFFFFF00000000L should be used as bit mask.
Change-Id: I83e22ffbecd718540e644289fee12bf9c3b66305
Test: Advertise with payload contains 32-bit uuid
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothUuid.java')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothUuid.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/framework/java/android/bluetooth/BluetoothUuid.java b/framework/java/android/bluetooth/BluetoothUuid.java index 5bfc54d267..76cb3f5b54 100644 --- a/framework/java/android/bluetooth/BluetoothUuid.java +++ b/framework/java/android/bluetooth/BluetoothUuid.java @@ -232,7 +232,7 @@ public final class BluetoothUuid { */ public static int getServiceIdentifierFromParcelUuid(ParcelUuid parcelUuid) { UUID uuid = parcelUuid.getUuid(); - long value = (uuid.getMostSignificantBits() & 0x0000FFFF00000000L) >>> 32; + long value = (uuid.getMostSignificantBits() & 0xFFFFFFFF00000000L) >>> 32; return (int) value; } |