diff --git a/android/tester-bluetooth.c b/android/tester-bluetooth.c
index 6bc67da..65fd93c 100644
--- a/android/tester-bluetooth.c
+++ b/android/tester-bluetooth.c
static bt_bdaddr_t emu_remote_bdaddr_val = {
.address = { 0x00, 0xaa, 0x01, 0x01, 0x00, 0x00 },
};
+static const char emu_remote_bdname_val[] = "00:AA:01:01:00:00";
+static uint32_t emu_remote_cod_val = 0;
static bt_property_t prop_emu_default_set[] = {
{ BT_PROPERTY_BDADDR, sizeof(emu_bdaddr_val), NULL },
&emu_remote_rssi_val },
};
+static bt_property_t prop_emu_ble_remotes_query_set[] = {
+ { BT_PROPERTY_TYPE_OF_DEVICE, sizeof(emu_remote_type_val),
+ &emu_remote_type_val },
+ { BT_PROPERTY_CLASS_OF_DEVICE, sizeof(emu_remote_cod_val),
+ &emu_remote_cod_val },
+ { BT_PROPERTY_REMOTE_RSSI, sizeof(emu_remote_rssi_val),
+ &emu_remote_rssi_val },
+ { BT_PROPERTY_BDNAME, sizeof(emu_remote_bdname_val) - 1,
+ &emu_remote_bdname_val },
+ { BT_PROPERTY_UUIDS, 0, NULL },
+ { BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP, 4, NULL },
+};
+
static char test_bdname[] = "test_bdname";
static bt_property_t prop_test_bdname = {
.type = BT_PROPERTY_BDNAME,
CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
BT_DISCOVERY_STOPPED),
),
+ TEST_CASE("Bluetooth Device Get Props - Success",
+ ACTION_SUCCESS(bluetooth_enable_action, NULL),
+ CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
+ ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
+ ACTION_SUCCESS(bt_start_discovery_action, NULL),
+ CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
+ BT_DISCOVERY_STARTED),
+ ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
+ CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
+ BT_DISCOVERY_STOPPED),
+ ACTION_SUCCESS(bt_get_device_props_action,
+ &emu_remote_bdaddr_val),
+ CALLBACK_DEVICE_PROPS(prop_emu_ble_remotes_query_set, 6),
+ ),
};
struct queue *get_bluetooth_tests(void)
diff --git a/android/tester-main.c b/android/tester-main.c
index 5849c0c..f5ac281 100644
--- a/android/tester-main.c
+++ b/android/tester-main.c
schedule_callback_call(step);
}
+static void remote_device_properties_cb(bt_status_t status,
+ bt_bdaddr_t *bd_addr, int num_properties,
+ bt_property_t *properties)
+{
+ struct step *step = g_new0(struct step, 1);
+
+ step->callback_result.num_properties = num_properties;
+ step->callback_result.properties = copy_properties(num_properties,
+ properties);
+
+ step->callback = CB_BT_REMOTE_DEVICE_PROPERTIES;
+
+ schedule_callback_call(step);
+}
+
static bt_callbacks_t bt_callbacks = {
.size = sizeof(bt_callbacks),
.adapter_state_changed_cb = adapter_state_changed_cb,
.adapter_properties_cb = adapter_properties_cb,
- .remote_device_properties_cb = NULL,
+ .remote_device_properties_cb = remote_device_properties_cb,
.device_found_cb = device_found_cb,
.discovery_state_changed_cb = discovery_state_changed_cb,
.pin_request_cb = NULL,
verify_step(&step, NULL);
}
+void bt_get_device_props_action(void)
+{
+ struct test_data *data = tester_get_data();
+ struct step *current_data_step = queue_peek_head(data->steps);
+ struct step step;
+
+ if (!current_data_step->set_data) {
+ tester_debug("bdaddr not defined");
+ tester_test_failed();
+ return;
+ }
+
+ memset(&step, 0, sizeof(step));
+ step.action_result.status =
+ data->if_bluetooth->get_remote_device_properties(
+ current_data_step->set_data);
+
+ verify_step(&step, NULL);
+}
+
static void generic_test_function(const void *test_data)
{
struct test_data *data = tester_get_data();
diff --git a/android/tester-main.h b/android/tester-main.h
index 3919713..b81487d 100644
--- a/android/tester-main.h
+++ b/android/tester-main.h
.callback_result.num_properties = prop_cnt, \
}
+#define CALLBACK_DEVICE_PROPS(props, prop_cnt) { \
+ .callback = CB_BT_REMOTE_DEVICE_PROPERTIES, \
+ .callback_result.properties = props, \
+ .callback_result.num_properties = prop_cnt, \
+ }
+
#define CALLBACK_DEVICE_FOUND(props, prop_cnt) { \
.callback = CB_BT_DEVICE_FOUND, \
.callback_result.properties = props, \
void bt_get_property_action(void);
void bt_start_discovery_action(void);
void bt_cancel_discovery_action(void);
+void bt_get_device_props_action(void);