Skip to content

Commit 31f191b

Browse files
committed
Fix for #5 (IBeaconManufacturerData.calculateUUIDString(byte[]) bug)
1 parent 33f2a26 commit 31f191b

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

library/src/main/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtils.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ public static String calculateUuidString(final byte[] uuid) {
5050
}
5151

5252
final int intFromByte = ByteUtils.getIntFromByte(uuid[i]);
53+
if(intFromByte <= 0xF){
54+
sb.append('0');
55+
}
5356
sb.append(Integer.toHexString(intFromByte));
5457
}
5558

library/src/test/java/uk/co/alt236/bluetoothlelib/util/IBeaconUtilsTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ public void testGetDistanceDescriptor() throws Exception {
3434
}
3535

3636
public void testCalculateUuidString() throws Exception {
37-
37+
assertEquals("00", IBeaconUtils.calculateUuidString(new byte[]{0}));
38+
assertEquals("0a", IBeaconUtils.calculateUuidString(new byte[]{10}));
39+
assertEquals("0f", IBeaconUtils.calculateUuidString(new byte[]{15}));
40+
assertEquals("10", IBeaconUtils.calculateUuidString(new byte[]{16}));
41+
assertEquals("7f", IBeaconUtils.calculateUuidString(new byte[]{127}));
42+
assertEquals(
43+
"00000000-0000-0000-0000-00",
44+
IBeaconUtils.calculateUuidString(new byte[]{0,0,0,0,0,0,0,0,0,0,0}));
3845
}
3946
}

0 commit comments

Comments
 (0)