summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/bluetooth/BluetoothUuid.java20
-rw-r--r--core/tests/bluetoothtests/src/android/bluetooth/BluetoothUuidTest.java16
2 files changed, 35 insertions, 1 deletions
diff --git a/core/java/android/bluetooth/BluetoothUuid.java b/core/java/android/bluetooth/BluetoothUuid.java
index ab53fb0..1e22eb3 100644
--- a/core/java/android/bluetooth/BluetoothUuid.java
+++ b/core/java/android/bluetooth/BluetoothUuid.java
@@ -273,11 +273,29 @@ public final class BluetoothUuid {
* @param parcelUuid
* @return true if the parcelUuid can be converted to 16 bit uuid, false otherwise.
*/
- public static boolean isShortUuid(ParcelUuid parcelUuid) {
+ public static boolean is16BitUuid(ParcelUuid parcelUuid) {
UUID uuid = parcelUuid.getUuid();
if (uuid.getLeastSignificantBits() != BASE_UUID.getUuid().getLeastSignificantBits()) {
return false;
}
return ((uuid.getMostSignificantBits() & 0xFFFF0000FFFFFFFFL) == 0x1000L);
}
+
+
+ /**
+ * Check whether the given parcelUuid can be converted to 32 bit bluetooth uuid.
+ *
+ * @param parcelUuid
+ * @return true if the parcelUuid can be converted to 32 bit uuid, false otherwise.
+ */
+ public static boolean is32BitUuid(ParcelUuid parcelUuid) {
+ UUID uuid = parcelUuid.getUuid();
+ if (uuid.getLeastSignificantBits() != BASE_UUID.getUuid().getLeastSignificantBits()) {
+ return false;
+ }
+ if (is16BitUuid(parcelUuid)) {
+ return false;
+ }
+ return ((uuid.getMostSignificantBits() & 0xFFFFFFFFL) == 0x1000L);
+ }
}
diff --git a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothUuidTest.java b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothUuidTest.java
index 0f3ea0e..536d7226 100644
--- a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothUuidTest.java
+++ b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothUuidTest.java
@@ -47,4 +47,20 @@ public class BluetoothUuidTest extends TestCase {
assertEquals(ParcelUuid.fromString("FF0F0E0D-0C0B-0A09-0807-0060504030201"),
BluetoothUuid.parseUuidFrom(uuid128));
}
+
+ @SmallTest
+ public void testUuidType() {
+ assertTrue(BluetoothUuid.is16BitUuid(
+ ParcelUuid.fromString("0000110B-0000-1000-8000-00805F9B34FB")));
+ assertFalse(BluetoothUuid.is32BitUuid(
+ ParcelUuid.fromString("0000110B-0000-1000-8000-00805F9B34FB")));
+
+ assertFalse(BluetoothUuid.is16BitUuid(
+ ParcelUuid.fromString("FE33110B-0000-1000-8000-00805F9B34FB")));
+ assertTrue(BluetoothUuid.is32BitUuid(
+ ParcelUuid.fromString("FE33110B-0000-1000-8000-00805F9B34FB")));
+ assertFalse(BluetoothUuid.is32BitUuid(
+ ParcelUuid.fromString("FE33110B-1000-1000-8000-00805F9B34FB")));
+
+ }
}