Check HF support feature before checking init status. 49/105749/1 accepted/tizen_3.0.m2_mobile accepted/tizen_3.0.m2_tv accepted/tizen_3.0.m2_wearable accepted/tizen/3.0.m2/mobile/20170104.100225 accepted/tizen/3.0.m2/tv/20170104.100412 accepted/tizen/3.0.m2/wearable/20170104.100953 accepted/tizen/3.0/common/20161221.181036 accepted/tizen/3.0/ivi/20161221.010423 accepted/tizen/3.0/mobile/20161221.010606 accepted/tizen/3.0/tv/20161221.010306 accepted/tizen/3.0/wearable/20161221.010438 submit/tizen_3.0.m2/20170104.093748 submit/tizen_3.0/20161220.060955
authorDeokhyun Kim <dukan.kim@samsung.com>
Mon, 19 Dec 2016 10:40:01 +0000 (19:40 +0900)
committerDeokhyun Kim <dukan.kim@samsung.com>
Mon, 19 Dec 2016 10:40:01 +0000 (19:40 +0900)
Change-Id: Ic7d51064d53a1b7642ec6d472d7b6688603aa0de
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
src/bluetooth-audio.c

index 107c7578971039c30b69e8c623e9a80597742922..64b640dc095f6f24218d19a7efbdfb588f31659e 100644 (file)
@@ -853,42 +853,45 @@ int bt_a2dp_set_content_protection(bool status)
 #if defined(TIZEN_PROFILE_WEARABLE) || defined(TIZEN_PROFILE_IVI)
 int bt_hf_initialize(void)
 {
-       BT_CHECK_INIT_STATUS();
        BT_CHECK_HF_SUPPORT();
+       BT_CHECK_INIT_STATUS();
 
        int error;
 
-       BT_CHECK_INIT_STATUS();
        error = bluetooth_hf_init(_bt_hf_event_proxy, NULL);
        error = _bt_get_error_code(error);
        if (BT_ERROR_NONE != error) {
                BT_ERR("%s(0x%08x)", _bt_convert_error_to_string(error), error);
                return error;
        }
+
+       is_audio_hf_initialized = true;
+
        return error;
 }
 
 int bt_hf_deinitialize(void)
 {
-       BT_CHECK_INIT_STATUS();
        BT_CHECK_HF_SUPPORT();
+       BT_CHECK_INIT_STATUS();
 
        int error;
 
        BT_CHECK_INIT_STATUS();
        error = bluetooth_hf_deinit();
        error = _bt_get_error_code(error);
-       if (BT_ERROR_NONE != error) {
+       if (BT_ERROR_NONE != error)
                BT_ERR("%s(0x%08x)", _bt_convert_error_to_string(error), error);
-               return error;
-       }
-       return error;
+
+       is_audio_hf_initialized = false;
+
+       return BT_ERROR_NONE;
 }
 
 int bt_hf_notify_call_event(bt_hf_call_event_e event, char *phone_number)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        int error = BT_ERROR_NONE;
 
@@ -938,7 +941,7 @@ int bt_hf_notify_call_event(bt_hf_call_event_e event, char *phone_number)
 int bt_hf_notify_speaker_gain(int gain)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        int error;
 
@@ -953,7 +956,7 @@ int bt_hf_notify_speaker_gain(int gain)
 int bt_hf_set_speaker_gain_changed_cb(bt_hf_speaker_gain_changed_cb callback, void *user_data)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(callback);
 
        _bt_set_cb(BT_EVENT_HF_SPEAKER_GAIN_CHANGE, callback, user_data);
@@ -963,7 +966,7 @@ int bt_hf_set_speaker_gain_changed_cb(bt_hf_speaker_gain_changed_cb callback, vo
 int bt_hf_unset_speaker_gain_changed_cb(void)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        if (_bt_check_cb(BT_EVENT_HF_SPEAKER_GAIN_CHANGE) == true)
                _bt_unset_cb(BT_EVENT_HF_SPEAKER_GAIN_CHANGE);
@@ -973,7 +976,7 @@ int bt_hf_unset_speaker_gain_changed_cb(void)
 int bt_hf_notify_voice_recognition_state(bool state)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        int error;
 
@@ -988,7 +991,7 @@ int bt_hf_notify_voice_recognition_state(bool state)
 int bt_hf_set_call_status_updated_event_cb(bt_hf_call_status_updated_event_cb callback, void *user_data)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        BT_CHECK_INPUT_PARAMETER(callback);
        _bt_set_cb(BT_EVENT_HF_CALL_STATUS_UPDATED_EVENT, callback, user_data);
@@ -998,7 +1001,7 @@ int bt_hf_set_call_status_updated_event_cb(bt_hf_call_status_updated_event_cb ca
 int bt_hf_unset_call_status_updated_event_cb(void)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        if (_bt_check_cb(BT_EVENT_HF_CALL_STATUS_UPDATED_EVENT) == true)
                _bt_unset_cb(BT_EVENT_HF_CALL_STATUS_UPDATED_EVENT);
@@ -1008,7 +1011,7 @@ int bt_hf_unset_call_status_updated_event_cb(void)
 int bt_hf_close_sco(void)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        int error;
 
@@ -1023,7 +1026,7 @@ int bt_hf_close_sco(void)
 int bt_hf_send_dtmf(char *dtmf)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        int error;
 
@@ -1038,7 +1041,7 @@ int bt_hf_send_dtmf(char *dtmf)
 int bt_hf_is_connected(bool *connected)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(connected);
 
        int error;
@@ -1060,7 +1063,7 @@ int bt_hf_is_connected(bool *connected)
 int bt_hf_is_sco_opened(bool *opened)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(opened);
 
        int error;
@@ -1082,7 +1085,7 @@ int bt_hf_is_sco_opened(bool *opened)
 int bt_hf_get_codec_id(unsigned int *codec_id)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(codec_id);
 
        int error;
@@ -1098,7 +1101,7 @@ int bt_hf_get_codec_id(unsigned int *codec_id)
 int bt_hf_get_call_status_info_list(GSList **call_list)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(call_list);
 
        int error;
@@ -1133,14 +1136,13 @@ int bt_hf_get_call_status_info_list(GSList **call_list)
 
 int bt_hf_is_inband_ringtone_supported(bool *supported)
 {
-#ifdef TIZEN_BT_HFP_HF_ENABLE
-       int error;
-       gboolean is_supported = FALSE;
-
-       BT_CHECK_HF_SUPPORT();
        BT_CHECK_INIT_STATUS();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(supported);
 
+       int error;
+       gboolean is_supported = FALSE;
+
        error = bluetooth_hf_is_ibr_supported(&is_supported);
        error = _bt_get_error_code(error);
        if (error != BT_ERROR_NONE)
@@ -1152,10 +1154,6 @@ int bt_hf_is_inband_ringtone_supported(bool *supported)
                *supported = FALSE;
 
        return error;
-#else
-       BT_ERR("NOT_SUPPORTED(0x%08x)", BT_ERROR_NOT_SUPPORTED);
-       return BT_ERROR_NOT_SUPPORTED;
-#endif
 }
 
 static void __bt_hf_free_call_status_info(void *data)
@@ -1168,7 +1166,7 @@ static void __bt_hf_free_call_status_info(void *data)
 int bt_hf_free_call_status_info_list(GSList *call_list)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(call_list);
 
        g_slist_free_full(call_list, __bt_hf_free_call_status_info);
@@ -1180,7 +1178,7 @@ int bt_hf_set_sco_state_changed_cb(bt_hf_sco_state_changed_cb callback,
                                        void *user_data)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(callback);
        _bt_set_cb(BT_EVENT_HF_SCO_CONNECTION_STATUS, callback, user_data);
        return BT_ERROR_NONE;
@@ -1189,7 +1187,7 @@ int bt_hf_set_sco_state_changed_cb(bt_hf_sco_state_changed_cb callback,
 int bt_hf_unset_sco_state_changed_cb(void)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        if (_bt_check_cb(BT_EVENT_HF_SCO_CONNECTION_STATUS) == true)
                _bt_unset_cb(BT_EVENT_HF_SCO_CONNECTION_STATUS);
@@ -1200,7 +1198,7 @@ int bt_hf_set_call_handling_event_cb(bt_hf_call_handling_event_cb callback,
                                        void *user_data)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(callback);
 
        _bt_set_cb(BT_EVENT_HF_CALL_HANDLING_EVENT, callback, user_data);
@@ -1210,7 +1208,7 @@ int bt_hf_set_call_handling_event_cb(bt_hf_call_handling_event_cb callback,
 int bt_hf_unset_call_handling_event_cb(void)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        if (_bt_check_cb(BT_EVENT_HF_CALL_HANDLING_EVENT) == true)
                _bt_unset_cb(BT_EVENT_HF_CALL_HANDLING_EVENT);
@@ -1222,7 +1220,7 @@ int bt_hf_set_multi_call_handling_event_cb(
                                        void *user_data)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(callback);
 
        _bt_set_cb(BT_EVENT_HF_MULTI_CALL_HANDLING_EVENT, callback, user_data);
@@ -1232,7 +1230,7 @@ int bt_hf_set_multi_call_handling_event_cb(
 int bt_hf_unset_multi_call_handling_event_cb(void)
 {
        BT_CHECK_INIT_STATUS();
-       BT_CHECK_HF_SUPPORT();
+       BT_CHECK_HF_INIT_STATUS();
 
        if (_bt_check_cb(BT_EVENT_HF_MULTI_CALL_HANDLING_EVENT) == true)
                _bt_unset_cb(BT_EVENT_HF_MULTI_CALL_HANDLING_EVENT);
@@ -1243,8 +1241,8 @@ int bt_hf_set_remote_call_event_cb(
                                bt_hf_remote_call_event_cb callback,
                                void *user_data)
 {
-       BT_CHECK_HF_SUPPORT();
        BT_CHECK_INIT_STATUS();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(callback);
        _bt_set_cb(BT_EVENT_HF_REMOTE_CALL_EVENT, callback, user_data);
        return BT_ERROR_NONE;
@@ -1252,8 +1250,8 @@ int bt_hf_set_remote_call_event_cb(
 
 int bt_hf_unset_remote_call_event_cb(void)
 {
-       BT_CHECK_HF_SUPPORT();
        BT_CHECK_INIT_STATUS();
+       BT_CHECK_HF_INIT_STATUS();
        if (_bt_check_cb(BT_EVENT_HF_REMOTE_CALL_EVENT) == true)
                _bt_unset_cb(BT_EVENT_HF_REMOTE_CALL_EVENT);
        return BT_ERROR_NONE;
@@ -1263,8 +1261,8 @@ int bt_hf_set_remote_device_state_changed_cb(
                                bt_hf_remote_device_state_changed_cb callback,
                                void *user_data)
 {
-       BT_CHECK_HF_SUPPORT();
        BT_CHECK_INIT_STATUS();
+       BT_CHECK_HF_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(callback);
        _bt_set_cb(BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED, callback, user_data);
        return BT_ERROR_NONE;
@@ -1272,8 +1270,8 @@ int bt_hf_set_remote_device_state_changed_cb(
 
 int bt_hf_unset_remote_device_state_changed_cb(void)
 {
-       BT_CHECK_HF_SUPPORT();
        BT_CHECK_INIT_STATUS();
+       BT_CHECK_HF_INIT_STATUS();
        if (_bt_check_cb(BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED) == true)
                _bt_unset_cb(BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED);
        return BT_ERROR_NONE;