From 31f191b69528e37d2d4c84116c3c298176243565 Mon Sep 17 00:00:00 2001 From: Alexandros Schillings Date: Fri, 3 Jul 2015 18:16:21 +0100 Subject: [PATCH] Fix for #5 (IBeaconManufacturerData.calculateUUIDString(byte[]) bug) --- .../uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java | 3 +++ .../co/alt236/bluetoothlelib/util/IBeaconUtilsTest.java | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java index cadc2c9..f38b995 100644 --- a/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java +++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java @@ -50,6 +50,9 @@ public class IBeaconUtils { } final int intFromByte = ByteUtils.getIntFromByte(uuid[i]); + if(intFromByte <= 0xF){ + sb.append('0'); + } sb.append(Integer.toHexString(intFromByte)); } diff --git a/library/src/test/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtilsTest.java b/library/src/test/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtilsTest.java index 8253383..be5ffdc 100644 --- a/library/src/test/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtilsTest.java +++ b/library/src/test/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtilsTest.java @@ -34,6 +34,13 @@ public class IBeaconUtilsTest extends TestCase { } public void testCalculateUuidString() throws Exception { - + assertEquals("00", IBeaconUtils.calculateUuidString(new byte[]{0})); + assertEquals("0a", IBeaconUtils.calculateUuidString(new byte[]{10})); + assertEquals("0f", IBeaconUtils.calculateUuidString(new byte[]{15})); + assertEquals("10", IBeaconUtils.calculateUuidString(new byte[]{16})); + assertEquals("7f", IBeaconUtils.calculateUuidString(new byte[]{127})); + assertEquals( + "00000000-0000-0000-0000-00", + IBeaconUtils.calculateUuidString(new byte[]{0,0,0,0,0,0,0,0,0,0,0})); } } \ No newline at end of file