WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLangues error");
}
// 初始化所有预加载slice
- InitBtHeadsetEvent(); // 蓝牙ct和tg适配初始化
+
InitAllNativeSlices();
CallerLogModel::GetInstance()->InitPhoneService();
GoalModel::GetInstance().GoalModelInitdata();//活动数据初始化
#include "UiConfig.h"
#include "BluetoothModel.h"
#include "bluetooth/include/MainBluetoothView.h"
+#include "CallerLogModel.h"
+#include "custom_utils.h"
+#include "notification_manager.h"
namespace OHOS {
BluetoothCaseListAdapter::~BluetoothCaseListAdapter()
}
bool OnClick(UIView& view, const ClickEvent& event) override
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothOnClickListListener");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOnClickListListener");
UNUSED(event);
BluetoothItemView *itemView = static_cast<BluetoothItemView *>(&view);
// // 二次点击不做响应
if (!( lastAddr->addr[0] == 0 && lastAddr->addr[1] == 0 && lastAddr->addr[2] == 0
&& lastAddr->addr[3] == 0 && lastAddr->addr[4] == 0 && lastAddr->addr[5] == 0 ) && ret) {
- BluetoothModel::GetInstance()->SetTagConnectNew(true);
- errcode_t retVal = gap_disconnect_remote_device(lastAddr);
+ BluetoothModel::GetInstance()->SetTagConnectNew(true);
+ errcode_t retVal = gap_disconnect_remote_device(lastAddr);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Disconnect LastDevice retVal = %d %02X %02X %02X * * *", retVal,
lastAddr->addr[0],lastAddr->addr[1],lastAddr->addr[2]);
- }
- else
- {
- mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHRECONNECTVIEW);
- errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(&addr);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ConnectRemoteDevice ret = %d", retVal);
+ }
+ else
+ {
+ mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHRECONNECTVIEW);
+ errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(&addr);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ConnectRemoteDevice ret = %d", retVal);
}
// 跳转可选页
return true;
#include "wearable_log.h"
#include "UiConfig.h"
#include "BluetoothPresenter.h"
+#include "CallerLogModel.h"
+#include "custom_utils.h"
+#include "notification_manager.h"
+#include "PhoneAGService.h"
namespace OHOS
{
bool OnClick(UIView &view, const ClickEvent &event) override
{
UNUSED(event);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOnClickListListener");
BluetoothItemView *itemView = static_cast<BluetoothItemView *>(view.GetParent());
BluetoothCaseInfo *g_BluetoothCaseInfo = itemView->GetItemInfo();
SetItemInfo(g_BluetoothCaseInfo); // 保存点击的设备信息
ret, lastAddr->addr[0], lastAddr->addr[1], lastAddr->addr[2]);
// 地址不是全0并且ret为真
- if (!(lastAddr->addr[0] == 0 && lastAddr->addr[1] == 0 && lastAddr->addr[2] == 0 &&
- lastAddr->addr[3] == 0 && lastAddr->addr[4] == 0 && lastAddr->addr[5] == 0) &&
- ret)
+ if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1
+ && OHOS::NotificationManager::GetInstance()->GetWatchCallStatus())
{
- BluetoothModel::GetInstance()->SetTagConnectNew(false);
- errcode_t retVal = gap_disconnect_remote_device(lastAddr);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[gap_disconnect_remote_device] retVal = %d", retVal);
+ if (!(lastAddr->addr[0] == 0 && lastAddr->addr[1] == 0 && lastAddr->addr[2] == 0 &&
+ lastAddr->addr[3] == 0 && lastAddr->addr[4] == 0 && lastAddr->addr[5] == 0) &&
+ ret)
+ {
+ if(headset_Is_connect())
+ {
+ if(headset_SCO_Is_connect_extend(lastAddr))
+ {
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_DIS_SCO_CONNECT, nullptr, 0);
+ }
+ else
+ {
+ uint8_t time=0;
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, &time, sizeof(uint8_t));
+ }
+ }
+ else
+ {
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CONNECT_AG, nullptr, 0);
+ }
+
+ }
+ else
+ {
+ mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHRECONNECTVIEW);
+ errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(&addr);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnectRemoteDevice] retVal = %d", retVal);
+ }
+
}
else
{
- mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHRECONNECTVIEW);
- errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(&addr);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnectRemoteDevice] retVal = %d", retVal);
+ if (!(lastAddr->addr[0] == 0 && lastAddr->addr[1] == 0 && lastAddr->addr[2] == 0 &&
+ lastAddr->addr[3] == 0 && lastAddr->addr[4] == 0 && lastAddr->addr[5] == 0) &&
+ ret)
+ {
+ BluetoothModel::GetInstance()->SetTagConnectNew(false);
+ errcode_t retVal = gap_disconnect_remote_device(lastAddr);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[gap_disconnect_remote_device] retVal = %d", retVal);
+ }
+ else
+ {
+ mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHRECONNECTVIEW);
+ errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(&addr);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnectRemoteDevice] retVal = %d", retVal);
+ }
}
+
}
else if (view.GetViewType() == UIViewType::UI_IMAGE_VIEW) /*点击的是图片*/
{
\r
void ConnCtStateChangedCallback(const bd_addr_t *bdAddr, profile_connect_state_t state)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "avrcp ct update conn stat:%u", state);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "avrcp ct update conn stat:%u", state);\r
if (bdAddr == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bdaddr nullptr");\r
return;\r
\r
void ConnectTgStateChangedCallback(const bd_addr_t *bdAddr, profile_connect_state_t state)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "avrcp tg update conn stat:%u", state);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "avrcp tg update conn stat:%u", state);\r
if (bdAddr == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bdaddr nullptr");\r
return;\r
#include "player/include/PlayersView.h"\r
#include "ui_resource_image.h"\r
#include "ui_resource_string.h"\r
+#include "CallerLogModel.h"\r
+#include "custom_utils.h"\r
+#include "notification_manager.h"\r
+#include "PhoneAGService.h"\r
+#include "ConfigModel.h"\r
+#include "languagecode/LanguageInit.h"\r
+\r
namespace OHOS\r
{\r
constexpr uint16_t BUTTON_WIDTH = 351;\r
return;\r
}\r
/* ------------------------------ 检查ACL链路是否连接。 ------------------------------ */\r
- bool aclConnected = bt_is_acl_connected((const bd_addr_t *)&infoData.addr);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothItemView::SetConnectionstatus aclConnected %d", aclConnected);\r
- if (aclConnected)\r
- {\r
- connectStateLabel.SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));\r
- connectStateLabel.SetTextId(STR_CONNECTED); // 已连接\r
- }\r
- else\r
+\r
{\r
- connectStateLabel.SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0x7f));\r
- connectStateLabel.SetTextId(STR_DISCONNECTED); // 未连接\r
+ bool aclConnected = bt_is_acl_connected((const bd_addr_t *)&infoData.addr);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothItemView::SetConnectionstatus aclConnected %d", aclConnected);\r
+ if (aclConnected)\r
+ {\r
+ connectStateLabel.SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));\r
+ connectStateLabel.SetTextId(STR_CONNECTED); // 已连接\r
+ if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1\r
+ && OHOS::NotificationManager::GetInstance()->GetWatchCallStatus())\r
+ {\r
+ bool SCOConnected = headset_SCO_Is_connect_extend( (bd_addr_t *)&infoData.addr);\r
+ if(SCOConnected)\r
+ {\r
+ std::string Text = connectStateLabel.GetText();\r
+ \r
+ if(ConfigModel::GetInstance()->GetLanguage() == ZH_CN)\r
+ {\r
+ Text+=" 播放中";\r
+ }\r
+ else\r
+ {\r
+ Text+=" In play";\r
+ }\r
+ connectStateLabel.SetText(Text.c_str());\r
+ }\r
+ \r
+ }\r
+ }\r
+ else\r
+ {\r
+ connectStateLabel.SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0x7f));\r
+ connectStateLabel.SetTextId(STR_DISCONNECTED); // 未连接\r
+ }\r
+ \r
}\r
+ \r
+ \r
+\r
+\r
connectStateLabel.ForceResetText();\r
connectStateLabel.Invalidate();\r
}\r
#include "ConfigModel.h"\r
#include "PhoneAGService.h"\r
#include "custom_save_runtime.h"\r
+#include "BluetoothHeadsetEvent.h"\r
+\r
namespace OHOS {\r
\r
#define BT_SPP_TASK_STACK_SIZE 2048\r
uapi_pbap_pce_reg_callback();\r
BtA2dpInit();\r
PhoneServiceInit();\r
+ InitBtHeadsetEvent(); // 蓝牙ct和tg适配初始化\r
\r
if(uapi_dev_runtime_get_safemode_flag())\r
{\r
int cat1_ag_send_call_event( uint32_t event_topic,const char* info);
+bool headset_SCO_Is_connect_extend(bd_addr_t *bd_addr);
+
#endif
// void bt_hfp_ag_service_sample_cmd(uint32_t cmd_id, const char **params, int32_t params_cnt);
void cat1_audio_stop(void);
-void cat1_connect_sco_(void);
+void cat1_connect_sco_(uint8_t);
void cat1_disconn_sco_(void);
void cat1_start_SCO_audio_(void);
+
+void hfp_ag_cmd_conn_last_hfp(void);
+
#ifdef __cplusplus
}
#endif
#include "CallerLogModel.h"
#include "custom_utils.h"
#include "voice_call_volte_sample_wrapper.h"
+#include "BluetoothModel.h"
+#include "BluetoothDeviceListView.h"
+#include "ui_list.h"
#define SAMPLE_HFP_TASK_STACK_SIZE 0x1600
static hfp_cind_info_t g_sample_hfp_cind_info = {0};
-static const bd_addr_t AG_bd_addr={0};
+static bd_addr_t AG_bd_addr={0};
static void sample_hfp_ag_print_addr(const bd_addr_t *bd_addr)
static int32_t g_hdl_dn_modem = -1;
+static int8_t AG_connect_state=0;
+
+
#ifndef MEMORY_MINI
static int32_t audio_stream_init(void)
{
}
+
static void sample_hfp_ag_conn_state_changed_callback(const bd_addr_t *bd_addr, profile_connect_state_t state)
{
sample_hfp_ag_print_addr(bd_addr);
if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1
&& OHOS::NotificationManager::GetInstance()->GetWatchCallStatus())
{
- cat1_connect_sco_();
+ // cat1_connect_sco_();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"电话状态\n");
+ uint8_t sleep_time=500;
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, &sleep_time, sizeof(sleep_time));
}
else
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"电话结束\n");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"未电话状态\n");
}
}
if(state==PROFILE_STATE_DISCONNECTED)
{
}
-
+ AG_connect_state=state;
+ memcpy_s((void*)&AG_bd_addr,sizeof(bd_addr_t),bd_addr,sizeof(bd_addr_t));
+
}
}
#endif
+static void connectedHandle()
+{
+ OHOS::BluetoothModel::GetInstance()->SetTagDisconnectView(false);
+ OHOS::BluetoothDeviceListView *bluetoothDeviceListView =OHOS:: BluetoothDeviceListView::GetInstance();
+ if (bluetoothDeviceListView == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AclStateChangedCallback bluetoothDeviceListView == nullptr");
+ return;
+ }
+ OHOS::UIList *deviceList = bluetoothDeviceListView->GetDeviceUIList();
+ if (deviceList == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisconnectedHandle deviceList nullptr");
+ return;
+ }
+ deviceList->RefreshList();
+ // BluetoothOptionsView *bluetoothOptionsView = BluetoothOptionsView::GetInstance();
+ // if (bluetoothOptionsView == nullptr) {
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AclStateChangedCallback bluetoothOptionsView == nullptr");
+ // return;
+ // }
+ // bluetoothOptionsView->RefreshText();
+}
+
void HFP_SCO_STATE_CONNECTEDPro(void)
}
}
+ connectedHandle();
}
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_STOP, nullptr, 0);
}
+ connectedHandle();
}
}
+void hfp_ag_cmd_conn_last_hfp(void)
+{
+ bd_addr_t *lastAddr = OHOS::BluetoothModel::GetInstance()->GetLastConnedAddr();
+ hfp_ag_cmd_conn_hfp(lastAddr);
+}
+
static void sample_hfp_ag_volume_changed_callback(const bd_addr_t *bd_addr, hfp_volume_type_t type, uint8_t volume)
{
sample_hfp_ag_print_addr(bd_addr);
/* <addr> */
void hfp_ag_cmd_conn_sco(const bd_addr_t *bd_addr )
{
-
+ // if(headset_Is_connect)
errcode_t ret = (errcode_t)hfp_ag_audio_connect(bd_addr);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"ret: %u %02X %02X %02X %02X %02X %02X\n", ret,bd_addr->addr[5]
,bd_addr->addr[4],bd_addr->addr[3],bd_addr->addr[2],bd_addr->addr[1],bd_addr->addr[0]);
bool headset_Is_connect(void)
{
- int state = hfp_ag_get_device_connect_state(BtAvrcpSrvGetActiveAddr());
- if(state==PROFILE_STATE_CONNECTED)
+ // int state = hfp_ag_get_device_connect_state(&AG_bd_addr);
+ sample_hfp_ag_print_addr(&AG_bd_addr);
+ if(AG_connect_state==PROFILE_STATE_CONNECTED)
{
return true;
}
else
{
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"NO PROFILE_STATE_CONNECTED");
return false;
}
}
bool headset_SCO_Is_connect(void)
{
- int state = hfp_ag_get_sco_connect_state(BtAvrcpSrvGetActiveAddr());
+ int state = hfp_ag_get_sco_connect_state(&AG_bd_addr);
if(state==PROFILE_STATE_CONNECTED)
{
return true;
}
+bool headset_SCO_Is_connect_extend(bd_addr_t *bd_addr)
+{
+ sample_hfp_ag_print_addr(bd_addr);
+ int sco_state = hfp_ag_get_sco_connect_state(bd_addr);
+ int ag_state= hfp_ag_get_device_connect_state(bd_addr);
+ bool ACL_state= bt_is_acl_connected(bd_addr);
+ if(sco_state==PROFILE_STATE_CONNECTED && ag_state==PROFILE_STATE_CONNECTED && ACL_state==true)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"PROFILE_STATE_CONNECTED");
+ return true;
+ }
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"NO PROFILE_STATE_CONNECTED");
+ return false;
+ }
+}
+
-void cat1_connect_sco_(void)
+void cat1_connect_sco_(uint8_t time)
{
//AudioActInterrupt(AUDIO_STREAM_VOICE_CALL_VOLTE);
#ifdef SUPPORT_CAT1_HFP_AG_SERV
- hfp_ag_cmd_conn_sco(BtAvrcpSrvGetActiveAddr());
+ if(time)
+ osal_msleep(time);
+ hfp_ag_cmd_conn_sco(&AG_bd_addr);
#endif
}
{
//AudioActInterrupt(AUDIO_STREAM_VOICE_CALL_VOLTE);
#ifdef SUPPORT_CAT1_HFP_AG_SERV
- hfp_ag_cmd_disconn_sco(BtAvrcpSrvGetActiveAddr());
+ hfp_ag_cmd_disconn_sco(&AG_bd_addr);
#endif
}
void cat1_set_headset_volume( unsigned char volume)
{
//AudioActInterrupt(AUDIO_STREAM_VOICE_CALL_VOLTE);
- hfp_ag_set_volume(BtAvrcpSrvGetActiveAddr(),HFP_VOLUME_SPEAKER,volume);
+ hfp_ag_set_volume(&AG_bd_addr,HFP_VOLUME_SPEAKER,volume);
}
phone_info.service=4;
phone_info.num_len=strlen(info);
memcpy_s(phone_info.number,HFP_AG_PHONENUM_MAX_DIGITS,info,phone_info.num_len);
+ phone_info.name_len=strlen(info);
phone_info.alpha_str[0]=0;
}
switch (event_topic)
{
case TOPIC_EVENT_CAT1_INCOMMING:
- ret=hfp_ag_send_network_incoming_event(BtAvrcpSrvGetActiveAddr(),&phone_info);
+ ret=hfp_ag_send_network_incoming_event(&AG_bd_addr,&phone_info);
break;
case TOPIC_EVENT_CAT1_CALLCONNTED:
- ret=hfp_ag_send_answer_call_event(BtAvrcpSrvGetActiveAddr());
+ ret=hfp_ag_send_answer_call_event(&AG_bd_addr);
break;
case TOPIC_EVENT_CAT1_CALLENDED:
- ret=hfp_ag_send_finish_call_event(BtAvrcpSrvGetActiveAddr(),HFP_AG_CANCELED_LASTCALL);
+ ret=hfp_ag_send_finish_call_event(&AG_bd_addr,HFP_AG_CANCELED_LASTCALL);
break;
case TOPIC_EVENT_CAT1_CALLDIAL:
- ret=hfp_ag_send_originate_call_event(BtAvrcpSrvGetActiveAddr());
+ ret=hfp_ag_send_originate_call_event(&AG_bd_addr);
break;
default:
ret=ERRCODE_BT_FAIL;
break;
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"hfp_ag_send_answer_call_event %d %d\n",event_topic,ret);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"cat1_ag_send_call_event %X %X %X %X %d %X\n",
+ AG_bd_addr.addr[5],AG_bd_addr.addr[4],
+ AG_bd_addr.addr[3],AG_bd_addr.addr[2],
+ event_topic,ret);
return ret;
}
//uapi_hfp_disconnect();
//来电
recover_call_state();
- #ifdef SUPPORT_CAT1_HFP_AG_SERV
- if(headset_Is_connect())
- cat1_ag_send_call_event(TOPIC_EVENT_CAT1_INCOMMING,call_data);
- #endif
if(NotificationManager::GetInstance()->GetWatchCallStatus() &&
(CallerLogModel::GetInstance()->GetCallSource()==CallerLogModel::CallSourceCat1))
}
AlarmClockModel::GetInstance()->AlarmPlayerStop();
#ifdef SUPPORT_CAT1_HFP_AG_SERV
- if(headset_Is_connect())
- {
- cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLCONNTED,NULL);
-
- if(headset_SCO_Is_connect()==false)
- {
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0);
- // cat1_connect_sco_();
+ if(uapi_dev_runtime_get_earphone_connect_stat())
+ {
+
+ if(headset_Is_connect())
+ {
+ if(headset_SCO_Is_connect()==false)
+ {
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_INCOMMING,CallerLogModel::GetInstance()->GetPhoneNumber().c_str());
+ }
+ else
+ {
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START, nullptr, 0);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "headset_Is_connect is false");
+ }
+
}
else
{
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START, nullptr, 0);
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CONNECT_AG, nullptr, 0);
}
-
-
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLCONNTED,NULL);
}
else
#endif
#ifdef SUPPORT_CAT1_HFP_AG_SERV
- if(headset_Is_connect())
+ if(uapi_dev_runtime_get_earphone_connect_stat())
{
-
- cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLDIAL,NULL);
-
- if(headset_SCO_Is_connect()==false)
+ if(headset_Is_connect())
{
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0);
+ cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLDIAL,NULL);
+
+ if(headset_SCO_Is_connect())
+ {
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START, nullptr, 0);
+ }
}
else
{
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START, nullptr, 0);
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CONNECT_AG, nullptr, 0);
}
}
else
// uart_port_register_irq(UART_BUS_0);
osal_irq_enable(UART_1_IRQN);
+ if(UDP_CMD_DIAL_NUMB==cmd)
+ {
+ osal_msleep(50);
+ }
+
if (g_skip_cat1_service_udp_transfer == 1)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP," g_skip_cat1_service_udp_transfer \n");
HandleUpdatelcdMode(4);
break;
case CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT:
- cat1_connect_sco_();
+ cat1_connect_sco_(mail.data[0]);
break;
case CUSTOM_CMD_MSG_CAT_HFP_DIS_SCO_CONNECT:
cat1_disconn_sco_();
break;
- case CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START:
+ case CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START:
cat1_start_SCO_audio_();
break;
- case CUSTOM_CMD_MSG_CAT_AUDIO_END:
+ case CUSTOM_CMD_MSG_CAT_AUDIO_END:
cat1_audio_stop();
break;
+ case CUSTOM_CMD_MSG_CONNECT_AG:
+ hfp_ag_cmd_conn_last_hfp();
+ break;
default:
#define CUSTOM_CMD_MSG_CAT_AUDIO_END 0x1A
+
+#define CUSTOM_CMD_MSG_CONNECT_AG 0x1B
+
typedef enum {
BR_HFP_CONNECT=1,
BR_HFP_DISCONNECT,