Enable speaker and microphone gain change event 71/226671/3 accepted/tizen/unified/20200312.234409 submit/tizen/20200310.235006
authorDoHyun Pyun <dh79.pyun@samsung.com>
Thu, 5 Mar 2020 00:17:16 +0000 (09:17 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Thu, 5 Mar 2020 05:01:06 +0000 (14:01 +0900)
Change-Id: If9ca3cede8aecc56efa0119bf9a0e7a1bab66150
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
src/bluetooth-common.c
test/bt_unit_test.c
test/bt_unit_test.h

index 78161ec..5020b53 100644 (file)
@@ -191,6 +191,8 @@ static bt_event2index_table_t event2index[] = {
        { BLUETOOTH_EVENT_AG_AUDIO_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
        { BLUETOOTH_EVENT_TELEPHONY_AUDIO_CONNECTED, BT_EVENT_AG_SCO_CONNECTION_STATUS },
        { BLUETOOTH_EVENT_TELEPHONY_AUDIO_DISCONNECTED, BT_EVENT_AG_SCO_CONNECTION_STATUS },
+       { BLUETOOTH_EVENT_TELEPHONY_SET_SPEAKER_GAIN, BT_EVENT_AG_SPEAKER_GAIN_CHANGE },
+       { BLUETOOTH_EVENT_TELEPHONY_SET_MIC_GAIN, BT_EVENT_AG_MICROPHONE_GAIN_CHANGE },
        { BLUETOOTH_EVENT_TELEPHONY_ANSWER_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
        { BLUETOOTH_EVENT_TELEPHONY_RELEASE_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
        { BLUETOOTH_EVENT_TELEPHONY_REJECT_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
@@ -1361,6 +1363,7 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
        int *avrcp_mode;
        int *discoverable_timeout;
        int *adv_handle;
+       int *gain;
        bluetooth_rfcomm_connection_t *connection_ind = NULL;
        bluetooth_rfcomm_disconnection_t *disconnection_ind = NULL;
        bt_socket_connection_s rfcomm_connection;
@@ -2055,6 +2058,18 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
                (BT_AG_CALL_HANDLING_EVENT_ANSWER, call_id,
                bt_event_slot_container[event_index].user_data);
                break;
+       case BLUETOOTH_EVENT_TELEPHONY_SET_MIC_GAIN:
+               gain = (int *)(param->param_data);
+               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_SET_MIC_GAIN ");
+               ((bt_ag_microphone_gain_changed_cb)bt_event_slot_container[event_index].callback)
+               (*gain, bt_event_slot_container[event_index].user_data);
+               break;
+       case BLUETOOTH_EVENT_TELEPHONY_SET_SPEAKER_GAIN:
+               gain = (int *)(param->param_data);
+               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_SET_SPEAKER_GAIN ");
+               ((bt_ag_speaker_gain_changed_cb)bt_event_slot_container[event_index].callback)
+               (*gain, bt_event_slot_container[event_index].user_data);
+               break;
        case BLUETOOTH_EVENT_TELEPHONY_RELEASE_CALL:
                call_data = (telephony_event_callid_t *)param->param_data;
                call_id = call_data->callid;
index 411c5c9..61fd1ed 100644 (file)
@@ -532,6 +532,14 @@ tc_table_t tc_audio[] = {
                , BT_UNIT_TEST_FUNCTION_AG_SET_SCO_STATE_CHANGED_CB},
        {"bt_ag_unset_sco_state_changed_cb"
                , BT_UNIT_TEST_FUNCTION_AG_UNSET_SCO_STATE_CHANGED_CB},
+       {"bt_ag_set_speaker_gain_changed_cb"
+               , BT_UNIT_TEST_FUNCTION_AG_SET_SPEAKER_GAIN_CHANGED_CB},
+       {"bt_ag_unset_speaker_gain_changed_cb"
+               , BT_UNIT_TEST_FUNCTION_AG_UNSET_SPEAKER_GAIN_CHANGED_CB},
+       {"bt_ag_set_microphone_gain_changed_cb"
+               , BT_UNIT_TEST_FUNCTION_AG_SET_MICRO_GAIN_CHANGED_CB},
+       {"bt_ag_unset_microphone_gain_changed_cb"
+               , BT_UNIT_TEST_FUNCTION_AG_UNSET_MICRO_GAIN_CHANGED_CB},
        {"bt_ag_is_connected"
                , BT_UNIT_TEST_FUNCTION_AG_IS_CONNECTED},
        {"BT_AG_CALL_EVENT_IDLE"
@@ -2163,6 +2171,16 @@ void __bt_ag_sco_state_changed_cb(int result,
        TC_PRT("opened [%s]", opened ? "YES" : "NO");
 }
 
+void __bt_ag_speaker_gain_changed_cb(int gain, void *user_data)
+{
+       TC_PRT("gain [%d]", gain);
+}
+
+void __bt_ag_microphone_gain_changed_cb(int gain, void *user_data)
+{
+       TC_PRT("gain [%d]", gain);
+}
+
 void __bt_ag_set_call_handling_event_cb(bt_ag_call_handling_event_e event,
                unsigned int call_id, void *user_data)
 {
@@ -6044,6 +6062,24 @@ int test_input_callback(void *data)
                        ret = bt_ag_unset_sco_state_changed_cb();
                        TC_PRT("returns %s\n", __bt_get_error_message(ret));
                        break;
+               case BT_UNIT_TEST_FUNCTION_AG_SET_SPEAKER_GAIN_CHANGED_CB:
+                       ret = bt_ag_set_speaker_gain_changed_cb(
+                               __bt_ag_speaker_gain_changed_cb, NULL);
+                       TC_PRT("returns %s\n", __bt_get_error_message(ret));
+                       break;
+               case BT_UNIT_TEST_FUNCTION_AG_UNSET_SPEAKER_GAIN_CHANGED_CB:
+                       ret = bt_ag_unset_speaker_gain_changed_cb();
+                       TC_PRT("returns %s\n", __bt_get_error_message(ret));
+                       break;
+               case BT_UNIT_TEST_FUNCTION_AG_SET_MICRO_GAIN_CHANGED_CB:
+                       ret = bt_ag_set_microphone_gain_changed_cb(
+                               __bt_ag_microphone_gain_changed_cb, NULL);
+                       TC_PRT("returns %s\n", __bt_get_error_message(ret));
+                       break;
+               case BT_UNIT_TEST_FUNCTION_AG_UNSET_MICRO_GAIN_CHANGED_CB:
+                       ret = bt_ag_unset_microphone_gain_changed_cb();
+                       TC_PRT("returns %s\n", __bt_get_error_message(ret));
+                       break;
                case BT_UNIT_TEST_FUNCTION_AG_IS_CONNECTED: {
                        bool connected = false;
                        ret = bt_ag_is_connected(&connected);
index e41dcf0..a7bb745 100644 (file)
@@ -216,6 +216,10 @@ typedef enum {
        BT_UNIT_TEST_FUNCTION_AG_IS_SCO_OPENED,
        BT_UNIT_TEST_FUNCTION_AG_SET_SCO_STATE_CHANGED_CB,
        BT_UNIT_TEST_FUNCTION_AG_UNSET_SCO_STATE_CHANGED_CB,
+       BT_UNIT_TEST_FUNCTION_AG_SET_SPEAKER_GAIN_CHANGED_CB,
+       BT_UNIT_TEST_FUNCTION_AG_UNSET_SPEAKER_GAIN_CHANGED_CB,
+       BT_UNIT_TEST_FUNCTION_AG_SET_MICRO_GAIN_CHANGED_CB,
+       BT_UNIT_TEST_FUNCTION_AG_UNSET_MICRO_GAIN_CHANGED_CB,
        BT_UNIT_TEST_FUNCTION_AG_IS_CONNECTED,
        BT_UNIT_TEST_FUNCTION_AG_CALL_EVENT_IDLE,
        BT_UNIT_TEST_FUNCTION_AG_CALL_EVENT_ANSWERED,