diff --git a/android/bluetooth.c b/android/bluetooth.c
index e456f3c..82003fd 100644
--- a/android/bluetooth.c
+++ b/android/bluetooth.c
return HAL_STATUS_SUCCESS;
}
+static uint8_t settings2type(void)
+{
+ bool bredr, le;
+
+ bredr = adapter.current_settings & MGMT_SETTING_BREDR;
+ le = adapter.current_settings & MGMT_SETTING_LE;
+
+ if (bredr && le)
+ return HAL_TYPE_DUAL;
+
+ if (bredr && !le)
+ return HAL_TYPE_BREDR;
+
+ if (!bredr && le)
+ return HAL_TYPE_LE;
+
+ return 0;
+}
+
static uint8_t get_adapter_type(void)
{
- DBG("Not implemented");
+ uint8_t type;
- /* TODO: Add implementation */
+ DBG("");
- return HAL_STATUS_FAILED;
+ type = settings2type();
+
+ if (!type)
+ return HAL_STATUS_FAILED;
+
+ send_adapter_property(HAL_PROP_ADAPTER_TYPE, sizeof(type), &type);
+
+ return HAL_STATUS_SUCCESS;
}
static uint8_t get_adapter_service_rec(void)
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 80c4a25..3be91aa 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
#define HAL_ADAPTER_SCAN_MODE_CONN 0x01
#define HAL_ADAPTER_SCAN_MODE_CONN_DISC 0x02
+#define HAL_TYPE_BREDR 0x01
+#define HAL_TYPE_LE 0x02
+#define HAL_TYPE_DUAL 0x03
+
#define HAL_OP_SET_ADAPTER_PROP 0x05
struct hal_cmd_set_adapter_prop {
uint8_t type;