diff --git a/android/tester-main.c b/android/tester-main.c
index c637fd5..d5ebe16 100644
--- a/android/tester-main.c
+++ b/android/tester-main.c
/* Emulator callbacks */
DBG_CB(CB_EMU_CONFIRM_SEND_DATA),
+ DBG_CB(CB_EMU_ENCRYPTION_ENABLED),
+ DBG_CB(CB_EMU_ENCRYPTION_DISABLED),
};
static gboolean check_callbacks_called(gpointer user_data)
tester_print("%s%s", prefix, str);
}
+static bool hciemu_post_encr_hook(const void *data, uint16_t len,
+ void *user_data)
+{
+ struct step *step = g_new0(struct step, 1);
+
+ /*
+ * Expected data: status (1 octet) + conn. handle (2 octets) +
+ * encryption flag (1 octet)
+ */
+ if (len < 4)
+ return true;
+
+ step->callback = ((uint8_t *)data)[3] ? CB_EMU_ENCRYPTION_ENABLED :
+ CB_EMU_ENCRYPTION_DISABLED;
+
+ schedule_callback_verification(step);
+ return true;
+}
+
static void read_info_callback(uint8_t status, uint16_t length,
const void *param, void *user_data)
{
return;
}
+ /* set hook for encryption change */
+ hciemu_add_hook(data->hciemu, HCIEMU_HOOK_POST_EVT, 0x08,
+ hciemu_post_encr_hook, NULL);
+
tester_pre_setup_complete();
}
diff --git a/android/tester-main.h b/android/tester-main.h
index 6245381..e96ad24 100644
--- a/android/tester-main.h
+++ b/android/tester-main.h
/* Emulator callbacks */
CB_EMU_CONFIRM_SEND_DATA,
+ CB_EMU_ENCRYPTION_ENABLED,
+ CB_EMU_ENCRYPTION_DISABLED,
} expected_bt_callback_t;
struct test_data {