From f68b2f59507ebffb1b767655397b1c04487d546e Mon Sep 17 00:00:00 2001 From: Alexandros Schillings Date: Mon, 13 Jul 2015 14:53:55 +0100 Subject: [PATCH] Fix for #9 (Some issue in GattAttributeResolver) --- .gitignore | 3 +- documents/Bluetooth_UUIDs.ods | Bin 30577 -> 104801 bytes .../resolvers/GattAttributeResolver.java | 672 +++++++++--------- .../resolvers/GattAttributeResolverTest.java | 20 + 4 files changed, 357 insertions(+), 338 deletions(-) create mode 100644 library/src/test/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolverTest.java diff --git a/.gitignore b/.gitignore index 379e14e..663ac4d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ /.idea/workspace.xml /.idea/libraries .DS_Store -/build \ No newline at end of file +/build +documents/.~lock.Bluetooth_UUIDs.ods# \ No newline at end of file diff --git a/documents/Bluetooth_UUIDs.ods b/documents/Bluetooth_UUIDs.ods index 8658094cd1997125794dd9749224886945a6dfd5..1ff67fa3564449ad83033d3ec0ccf9cf81738c25 100644 GIT binary patch literal 104801 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

i`3Bcq9=K21x58anw6X=a_EWkg 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

  • u~J`V(0aesxfSodX2A&U21Hyw+cxulqCK5x*@iVjv`WIn*L64uaL8^=F1m{ zsmo+kIjC8R^P0%a`QVpY(#p-=Ma_9_5hf?tQUt~7tYLL|sqv2+Rh^T~EXVs~$}_~f z(oeibRc3l?Uo}#{R!p0Hqo+jr%8bPnZMCi^Q*gb`;+J=IK{4@kS9l+Xq;qa>T1bo3 zbJ^F)kX_y=t=gJ{3h6w?`<8^S0q4ozdHVJ*jNcq?-c$eBDK!;VFL&Rn?%@hqEH)eV zS@xDTg`to%IqnR8etKgiQ=AqVT+qhsVT)|tY`XA1epIpjUhGQovgt+fVyCW#BF#&6 zrtYGy=@9UwHm2@aNajrw z_cF8zg>?+5iRv8KFMifvc!pmRT7QDiedt%|B^X$xUr4KYRWRpfbisRmUfz?t@h$jD zq(z5qufy~waZlO25$nPoX590@$3aVmjKo#~A_x>t_Fr{o4_`=eFmbf8v~YD}b1}CZ zi63zc;lO%(C>&}r`dy420l|e~u+cWFgZG^_0{cno)1|hUcukeu;@zyNwK5s*A2Bs) z`z9p)kyVAA>O5wQw1Y3LYj>Cho7o!k<^|`z*D;f)k{;WJ#d1FenJ*4Ve@<4k4Rv2^@*jHirZdxtoJ#^i^xU6qUl+E z$sd=TO>q^VXPb^7=*@f*29Ca)%OiWHr%}E71IKN0gxwNPV zdM^VrxDf21?(8C z4e`!9tRQgrxro^9Qy0=g7g|JyyyCpX9AHy6A;IB{fa-SrzA65pOIKZe^X&J%WVVQ0 zzJun~C!Q#kJ#w|{X1j3g-oqQ6{co#(Yni=1swGjvEbw~s#VdA8x^H(*3UqhwGnvJ( zyWY}slrzy7N8$9=wS<#PkRJFI)iu-8~u zUby7Yk|%RbV@_X@tF9E%$uITtlJxPnW)REjoAP#Di@(Xa$&WT`3ip*S*^%HD5L_q5 z%~*Vw_oUT%>k~ZeVZl{m8+uP%{wd!p-Ej7>V`smdoPBe#&$GH8hj~|p`fs+pr^J`1 z^OMEVJ9P~!|JB~eo0C4jxBel2T|S;wbdJi2M@#m)&NvbN>Uj8ue@vjP=X5irPXUJ{Xr!%TriF!E(5pmGxd{sYZLzGn(uCvpc8bQuZ)v>7lWUyXvU z5xGZ#>fM}nMtE-%T^DlE59+NTKu9Ohq42&7x<2GG57mQ;6M(iMRTD6sxJoyKjR_MO zF$xMq35goH2weX*~kjqzM%{hm~9OUwrSaaAWV}=-V`HR~ePzj6xc38|Q tKq-$QCc)wmxgY_R$OupYGzn|@9N^6gY%?)12m)aNu>83_1y~R<002uo22KC~ literal 30577 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 diff --git a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java index fc07659..d009a25 100644 --- a/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java +++ b/library/src/main/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolver.java @@ -13,166 +13,166 @@ import java.util.Map; * @author Alexandros Schillings */ public class GattAttributeResolver { - public static final String BASE_GUID = "00000001-0000-1000-8000-00805f9b34fb"; - public static final String SERVICE_DISCOVERY_PROTOCOL_SDP = "00000002-0000-1000-8000-00805f9b34fb"; - public static final String USER_DATAGRAM_PROTOCOL_UDP = "00000003-0000-1000-8000-00805f9b34fb"; - public static final String RADIO_FREQUENCY_COMMUNICATION_PROTOCOL_RFCOMM = "00000004-0000-1000-8000-00805f9b34fb"; - public static final String TCP = "00000005-0000-1000-8000-00805f9b34fb"; - public static final String TCSBIN = "00000006-0000-1000-8000-00805f9b34fb"; - public static final String TCSAT = "00000008-0000-1000-8000-00805f9b34fb"; - public static final String OBJECT_EXCHANGE_PROTOCOL_OBEX = "00000009-0000-1000-8000-00805f9b34fb"; - public static final String IP = "0000000a-0000-1000-8000-00805f9b34fb"; - public static final String FTP = "0000000c-0000-1000-8000-00805f9b34fb"; - public static final String HTTP = "0000000e-0000-1000-8000-00805f9b34fb"; - public static final String WSP = "0000000f-0000-1000-8000-00805f9b34fb"; - public static final String BNEP_SVC = "00000010-0000-1000-8000-00805f9b34fb"; - public static final String UPNP_PROTOCOL = "00000011-0000-1000-8000-00805f9b34fb"; - public static final String HIDP = "00000012-0000-1000-8000-00805f9b34fb"; - public static final String HARDCOPY_CONTROL_CHANNEL_PROTOCOL = "00000014-0000-1000-8000-00805f9b34fb"; - public static final String HARDCOPY_DATA_CHANNEL_PROTOCOL = "00000016-0000-1000-8000-00805f9b34fb"; - public static final String HARDCOPY_NOTIFICATION_PROTOCOL = "00000017-0000-1000-8000-00805f9b34fb"; - public static final String VCTP_PROTOCOL = "00000019-0000-1000-8000-00805f9b34fb"; - public static final String VDTP_PROTOCOL = "0000001b-0000-1000-8000-00805f9b34fb"; - public static final String CMPT_PROTOCOL = "0000001d-0000-1000-8000-00805f9b34fb"; - public static final String UDI_C_PLANE_PROTOCOL = "0000001e-0000-1000-8000-00805f9b34fb"; - public static final String MCAP_CONTROL_CHANNEL = "0000001f-0000-1000-8000-00805f9b34fb"; - public static final String MCAP_DATA_CHANNEL = "00000100-0000-1000-8000-00805f9b34fb"; - public static final String L2CAP = "00001000-0000-1000-8000-00805f9b34fb"; - public static final String SERVICE_DISCOVERY_SERVER = "00001001-0000-1000-8000-00805f9b34fb"; - public static final String BROWSE_GROUP_DESCRIPTOR = "00001002-0000-1000-8000-00805f9b34fb"; - public static final String PUBLIC_BROWSE_GROUP = "00001101-0000-1000-8000-00805f9b34fb"; - public static final String SPP = "00001102-0000-1000-8000-00805f9b34fb"; - public static final String LAN_ACCESS_USING_PPP = "00001103-0000-1000-8000-00805f9b34fb"; - public static final String DUN_GW = "00001104-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_SYNC = "00001105-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_OBJECT_PUSH = "00001106-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_FILE_TRANSFER = "00001107-0000-1000-8000-00805f9b34fb"; - public static final String IRMC_SYNC_COMMAND = "00001108-0000-1000-8000-00805f9b34fb"; - public static final String HSP_HS = "00001109-0000-1000-8000-00805f9b34fb"; - public static final String CORDLESS_TELEPHONY = "0000110a-0000-1000-8000-00805f9b34fb"; - public static final String AUDIO_SOURCE = "0000110b-0000-1000-8000-00805f9b34fb"; - public static final String AUDIO_SINK = "0000110c-0000-1000-8000-00805f9b34fb"; - public static final String AV_REMOTE_CONTROL_TARGET = "0000110d-0000-1000-8000-00805f9b34fb"; - public static final String ADVANCED_AUDIO = "0000110e-0000-1000-8000-00805f9b34fb"; - public static final String AVRCP_REMOTE = "0000110f-0000-1000-8000-00805f9b34fb"; - public static final String VIDEO_CONFERENCING = "00001110-0000-1000-8000-00805f9b34fb"; - public static final String INTERCOM = "00001111-0000-1000-8000-00805f9b34fb"; - public static final String FAX = "00001112-0000-1000-8000-00805f9b34fb"; - public static final String HEADSET_PROFILE_HSP_AUDIO_GATEWAY = "00001113-0000-1000-8000-00805f9b34fb"; - public static final String WAP = "00001114-0000-1000-8000-00805f9b34fb"; - public static final String WAP_CLIENT = "00001115-0000-1000-8000-00805f9b34fb"; - public static final String PANU = "00001116-0000-1000-8000-00805f9b34fb"; - public static final String NAP = "00001117-0000-1000-8000-00805f9b34fb"; - public static final String GN = "00001118-0000-1000-8000-00805f9b34fb"; - public static final String DIRECT_PRINTING = "00001119-0000-1000-8000-00805f9b34fb"; - public static final String REFERENCE_PRINTING = "0000111a-0000-1000-8000-00805f9b34fb"; - public static final String IMAGING = "0000111b-0000-1000-8000-00805f9b34fb"; - public static final String IMAGING_RESPONDER = "0000111c-0000-1000-8000-00805f9b34fb"; - public static final String IMAGING_AUTOMATIC_ARCHIVE = "0000111d-0000-1000-8000-00805f9b34fb"; - public static final String IMAGING_REFERENCE_OBJECTS = "0000111e-0000-1000-8000-00805f9b34fb"; - public static final String HANDS_FREE_PROFILE_HFP = "0000111f-0000-1000-8000-00805f9b34fb"; - public static final String HANDS_FREE_PROFILE_HFP_AUDIO_GATEWAY = "00001120-0000-1000-8000-00805f9b34fb"; - public static final String DIRECT_PRINTING_REFERENCE_OBJECTS = "00001121-0000-1000-8000-00805f9b34fb"; - public static final String REFLECTED_UI = "00001122-0000-1000-8000-00805f9b34fb"; - public static final String BASIC_PRINTING = "00001123-0000-1000-8000-00805f9b34fb"; - public static final String PRINTING_STATUS = "00001124-0000-1000-8000-00805f9b34fb"; - public static final String HID = "00001125-0000-1000-8000-00805f9b34fb"; - public static final String HARDCOPY_CABLE_REPLACEMENT = "00001126-0000-1000-8000-00805f9b34fb"; - public static final String HCR_PRINT = "00001127-0000-1000-8000-00805f9b34fb"; - public static final String HCR_SCAN = "00001128-0000-1000-8000-00805f9b34fb"; - public static final String COMMON_ISDN_ACCESS = "00001129-0000-1000-8000-00805f9b34fb"; - public static final String VIDEO_CONFERENCING_GATEWAY = "0000112a-0000-1000-8000-00805f9b34fb"; - public static final String UDIMT = "0000112b-0000-1000-8000-00805f9b34fb"; - public static final String UDITA = "0000112c-0000-1000-8000-00805f9b34fb"; - public static final String AUDIO_VIDEO = "0000112d-0000-1000-8000-00805f9b34fb"; - public static final String SIM_ACCESS = "0000112e-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_PCE = "0000112f-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_PSE = "00001130-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_PBAP = "00001132-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_MAS = "00001133-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_MNS = "00001134-0000-1000-8000-00805f9b34fb"; - public static final String OBEX_MAP = "00001200-0000-1000-8000-00805f9b34fb"; - public static final String PNP = "00001201-0000-1000-8000-00805f9b34fb"; - public static final String GENERIC_NETWORKING = "00001202-0000-1000-8000-00805f9b34fb"; - public static final String GENERIC_FILE_TRANSFER = "00001203-0000-1000-8000-00805f9b34fb"; - public static final String GENERIC_AUDIO = "00001204-0000-1000-8000-00805f9b34fb"; - public static final String GENERIC_TELEPHONY = "00001205-0000-1000-8000-00805f9b34fb"; - public static final String UPNP = "00001206-0000-1000-8000-00805f9b34fb"; - public static final String UPNP_IP = "00001300-0000-1000-8000-00805f9b34fb"; - public static final String ESDP_UPNP_IP_PAN = "00001301-0000-1000-8000-00805f9b34fb"; - public static final String ESDP_UPNP_IP_LAP = "00001302-0000-1000-8000-00805f9b34fb"; - public static final String ESDP_UPNP_L2CAP = "00001303-0000-1000-8000-00805f9b34fb"; - public static final String VIDEO_DISTRIBUTION_PROFILE_VDP_SOURCE = "00001304-0000-1000-8000-00805f9b34fb"; - public static final String VIDEO_DISTRIBUTION_PROFILE_VDP_SINK = "00001305-0000-1000-8000-00805f9b34fb"; - public static final String VIDEO_DISTRIBUTION_PROFILE_VDP = "00001400-0000-1000-8000-00805f9b34fb"; - public static final String HEALTH_DEVICE_PROFILE_HDP = "00001401-0000-1000-8000-00805f9b34fb"; - public static final String HEALTH_DEVICE_PROFILE_HDP_SOURCE = "00001402-0000-1000-8000-00805f9b34fb"; - public static final String HEALTH_DEVICE_PROFILE_HDP_SINK = "00001800-0000-1000-8000-00805f9b34fb"; - public static final String GAP = "00001801-0000-1000-8000-00805f9b34fb"; - public static final String GATT = "00001802-0000-1000-8000-00805f9b34fb"; - public static final String IMMEDIATE_ALERT = "00001803-0000-1000-8000-00805f9b34fb"; - public static final String LINK_LOSS = "00001804-0000-1000-8000-00805f9b34fb"; - public static final String TX_POWER = "00001809-0000-1000-8000-00805f9b34fb"; - public static final String HEALTH_THERMOMETER = "0000180a-0000-1000-8000-00805f9b34fb"; - public static final String DEVICE_INFORMATION = "0000180d-0000-1000-8000-00805f9b34fb"; - public static final String HEART_RATE = "00001816-0000-1000-8000-00805f9b34fb"; - public static final String CYCLING_SC = "00002902-0000-1000-8000-00805f9b34fb"; - public static final String CLIENT_CHARACTERISTIC_CONFIG = "00002a00-0000-1000-8000-00805f9b34fb"; - public static final String DEVICE_NAME = "00002a01-0000-1000-8000-00805f9b34fb"; - public static final String APPEARANCE = "00002a02-0000-1000-8000-00805f9b34fb"; - public static final String PERIPHERAL_PRIVACY_FLAG = "00002a03-0000-1000-8000-00805f9b34fb"; - public static final String RECONNECTION_ADDRESS = "00002a04-0000-1000-8000-00805f9b34fb"; - public static final String PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS = "00002a05-0000-1000-8000-00805f9b34fb"; - public static final String SERVICE_CHANGED = "00002a06-0000-1000-8000-00805f9b34fb"; - public static final String ALERT_LEVEL = "00002a07-0000-1000-8000-00805f9b34fb"; - public static final String TX_POWER_LEVEL = "00002a08-0000-1000-8000-00805f9b34fb"; - public static final String DATE_TIME = "00002a09-0000-1000-8000-00805f9b34fb"; - public static final String DAY_OF_WEEK = "00002a0a-0000-1000-8000-00805f9b34fb"; - public static final String DAY_DATE_TIME = "00002a0c-0000-1000-8000-00805f9b34fb"; - public static final String EXACT_TIME_256 = "00002a0d-0000-1000-8000-00805f9b34fb"; - public static final String DST_OFFSET = "00002a0e-0000-1000-8000-00805f9b34fb"; - public static final String TIME_ZONE = "00002a0f-0000-1000-8000-00805f9b34fb"; - public static final String LOCAL_TIME_INFORMATION = "00002a11-0000-1000-8000-00805f9b34fb"; - public static final String TIME_WITH_DST = "00002a12-0000-1000-8000-00805f9b34fb"; - public static final String TIME_ACCURACY = "00002a13-0000-1000-8000-00805f9b34fb"; - public static final String TIME_SOURCE = "00002a14-0000-1000-8000-00805f9b34fb"; - public static final String REFERENCE_TIME_INFORMATION = "00002a16-0000-1000-8000-00805f9b34fb"; - public static final String TIME_UPDATE_CONTROL_POINT = "00002a17-0000-1000-8000-00805f9b34fb"; - public static final String TIME_UPDATE_STATE = "00002a1c-0000-1000-8000-00805f9b34fb"; - public static final String TEMPERATURE_MEASUREMENT = "00002a1d-0000-1000-8000-00805f9b34fb"; - public static final String TEMPERATURE_TYPE = "00002a1e-0000-1000-8000-00805f9b34fb"; - public static final String INTERMEDIATE_TEMPERATURE = "00002a21-0000-1000-8000-00805f9b34fb"; - public static final String MEASUREMENT_INTERVAL = "00002a23-0000-1000-8000-00805f9b34fb"; - public static final String SYSTEM_ID = "00002a24-0000-1000-8000-00805f9b34fb"; - public static final String MODEL_NUMBER_STRING = "00002a25-0000-1000-8000-00805f9b34fb"; - public static final String SERIAL_NUMBER_STRING = "00002a26-0000-1000-8000-00805f9b34fb"; - public static final String FIRMWARE_REVISION_STRING = "00002a27-0000-1000-8000-00805f9b34fb"; - public static final String HARDWARE_REVISION_STRING = "00002a28-0000-1000-8000-00805f9b34fb"; - public static final String SOFTWARE_REVISION_STRING = "00002a29-0000-1000-8000-00805f9b34fb"; - public static final String MANUFACTURER_NAME_STRING = "00002a2a-0000-1000-8000-00805f9b34fb"; - public static final String IEEE_1107320601_REGULATORY = "00002a2b-0000-1000-8000-00805f9b34fb"; - public static final String CURRENT_TIME = "00002a35-0000-1000-8000-00805f9b34fb"; - public static final String BLOOD_PRESSURE_MEASUREMENT = "00002a36-0000-1000-8000-00805f9b34fb"; - public static final String INTERMEDIATE_CUFF_PRESSURE = "00002a37-0000-1000-8000-00805f9b34fb"; - public static final String HEART_RATE_MEASUREMENT = "00002a38-0000-1000-8000-00805f9b34fb"; - public static final String BODY_SENSOR_LOCATION = "00002a39-0000-1000-8000-00805f9b34fb"; - public static final String HEART_RATE_CONTROL_POINT = "00002a3f-0000-1000-8000-00805f9b34fb"; - public static final String ALERT_STATUS = "00002a40-0000-1000-8000-00805f9b34fb"; - public static final String RINGER_CONTROL_POINT = "00002a41-0000-1000-8000-00805f9b34fb"; - public static final String RINGER_SETTING = "00002a42-0000-1000-8000-00805f9b34fb"; - public static final String ALERT_CATEGORY_ID_BIT_MASK = "00002a43-0000-1000-8000-00805f9b34fb"; - public static final String ALERT_CATEGORY_ID = "00002a44-0000-1000-8000-00805f9b34fb"; - public static final String ALERT_NOTIFICATION_CONTROL_POINT = "00002a45-0000-1000-8000-00805f9b34fb"; - public static final String UNREAD_ALERT_STATUS = "00002a46-0000-1000-8000-00805f9b34fb"; - public static final String NEW_ALERT = "00002a47-0000-1000-8000-00805f9b34fb"; - public static final String SUPPORTED_NEW_ALERT_CATEGORY = "00002a48-0000-1000-8000-00805f9b34fb"; - public static final String SUPPORTED_UNREAD_ALERT_CATEGORY = "00002a49-0000-1000-8000-00805f9b34fb"; - public static final String BLOOD_PRESSURE_FEATURE = "00002a50-0000-1000-8000-00805f9b34fb"; - public static final String PNPID = "00002a55-0000-1000-8000-00805f9b34fb"; - public static final String SC_CONTROL_POINT = "00002a5b-0000-1000-8000-00805f9b34fb"; - public static final String CSC_MEASUREMENT = "00002a5c-0000-1000-8000-00805f9b34fb"; - public static final String CSC_FEATURE = "00002a5d-0000-1000-8000-00805f9b34fb"; - public static final String SENSOR_LOCATION = "831c4071-7bc8-4a9c-a01c-15df25a4adbc"; + public static final String BASE_GUID = "00000000-0000-1000-8000-00805f9b34fb"; + public static final String SERVICE_DISCOVERY_PROTOCOL_SDP = "00000001-0000-1000-8000-00805f9b34fb"; + public static final String USER_DATAGRAM_PROTOCOL_UDP = "00000002-0000-1000-8000-00805f9b34fb"; + public static final String RADIO_FREQUENCY_COMMUNICATION_PROTOCOL_RFCOMM = "00000003-0000-1000-8000-00805f9b34fb"; + public static final String TCP = "00000004-0000-1000-8000-00805f9b34fb"; + public static final String TCSBIN = "00000005-0000-1000-8000-00805f9b34fb"; + public static final String TCSAT = "00000006-0000-1000-8000-00805f9b34fb"; + public static final String OBJECT_EXCHANGE_PROTOCOL_OBEX = "00000008-0000-1000-8000-00805f9b34fb"; + public static final String IP = "00000009-0000-1000-8000-00805f9b34fb"; + public static final String FTP = "0000000a-0000-1000-8000-00805f9b34fb"; + public static final String HTTP = "0000000c-0000-1000-8000-00805f9b34fb"; + public static final String WSP = "0000000e-0000-1000-8000-00805f9b34fb"; + public static final String BNEP_SVC = "0000000f-0000-1000-8000-00805f9b34fb"; + public static final String UPNP_PROTOCOL = "00000010-0000-1000-8000-00805f9b34fb"; + public static final String HIDP = "00000011-0000-1000-8000-00805f9b34fb"; + public static final String HARDCOPY_CONTROL_CHANNEL_PROTOCOL = "00000012-0000-1000-8000-00805f9b34fb"; + public static final String HARDCOPY_DATA_CHANNEL_PROTOCOL = "00000014-0000-1000-8000-00805f9b34fb"; + public static final String HARDCOPY_NOTIFICATION_PROTOCOL = "00000016-0000-1000-8000-00805f9b34fb"; + public static final String VCTP_PROTOCOL = "00000017-0000-1000-8000-00805f9b34fb"; + public static final String VDTP_PROTOCOL = "00000019-0000-1000-8000-00805f9b34fb"; + public static final String CMPT_PROTOCOL = "0000001b-0000-1000-8000-00805f9b34fb"; + public static final String UDI_C_PLANE_PROTOCOL = "0000001d-0000-1000-8000-00805f9b34fb"; + public static final String MCAP_CONTROL_CHANNEL = "0000001e-0000-1000-8000-00805f9b34fb"; + public static final String MCAP_DATA_CHANNEL = "0000001f-0000-1000-8000-00805f9b34fb"; + public static final String L2CAP = "00000100-0000-1000-8000-00805f9b34fb"; + public static final String SERVICE_DISCOVERY_SERVER = "00001000-0000-1000-8000-00805f9b34fb"; + public static final String BROWSE_GROUP_DESCRIPTOR = "00001001-0000-1000-8000-00805f9b34fb"; + public static final String PUBLIC_BROWSE_GROUP = "00001002-0000-1000-8000-00805f9b34fb"; + public static final String SPP = "00001101-0000-1000-8000-00805f9b34fb"; + public static final String LAN_ACCESS_USING_PPP = "00001102-0000-1000-8000-00805f9b34fb"; + public static final String DUN_GW = "00001103-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_SYNC = "00001104-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_OBJECT_PUSH = "00001105-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_FILE_TRANSFER = "00001106-0000-1000-8000-00805f9b34fb"; + public static final String IRMC_SYNC_COMMAND = "00001107-0000-1000-8000-00805f9b34fb"; + public static final String HSP_HS = "00001108-0000-1000-8000-00805f9b34fb"; + public static final String CORDLESS_TELEPHONY = "00001109-0000-1000-8000-00805f9b34fb"; + public static final String AUDIO_SOURCE = "0000110a-0000-1000-8000-00805f9b34fb"; + public static final String AUDIO_SINK = "0000110b-0000-1000-8000-00805f9b34fb"; + public static final String AV_REMOTE_CONTROL_TARGET = "0000110c-0000-1000-8000-00805f9b34fb"; + public static final String ADVANCED_AUDIO = "0000110d-0000-1000-8000-00805f9b34fb"; + public static final String AVRCP_REMOTE = "0000110e-0000-1000-8000-00805f9b34fb"; + public static final String VIDEO_CONFERENCING = "0000110f-0000-1000-8000-00805f9b34fb"; + public static final String INTERCOM = "00001110-0000-1000-8000-00805f9b34fb"; + public static final String FAX = "00001111-0000-1000-8000-00805f9b34fb"; + public static final String HEADSET_PROFILE_HSP_AUDIO_GATEWAY = "00001112-0000-1000-8000-00805f9b34fb"; + public static final String WAP = "00001113-0000-1000-8000-00805f9b34fb"; + public static final String WAP_CLIENT = "00001114-0000-1000-8000-00805f9b34fb"; + public static final String PANU = "00001115-0000-1000-8000-00805f9b34fb"; + public static final String NAP = "00001116-0000-1000-8000-00805f9b34fb"; + public static final String GN = "00001117-0000-1000-8000-00805f9b34fb"; + public static final String DIRECT_PRINTING = "00001118-0000-1000-8000-00805f9b34fb"; + public static final String REFERENCE_PRINTING = "00001119-0000-1000-8000-00805f9b34fb"; + public static final String IMAGING = "0000111a-0000-1000-8000-00805f9b34fb"; + public static final String IMAGING_RESPONDER = "0000111b-0000-1000-8000-00805f9b34fb"; + public static final String IMAGING_AUTOMATIC_ARCHIVE = "0000111c-0000-1000-8000-00805f9b34fb"; + public static final String IMAGING_REFERENCE_OBJECTS = "0000111d-0000-1000-8000-00805f9b34fb"; + public static final String HANDS_FREE_PROFILE_HFP = "0000111e-0000-1000-8000-00805f9b34fb"; + public static final String HANDS_FREE_PROFILE_HFP_AUDIO_GATEWAY = "0000111f-0000-1000-8000-00805f9b34fb"; + public static final String DIRECT_PRINTING_REFERENCE_OBJECTS = "00001120-0000-1000-8000-00805f9b34fb"; + public static final String REFLECTED_UI = "00001121-0000-1000-8000-00805f9b34fb"; + public static final String BASIC_PRINTING = "00001122-0000-1000-8000-00805f9b34fb"; + public static final String PRINTING_STATUS = "00001123-0000-1000-8000-00805f9b34fb"; + public static final String HID = "00001124-0000-1000-8000-00805f9b34fb"; + public static final String HARDCOPY_CABLE_REPLACEMENT = "00001125-0000-1000-8000-00805f9b34fb"; + public static final String HCR_PRINT = "00001126-0000-1000-8000-00805f9b34fb"; + public static final String HCR_SCAN = "00001127-0000-1000-8000-00805f9b34fb"; + public static final String COMMON_ISDN_ACCESS = "00001128-0000-1000-8000-00805f9b34fb"; + public static final String VIDEO_CONFERENCING_GATEWAY = "00001129-0000-1000-8000-00805f9b34fb"; + public static final String UDIMT = "0000112a-0000-1000-8000-00805f9b34fb"; + public static final String UDITA = "0000112b-0000-1000-8000-00805f9b34fb"; + public static final String AUDIO_VIDEO = "0000112c-0000-1000-8000-00805f9b34fb"; + public static final String SIM_ACCESS = "0000112d-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_PCE = "0000112e-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_PSE = "0000112f-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_PBAP = "00001130-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_MAS = "00001132-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_MNS = "00001133-0000-1000-8000-00805f9b34fb"; + public static final String OBEX_MAP = "00001134-0000-1000-8000-00805f9b34fb"; + public static final String PNP = "00001200-0000-1000-8000-00805f9b34fb"; + public static final String GENERIC_NETWORKING = "00001201-0000-1000-8000-00805f9b34fb"; + public static final String GENERIC_FILE_TRANSFER = "00001202-0000-1000-8000-00805f9b34fb"; + public static final String GENERIC_AUDIO = "00001203-0000-1000-8000-00805f9b34fb"; + public static final String GENERIC_TELEPHONY = "00001204-0000-1000-8000-00805f9b34fb"; + public static final String UPNP = "00001205-0000-1000-8000-00805f9b34fb"; + public static final String UPNP_IP = "00001206-0000-1000-8000-00805f9b34fb"; + public static final String ESDP_UPNP_IP_PAN = "00001300-0000-1000-8000-00805f9b34fb"; + public static final String ESDP_UPNP_IP_LAP = "00001301-0000-1000-8000-00805f9b34fb"; + public static final String ESDP_UPNP_L2CAP = "00001302-0000-1000-8000-00805f9b34fb"; + public static final String VIDEO_DISTRIBUTION_PROFILE_VDP_SOURCE = "00001303-0000-1000-8000-00805f9b34fb"; + public static final String VIDEO_DISTRIBUTION_PROFILE_VDP_SINK = "00001304-0000-1000-8000-00805f9b34fb"; + public static final String VIDEO_DISTRIBUTION_PROFILE_VDP = "00001305-0000-1000-8000-00805f9b34fb"; + public static final String HEALTH_DEVICE_PROFILE_HDP = "00001400-0000-1000-8000-00805f9b34fb"; + public static final String HEALTH_DEVICE_PROFILE_HDP_SOURCE = "00001401-0000-1000-8000-00805f9b34fb"; + public static final String HEALTH_DEVICE_PROFILE_HDP_SINK = "00001402-0000-1000-8000-00805f9b34fb"; + public static final String GAP = "00001800-0000-1000-8000-00805f9b34fb"; + public static final String GATT = "00001801-0000-1000-8000-00805f9b34fb"; + public static final String IMMEDIATE_ALERT = "00001802-0000-1000-8000-00805f9b34fb"; + public static final String LINK_LOSS = "00001803-0000-1000-8000-00805f9b34fb"; + public static final String TX_POWER = "00001804-0000-1000-8000-00805f9b34fb"; + public static final String HEALTH_THERMOMETER = "00001809-0000-1000-8000-00805f9b34fb"; + public static final String DEVICE_INFORMATION = "0000180a-0000-1000-8000-00805f9b34fb"; + public static final String HEART_RATE = "0000180d-0000-1000-8000-00805f9b34fb"; + public static final String CYCLING_SC = "00001816-0000-1000-8000-00805f9b34fb"; + public static final String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-8000-00805f9b34fb"; + public static final String DEVICE_NAME = "00002a00-0000-1000-8000-00805f9b34fb"; + public static final String APPEARANCE = "00002a01-0000-1000-8000-00805f9b34fb"; + public static final String PERIPHERAL_PRIVACY_FLAG = "00002a02-0000-1000-8000-00805f9b34fb"; + public static final String RECONNECTION_ADDRESS = "00002a03-0000-1000-8000-00805f9b34fb"; + public static final String PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS = "00002a04-0000-1000-8000-00805f9b34fb"; + public static final String SERVICE_CHANGED = "00002a05-0000-1000-8000-00805f9b34fb"; + public static final String ALERT_LEVEL = "00002a06-0000-1000-8000-00805f9b34fb"; + public static final String TX_POWER_LEVEL = "00002a07-0000-1000-8000-00805f9b34fb"; + public static final String DATE_TIME = "00002a08-0000-1000-8000-00805f9b34fb"; + public static final String DAY_OF_WEEK = "00002a09-0000-1000-8000-00805f9b34fb"; + public static final String DAY_DATE_TIME = "00002a0a-0000-1000-8000-00805f9b34fb"; + public static final String EXACT_TIME_256 = "00002a0c-0000-1000-8000-00805f9b34fb"; + public static final String DST_OFFSET = "00002a0d-0000-1000-8000-00805f9b34fb"; + public static final String TIME_ZONE = "00002a0e-0000-1000-8000-00805f9b34fb"; + public static final String LOCAL_TIME_INFORMATION = "00002a0f-0000-1000-8000-00805f9b34fb"; + public static final String TIME_WITH_DST = "00002a11-0000-1000-8000-00805f9b34fb"; + public static final String TIME_ACCURACY = "00002a12-0000-1000-8000-00805f9b34fb"; + public static final String TIME_SOURCE = "00002a13-0000-1000-8000-00805f9b34fb"; + public static final String REFERENCE_TIME_INFORMATION = "00002a14-0000-1000-8000-00805f9b34fb"; + public static final String TIME_UPDATE_CONTROL_POINT = "00002a16-0000-1000-8000-00805f9b34fb"; + public static final String TIME_UPDATE_STATE = "00002a17-0000-1000-8000-00805f9b34fb"; + public static final String TEMPERATURE_MEASUREMENT = "00002a1c-0000-1000-8000-00805f9b34fb"; + public static final String TEMPERATURE_TYPE = "00002a1d-0000-1000-8000-00805f9b34fb"; + public static final String INTERMEDIATE_TEMPERATURE = "00002a1e-0000-1000-8000-00805f9b34fb"; + public static final String MEASUREMENT_INTERVAL = "00002a21-0000-1000-8000-00805f9b34fb"; + public static final String SYSTEM_ID = "00002a23-0000-1000-8000-00805f9b34fb"; + public static final String MODEL_NUMBER_STRING = "00002a24-0000-1000-8000-00805f9b34fb"; + public static final String SERIAL_NUMBER_STRING = "00002a25-0000-1000-8000-00805f9b34fb"; + public static final String FIRMWARE_REVISION_STRING = "00002a26-0000-1000-8000-00805f9b34fb"; + public static final String HARDWARE_REVISION_STRING = "00002a27-0000-1000-8000-00805f9b34fb"; + public static final String SOFTWARE_REVISION_STRING = "00002a28-0000-1000-8000-00805f9b34fb"; + public static final String MANUFACTURER_NAME_STRING = "00002a29-0000-1000-8000-00805f9b34fb"; + public static final String IEEE_1107320601_REGULATORY = "00002a2a-0000-1000-8000-00805f9b34fb"; + public static final String CURRENT_TIME = "00002a2b-0000-1000-8000-00805f9b34fb"; + public static final String BLOOD_PRESSURE_MEASUREMENT = "00002a35-0000-1000-8000-00805f9b34fb"; + public static final String INTERMEDIATE_CUFF_PRESSURE = "00002a36-0000-1000-8000-00805f9b34fb"; + public static final String HEART_RATE_MEASUREMENT = "00002a37-0000-1000-8000-00805f9b34fb"; + public static final String BODY_SENSOR_LOCATION = "00002a38-0000-1000-8000-00805f9b34fb"; + public static final String HEART_RATE_CONTROL_POINT = "00002a39-0000-1000-8000-00805f9b34fb"; + public static final String ALERT_STATUS = "00002a3f-0000-1000-8000-00805f9b34fb"; + public static final String RINGER_CONTROL_POINT = "00002a40-0000-1000-8000-00805f9b34fb"; + public static final String RINGER_SETTING = "00002a41-0000-1000-8000-00805f9b34fb"; + public static final String ALERT_CATEGORY_ID_BIT_MASK = "00002a42-0000-1000-8000-00805f9b34fb"; + public static final String ALERT_CATEGORY_ID = "00002a43-0000-1000-8000-00805f9b34fb"; + public static final String ALERT_NOTIFICATION_CONTROL_POINT = "00002a44-0000-1000-8000-00805f9b34fb"; + public static final String UNREAD_ALERT_STATUS = "00002a45-0000-1000-8000-00805f9b34fb"; + public static final String NEW_ALERT = "00002a46-0000-1000-8000-00805f9b34fb"; + public static final String SUPPORTED_NEW_ALERT_CATEGORY = "00002a47-0000-1000-8000-00805f9b34fb"; + public static final String SUPPORTED_UNREAD_ALERT_CATEGORY = "00002a48-0000-1000-8000-00805f9b34fb"; + public static final String BLOOD_PRESSURE_FEATURE = "00002a49-0000-1000-8000-00805f9b34fb"; + public static final String PNPID = "00002a50-0000-1000-8000-00805f9b34fb"; + public static final String SC_CONTROL_POINT = "00002a55-0000-1000-8000-00805f9b34fb"; + public static final String CSC_MEASUREMENT = "00002a5b-0000-1000-8000-00805f9b34fb"; + public static final String CSC_FEATURE = "00002a5c-0000-1000-8000-00805f9b34fb"; + public static final String SENSOR_LOCATION = "00002a5d-0000-1000-8000-00805f9b34fb"; public static final String ACTIVESYNC = "831c4071-7bc8-4a9c-a01c-15df25a4adbc"; public static final String ESTIMOTE_SERVICE = "b9403000-f5f8-466e-aff9-25556b57fe6d"; public static final String ESTIMOTE_UUID = "b9403003-f5f8-466e-aff9-25556b57fe6d"; @@ -189,7 +189,6 @@ public class GattAttributeResolver { public static final String ESTIMOTE_ADVERTISING_SEED = "b9402001-f5f8-466e-aff9-25556b57fe6d"; public static final String ESTIMOTE_ADVERTISING_VECTOR = "b9402002-f5f8-466e-aff9-25556b57fe6d"; - private final static Map sGattAttributesMap = populateGattAttributesMap(); public static String getAttributeName(final String uuid, final String fallback) { @@ -200,182 +199,181 @@ public class GattAttributeResolver { private static Map populateGattAttributesMap() { final Map map = new HashMap<>(); - map.put(BASE_GUID, "Service Discovery Protocol (SDP)"); - map.put(SERVICE_DISCOVERY_PROTOCOL_SDP, "User Datagram Protocol (UDP)"); - map.put(USER_DATAGRAM_PROTOCOL_UDP, "Radio Frequency Communication Protocol (RFCOMM)"); - map.put(RADIO_FREQUENCY_COMMUNICATION_PROTOCOL_RFCOMM, "TCP"); - map.put(TCP, "TCSBIN"); - map.put(TCSBIN, "TCSAT"); - map.put(TCSAT, "Object Exchange Protocol (OBEX)"); - map.put(OBJECT_EXCHANGE_PROTOCOL_OBEX, "IP"); - map.put(IP, "FTP"); - map.put(FTP, "HTTP"); - map.put(HTTP, "WSP"); - map.put(WSP, "BNEP_SVC"); - map.put(BNEP_SVC, "UPNP Protocol"); - map.put(UPNP_PROTOCOL, "HIDP"); - map.put(HIDP, "Hardcopy Control Channel Protocol"); - map.put(HARDCOPY_CONTROL_CHANNEL_PROTOCOL, "Hardcopy Data Channel Protocol"); - map.put(HARDCOPY_DATA_CHANNEL_PROTOCOL, "Hardcopy Notification Protocol"); - map.put(HARDCOPY_NOTIFICATION_PROTOCOL, "VCTP Protocol"); - map.put(VCTP_PROTOCOL, "VDTP Protocol"); - map.put(VDTP_PROTOCOL, "CMPT Protocol"); - map.put(CMPT_PROTOCOL, "UDI C Plane Protocol"); - map.put(UDI_C_PLANE_PROTOCOL, "MCAP Control Channel"); - map.put(MCAP_CONTROL_CHANNEL, "MCAP Data Channel"); - map.put(MCAP_DATA_CHANNEL, "L2CAP"); - map.put(L2CAP, "Service Discovery Server"); - map.put(SERVICE_DISCOVERY_SERVER, "Browse Group Descriptor"); - map.put(BROWSE_GROUP_DESCRIPTOR, "Public Browse Group"); - map.put(PUBLIC_BROWSE_GROUP, "SPP"); - map.put(SPP, "LAN Access Using PPP"); - map.put(LAN_ACCESS_USING_PPP, "DUN_GW"); - map.put(DUN_GW, "OBEX_SYNC"); - map.put(OBEX_SYNC, "OBEX Object Push"); - map.put(OBEX_OBJECT_PUSH, "OBEX File Transfer"); - map.put(OBEX_FILE_TRANSFER, "IrMC Sync Command"); - map.put(IRMC_SYNC_COMMAND, "HSP_HS"); - map.put(HSP_HS, "Cordless Telephony"); - map.put(CORDLESS_TELEPHONY, "Audio Source"); - map.put(AUDIO_SOURCE, "Audio Sink"); - map.put(AUDIO_SINK, "AV Remote Control Target"); - map.put(AV_REMOTE_CONTROL_TARGET, "ADVANCED_AUDIO"); - map.put(ADVANCED_AUDIO, "AVRCP_REMOTE"); - map.put(AVRCP_REMOTE, "Video Conferencing"); - map.put(VIDEO_CONFERENCING, "Intercom"); - map.put(INTERCOM, "FAX"); - map.put(FAX, "Headset Profile (HSP) - Audio Gateway"); - map.put(HEADSET_PROFILE_HSP_AUDIO_GATEWAY, "WAP"); - map.put(WAP, "WAP Client"); - map.put(WAP_CLIENT, "PANU"); - map.put(PANU, "NAP"); - map.put(NAP, "GN"); - map.put(GN, "Direct Printing"); - map.put(DIRECT_PRINTING, "Reference Printing"); - map.put(REFERENCE_PRINTING, "Imaging"); - map.put(IMAGING, "Imaging Responder"); - map.put(IMAGING_RESPONDER, "Imaging Automatic Archive"); - map.put(IMAGING_AUTOMATIC_ARCHIVE, "Imaging Reference Objects"); - map.put(IMAGING_REFERENCE_OBJECTS, "Hands Free Profile (HFP)"); - map.put(HANDS_FREE_PROFILE_HFP, "Hands Free Profile (HFP) – Audio Gateway"); - map.put(HANDS_FREE_PROFILE_HFP_AUDIO_GATEWAY, "Direct Printing Reference Objects"); - map.put(DIRECT_PRINTING_REFERENCE_OBJECTS, "Reflected UI"); - map.put(REFLECTED_UI, "Basic Printing"); - map.put(BASIC_PRINTING, "Printing Status"); - map.put(PRINTING_STATUS, "HID"); - map.put(HID, "Hardcopy Cable Replacement"); - map.put(HARDCOPY_CABLE_REPLACEMENT, "HCR Print"); - map.put(HCR_PRINT, "HCR Scan"); - map.put(HCR_SCAN, "Common ISDN Access"); - map.put(COMMON_ISDN_ACCESS, "Video Conferencing Gateway"); - map.put(VIDEO_CONFERENCING_GATEWAY, "UDIMT"); - map.put(UDIMT, "UDITA"); - map.put(UDITA, "Audio Video"); - map.put(AUDIO_VIDEO, "SIM Access"); - map.put(SIM_ACCESS, "OBEX PCE"); - map.put(OBEX_PCE, "OBEX PSE"); - map.put(OBEX_PSE, "OBEX PBAP"); - map.put(OBEX_PBAP, "OBEX MAS"); - map.put(OBEX_MAS, "OBEX MNS"); - map.put(OBEX_MNS, "OBEX MAP"); - map.put(OBEX_MAP, "PNP"); - map.put(PNP, "Generic Networking"); - map.put(GENERIC_NETWORKING, "Generic File Transfer"); - map.put(GENERIC_FILE_TRANSFER, "Generic Audio"); - map.put(GENERIC_AUDIO, "Generic Telephony"); - map.put(GENERIC_TELEPHONY, "UPNP"); - map.put(UPNP, "UPNP IP"); - map.put(UPNP_IP, "ESDP UPnP IP PAN"); - map.put(ESDP_UPNP_IP_PAN, "ESDP UPnP IP LAP"); - map.put(ESDP_UPNP_IP_LAP, "ESDP Upnp L2CAP"); - map.put(ESDP_UPNP_L2CAP, "Video Distribution Profile (VDP) - Source"); - map.put(VIDEO_DISTRIBUTION_PROFILE_VDP_SOURCE, "Video Distribution Profile (VDP) - Sink"); - map.put(VIDEO_DISTRIBUTION_PROFILE_VDP_SINK, "Video Distribution Profile (VDP)"); - map.put(VIDEO_DISTRIBUTION_PROFILE_VDP, "Health Device Profile (HDP)"); - map.put(HEALTH_DEVICE_PROFILE_HDP, "Health Device Profile (HDP) - Source"); - map.put(HEALTH_DEVICE_PROFILE_HDP_SOURCE, "Health Device Profile (HDP) - Sink"); - map.put(HEALTH_DEVICE_PROFILE_HDP_SINK, "GAP"); - map.put(GAP, "GATT"); - map.put(GATT, "IMMEDIATE_ALERT"); - map.put(IMMEDIATE_ALERT, "LINK_LOSS"); - map.put(LINK_LOSS, "TX_POWER"); - map.put(TX_POWER, "Health Thermometer"); - map.put(HEALTH_THERMOMETER, "Device Information"); - map.put(DEVICE_INFORMATION, "HEART_RATE"); - map.put(HEART_RATE, "CYCLING_SC"); - map.put(CYCLING_SC, "CLIENT_CHARACTERISTIC_CONFIG"); - map.put(CLIENT_CHARACTERISTIC_CONFIG, "Device Name"); - map.put(DEVICE_NAME, "Appearance"); - map.put(APPEARANCE, "Peripheral Privacy Flag"); - map.put(PERIPHERAL_PRIVACY_FLAG, "Reconnection Address"); - map.put(RECONNECTION_ADDRESS, "Peripheral Preferred Connection Parameters"); - map.put(PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS, "Service Changed"); - map.put(SERVICE_CHANGED, "Alert Level"); - map.put(ALERT_LEVEL, "Tx Power Level"); - map.put(TX_POWER_LEVEL, "Date Time"); - map.put(DATE_TIME, "Day of Week"); - map.put(DAY_OF_WEEK, "Day Date Time"); - map.put(DAY_DATE_TIME, "Exact Time 256"); - map.put(EXACT_TIME_256, "DST Offset"); - map.put(DST_OFFSET, "Time Zone"); - map.put(TIME_ZONE, "Local Time Information"); - map.put(LOCAL_TIME_INFORMATION, "Time with DST"); - map.put(TIME_WITH_DST, "Time Accuracy"); - map.put(TIME_ACCURACY, "Time Source"); - map.put(TIME_SOURCE, "Reference Time Information"); - map.put(REFERENCE_TIME_INFORMATION, "Time Update Control Point"); - map.put(TIME_UPDATE_CONTROL_POINT, "Time Update State"); - map.put(TIME_UPDATE_STATE, "Temperature Measurement"); - map.put(TEMPERATURE_MEASUREMENT, "Temperature Type"); - map.put(TEMPERATURE_TYPE, "Intermediate Temperature"); - map.put(INTERMEDIATE_TEMPERATURE, "Measurement Interval"); - map.put(MEASUREMENT_INTERVAL, "System ID"); - map.put(SYSTEM_ID, "Model Number String"); - map.put(MODEL_NUMBER_STRING, "Serial Number String"); - map.put(SERIAL_NUMBER_STRING, "Firmware Revision String"); - map.put(FIRMWARE_REVISION_STRING, "Hardware Revision String"); - map.put(HARDWARE_REVISION_STRING, "Software Revision String"); - map.put(SOFTWARE_REVISION_STRING, "Manufacturer Name String"); - map.put(MANUFACTURER_NAME_STRING, "IEEE 11073-20601 Regulatory"); - map.put(IEEE_1107320601_REGULATORY, "Current Time"); - map.put(CURRENT_TIME, "Blood Pressure Measurement"); - map.put(BLOOD_PRESSURE_MEASUREMENT, "Intermediate Cuff Pressure"); - map.put(INTERMEDIATE_CUFF_PRESSURE, "Heart Rate Measurement"); - map.put(HEART_RATE_MEASUREMENT, "Body Sensor Location"); - map.put(BODY_SENSOR_LOCATION, "Heart Rate Control Point"); - map.put(HEART_RATE_CONTROL_POINT, "Alert Status"); - map.put(ALERT_STATUS, "Ringer Control Point"); - map.put(RINGER_CONTROL_POINT, "Ringer Setting"); - map.put(RINGER_SETTING, "Alert Category ID Bit Mask"); - map.put(ALERT_CATEGORY_ID_BIT_MASK, "Alert Category ID"); - map.put(ALERT_CATEGORY_ID, "Alert Notification Control Point"); - map.put(ALERT_NOTIFICATION_CONTROL_POINT, "Unread Alert Status"); - map.put(UNREAD_ALERT_STATUS, "New Alert"); - map.put(NEW_ALERT, "Supported New Alert Category"); - map.put(SUPPORTED_NEW_ALERT_CATEGORY, "Supported Unread Alert Category"); - map.put(SUPPORTED_UNREAD_ALERT_CATEGORY, "Blood Pressure Feature"); - map.put(BLOOD_PRESSURE_FEATURE, "PNPID"); - map.put(PNPID, "SC_CONTROL_POINT"); - map.put(SC_CONTROL_POINT, "CSC_MEASUREMENT"); - map.put(CSC_MEASUREMENT, "CSC_FEATURE"); - map.put(CSC_FEATURE, "SENSOR_LOCATION"); - map.put(SENSOR_LOCATION, "ActiveSync"); - map.put(ACTIVESYNC, "ActiveSync"); - map.put(ESTIMOTE_SERVICE, "Estimote Service"); - map.put(ESTIMOTE_UUID, "Estimote UUID"); - map.put(ESTIMOTE_MAJOR, "Estimote Major"); - map.put(ESTIMOTE_MINOR, "Estimote Minor"); - map.put(ESTIMOTE_BATTERY, "Estimote Battery"); - map.put(ESTIMOTE_TEMPERATURE, "Estimote Temperature"); - map.put(ESTIMOTE_POWER, "Estimote Power"); - map.put(ESTIMOTE_ADVERTISING_INTERVAL, "Estimote Advertising Interval"); - map.put(ESTIMOTE_VERSION_SERVICE, "Estimote Version Service"); - map.put(ESTIMOTE_SOFTWARE_VERSION, "Estimote Software Version"); - map.put(ESTIMOTE_HARDWARE_VERSION, "Estimote Hardware Version"); - map.put(ESTIMOTE_AUTHENTICATION_SERVICE, "Estimote Authentication Service"); - map.put(ESTIMOTE_ADVERTISING_SEED, "Estimote Advertising Seed"); - map.put(ESTIMOTE_ADVERTISING_VECTOR, "Estimote Advertising Vector"); - + map.put(BASE_GUID , "Base GUID"); + map.put(SERVICE_DISCOVERY_PROTOCOL_SDP , "Service Discovery Protocol (SDP)"); + map.put(USER_DATAGRAM_PROTOCOL_UDP , "User Datagram Protocol (UDP)"); + map.put(RADIO_FREQUENCY_COMMUNICATION_PROTOCOL_RFCOMM , "Radio Frequency Communication Protocol (RFCOMM)"); + map.put(TCP , "TCP"); + map.put(TCSBIN , "TCSBIN"); + map.put(TCSAT , "TCSAT"); + map.put(OBJECT_EXCHANGE_PROTOCOL_OBEX , "Object Exchange Protocol (OBEX)"); + map.put(IP , "IP"); + map.put(FTP , "FTP"); + map.put(HTTP , "HTTP"); + map.put(WSP , "WSP"); + map.put(BNEP_SVC , "BNEP_SVC"); + map.put(UPNP_PROTOCOL , "UPNP Protocol"); + map.put(HIDP , "HIDP"); + map.put(HARDCOPY_CONTROL_CHANNEL_PROTOCOL , "Hardcopy Control Channel Protocol"); + map.put(HARDCOPY_DATA_CHANNEL_PROTOCOL , "Hardcopy Data Channel Protocol"); + map.put(HARDCOPY_NOTIFICATION_PROTOCOL , "Hardcopy Notification Protocol"); + map.put(VCTP_PROTOCOL , "VCTP Protocol"); + map.put(VDTP_PROTOCOL , "VDTP Protocol"); + map.put(CMPT_PROTOCOL , "CMPT Protocol"); + map.put(UDI_C_PLANE_PROTOCOL , "UDI C Plane Protocol"); + map.put(MCAP_CONTROL_CHANNEL , "MCAP Control Channel"); + map.put(MCAP_DATA_CHANNEL , "MCAP Data Channel"); + map.put(L2CAP , "L2CAP"); + map.put(SERVICE_DISCOVERY_SERVER , "Service Discovery Server"); + map.put(BROWSE_GROUP_DESCRIPTOR , "Browse Group Descriptor"); + map.put(PUBLIC_BROWSE_GROUP , "Public Browse Group"); + map.put(SPP , "SPP"); + map.put(LAN_ACCESS_USING_PPP , "LAN Access Using PPP"); + map.put(DUN_GW , "DUN_GW"); + map.put(OBEX_SYNC , "OBEX_SYNC"); + map.put(OBEX_OBJECT_PUSH , "OBEX Object Push"); + map.put(OBEX_FILE_TRANSFER , "OBEX File Transfer"); + map.put(IRMC_SYNC_COMMAND , "IrMC Sync Command"); + map.put(HSP_HS , "HSP_HS"); + map.put(CORDLESS_TELEPHONY , "Cordless Telephony"); + map.put(AUDIO_SOURCE , "Audio Source"); + map.put(AUDIO_SINK , "Audio Sink"); + map.put(AV_REMOTE_CONTROL_TARGET , "AV Remote Control Target"); + map.put(ADVANCED_AUDIO , "ADVANCED_AUDIO"); + map.put(AVRCP_REMOTE , "AVRCP_REMOTE"); + map.put(VIDEO_CONFERENCING , "Video Conferencing"); + map.put(INTERCOM , "Intercom"); + map.put(FAX , "FAX"); + map.put(HEADSET_PROFILE_HSP_AUDIO_GATEWAY , "Headset Profile (HSP) - Audio Gateway"); + map.put(WAP , "WAP"); + map.put(WAP_CLIENT , "WAP Client"); + map.put(PANU , "PANU"); + map.put(NAP , "NAP"); + map.put(GN , "GN"); + map.put(DIRECT_PRINTING , "Direct Printing"); + map.put(REFERENCE_PRINTING , "Reference Printing"); + map.put(IMAGING , "Imaging"); + map.put(IMAGING_RESPONDER , "Imaging Responder"); + map.put(IMAGING_AUTOMATIC_ARCHIVE , "Imaging Automatic Archive"); + map.put(IMAGING_REFERENCE_OBJECTS , "Imaging Reference Objects"); + map.put(HANDS_FREE_PROFILE_HFP , "Hands Free Profile (HFP)"); + map.put(HANDS_FREE_PROFILE_HFP_AUDIO_GATEWAY , "Hands Free Profile (HFP) – Audio Gateway"); + map.put(DIRECT_PRINTING_REFERENCE_OBJECTS , "Direct Printing Reference Objects"); + map.put(REFLECTED_UI , "Reflected UI"); + map.put(BASIC_PRINTING , "Basic Printing"); + map.put(PRINTING_STATUS , "Printing Status"); + map.put(HID , "HID"); + map.put(HARDCOPY_CABLE_REPLACEMENT , "Hardcopy Cable Replacement"); + map.put(HCR_PRINT , "HCR Print"); + map.put(HCR_SCAN , "HCR Scan"); + map.put(COMMON_ISDN_ACCESS , "Common ISDN Access"); + map.put(VIDEO_CONFERENCING_GATEWAY , "Video Conferencing Gateway"); + map.put(UDIMT , "UDIMT"); + map.put(UDITA , "UDITA"); + map.put(AUDIO_VIDEO , "Audio Video"); + map.put(SIM_ACCESS , "SIM Access"); + map.put(OBEX_PCE , "OBEX PCE"); + map.put(OBEX_PSE , "OBEX PSE"); + map.put(OBEX_PBAP , "OBEX PBAP"); + map.put(OBEX_MAS , "OBEX MAS"); + map.put(OBEX_MNS , "OBEX MNS"); + map.put(OBEX_MAP , "OBEX MAP"); + map.put(PNP , "PNP"); + map.put(GENERIC_NETWORKING , "Generic Networking"); + map.put(GENERIC_FILE_TRANSFER , "Generic File Transfer"); + map.put(GENERIC_AUDIO , "Generic Audio"); + map.put(GENERIC_TELEPHONY , "Generic Telephony"); + map.put(UPNP , "UPNP"); + map.put(UPNP_IP , "UPNP IP"); + map.put(ESDP_UPNP_IP_PAN , "ESDP UPnP IP PAN"); + map.put(ESDP_UPNP_IP_LAP , "ESDP UPnP IP LAP"); + map.put(ESDP_UPNP_L2CAP , "ESDP Upnp L2CAP"); + map.put(VIDEO_DISTRIBUTION_PROFILE_VDP_SOURCE , "Video Distribution Profile (VDP) - Source"); + map.put(VIDEO_DISTRIBUTION_PROFILE_VDP_SINK , "Video Distribution Profile (VDP) - Sink"); + map.put(VIDEO_DISTRIBUTION_PROFILE_VDP , "Video Distribution Profile (VDP)"); + map.put(HEALTH_DEVICE_PROFILE_HDP , "Health Device Profile (HDP)"); + map.put(HEALTH_DEVICE_PROFILE_HDP_SOURCE , "Health Device Profile (HDP) - Source"); + map.put(HEALTH_DEVICE_PROFILE_HDP_SINK , "Health Device Profile (HDP) - Sink"); + map.put(GAP , "GAP"); + map.put(GATT , "GATT"); + map.put(IMMEDIATE_ALERT , "IMMEDIATE_ALERT"); + map.put(LINK_LOSS , "LINK_LOSS"); + map.put(TX_POWER , "TX_POWER"); + map.put(HEALTH_THERMOMETER , "Health Thermometer"); + map.put(DEVICE_INFORMATION , "Device Information"); + map.put(HEART_RATE , "HEART_RATE"); + map.put(CYCLING_SC , "CYCLING_SC"); + map.put(CLIENT_CHARACTERISTIC_CONFIG , "CLIENT_CHARACTERISTIC_CONFIG"); + map.put(DEVICE_NAME , "Device Name"); + map.put(APPEARANCE , "Appearance"); + map.put(PERIPHERAL_PRIVACY_FLAG , "Peripheral Privacy Flag"); + map.put(RECONNECTION_ADDRESS , "Reconnection Address"); + map.put(PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS , "Peripheral Preferred Connection Parameters"); + map.put(SERVICE_CHANGED , "Service Changed"); + map.put(ALERT_LEVEL , "Alert Level"); + map.put(TX_POWER_LEVEL , "Tx Power Level"); + map.put(DATE_TIME , "Date Time"); + map.put(DAY_OF_WEEK , "Day of Week"); + map.put(DAY_DATE_TIME , "Day Date Time"); + map.put(EXACT_TIME_256 , "Exact Time 256"); + map.put(DST_OFFSET , "DST Offset"); + map.put(TIME_ZONE , "Time Zone"); + map.put(LOCAL_TIME_INFORMATION , "Local Time Information"); + map.put(TIME_WITH_DST , "Time with DST"); + map.put(TIME_ACCURACY , "Time Accuracy"); + map.put(TIME_SOURCE , "Time Source"); + map.put(REFERENCE_TIME_INFORMATION , "Reference Time Information"); + map.put(TIME_UPDATE_CONTROL_POINT , "Time Update Control Point"); + map.put(TIME_UPDATE_STATE , "Time Update State"); + map.put(TEMPERATURE_MEASUREMENT , "Temperature Measurement"); + map.put(TEMPERATURE_TYPE , "Temperature Type"); + map.put(INTERMEDIATE_TEMPERATURE , "Intermediate Temperature"); + map.put(MEASUREMENT_INTERVAL , "Measurement Interval"); + map.put(SYSTEM_ID , "System ID"); + map.put(MODEL_NUMBER_STRING , "Model Number String"); + map.put(SERIAL_NUMBER_STRING , "Serial Number String"); + map.put(FIRMWARE_REVISION_STRING , "Firmware Revision String"); + map.put(HARDWARE_REVISION_STRING , "Hardware Revision String"); + map.put(SOFTWARE_REVISION_STRING , "Software Revision String"); + map.put(MANUFACTURER_NAME_STRING , "Manufacturer Name String"); + map.put(IEEE_1107320601_REGULATORY , "IEEE 11073-20601 Regulatory"); + map.put(CURRENT_TIME , "Current Time"); + map.put(BLOOD_PRESSURE_MEASUREMENT , "Blood Pressure Measurement"); + map.put(INTERMEDIATE_CUFF_PRESSURE , "Intermediate Cuff Pressure"); + map.put(HEART_RATE_MEASUREMENT , "Heart Rate Measurement"); + map.put(BODY_SENSOR_LOCATION , "Body Sensor Location"); + map.put(HEART_RATE_CONTROL_POINT , "Heart Rate Control Point"); + map.put(ALERT_STATUS , "Alert Status"); + map.put(RINGER_CONTROL_POINT , "Ringer Control Point"); + map.put(RINGER_SETTING , "Ringer Setting"); + map.put(ALERT_CATEGORY_ID_BIT_MASK , "Alert Category ID Bit Mask"); + map.put(ALERT_CATEGORY_ID , "Alert Category ID"); + map.put(ALERT_NOTIFICATION_CONTROL_POINT , "Alert Notification Control Point"); + map.put(UNREAD_ALERT_STATUS , "Unread Alert Status"); + map.put(NEW_ALERT , "New Alert"); + map.put(SUPPORTED_NEW_ALERT_CATEGORY , "Supported New Alert Category"); + map.put(SUPPORTED_UNREAD_ALERT_CATEGORY , "Supported Unread Alert Category"); + map.put(BLOOD_PRESSURE_FEATURE , "Blood Pressure Feature"); + map.put(PNPID , "PNPID"); + map.put(SC_CONTROL_POINT , "SC_CONTROL_POINT"); + map.put(CSC_MEASUREMENT , "CSC_MEASUREMENT"); + map.put(CSC_FEATURE , "CSC_FEATURE"); + map.put(SENSOR_LOCATION , "SENSOR_LOCATION"); + map.put(ACTIVESYNC , "ActiveSync"); + map.put(ESTIMOTE_SERVICE , "Estimote Service"); + map.put(ESTIMOTE_UUID , "Estimote UUID"); + map.put(ESTIMOTE_MAJOR , "Estimote Major"); + map.put(ESTIMOTE_MINOR , "Estimote Minor"); + map.put(ESTIMOTE_BATTERY , "Estimote Battery"); + map.put(ESTIMOTE_TEMPERATURE , "Estimote Temperature"); + map.put(ESTIMOTE_POWER , "Estimote Power"); + map.put(ESTIMOTE_ADVERTISING_INTERVAL , "Estimote Advertising Interval"); + map.put(ESTIMOTE_VERSION_SERVICE , "Estimote Version Service"); + map.put(ESTIMOTE_SOFTWARE_VERSION , "Estimote Software Version"); + map.put(ESTIMOTE_HARDWARE_VERSION , "Estimote Hardware Version"); + map.put(ESTIMOTE_AUTHENTICATION_SERVICE , "Estimote Authentication Service"); + map.put(ESTIMOTE_ADVERTISING_SEED , "Estimote Advertising Seed"); + map.put(ESTIMOTE_ADVERTISING_VECTOR , "Estimote Advertising Vector"); return map; } diff --git a/library/src/test/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolverTest.java b/library/src/test/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolverTest.java new file mode 100644 index 0000000..6b482c9 --- /dev/null +++ b/library/src/test/java/uk/co/alt236/bluetoothlelib/resolvers/GattAttributeResolverTest.java @@ -0,0 +1,20 @@ +package uk.co.alt236.bluetoothlelib.resolvers; + +import junit.framework.TestCase; + +/** + * + */ +public class GattAttributeResolverTest extends TestCase { + private static final String UKNOWN = "unknown"; + + public void testGetAttributeName() throws Exception { + assertEquals(UKNOWN, GattAttributeResolver.getAttributeName("foo", UKNOWN)); + assertEquals("Estimote Advertising Vector", GattAttributeResolver.getAttributeName("b9402002-f5f8-466e-aff9-25556b57fe6d", UKNOWN)); + assertEquals("LINK_LOSS", GattAttributeResolver.getAttributeName("00001803-0000-1000-8000-00805f9b34fb", UKNOWN)); + assertEquals("Base GUID", GattAttributeResolver.getAttributeName("00000000-0000-1000-8000-00805f9b34fb", UKNOWN)); + assertEquals("PNPID", GattAttributeResolver.getAttributeName("00002a50-0000-1000-8000-00805f9b34fb", UKNOWN)); + assertEquals("HTTP", GattAttributeResolver.getAttributeName("0000000c-0000-1000-8000-00805f9b34fb", UKNOWN)); + + } +} \ No newline at end of file