}\r
else if (conn_state==PROFILE_STATE_CONNECTING || conn_state==PROFILE_STATE_CONNECTED)\r
{\r
+#ifdef BR_DISCONNECT\r
+ if(!cm_get_A2DP_switch())\r
+ {\r
+ uapi_a2dp_snk_disconnect();\r
+ return;\r
+ }\r
+\r
+ if(cm_get_HFP_switch() && uapi_hfp_connect_state()==0)\r
+ {\r
+ uapi_hfp_connect();\r
+ }\r
+#endif\r
SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
- if(pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTING ||\r
- pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTED)\r
- uapi_pbap_cmd_start_client();\r
+ // if(pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTING ||\r
+ // pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTED)\r
+ // uapi_pbap_cmd_start_client();\r
// if(conn_state==PROFILE_STATE_CONNECTED)\r
// {\r
// if(pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTED)\r
uapi_get_br_address(&bdaddr);\r
\r
int ret = a2dp_snk_disconnect(&bdaddr);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"state(int): %d\n", ret);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"state(int): %X\n", ret);\r
return ret;\r
}\r
\r
#include "ui_resource_string.h"
#include "cmsis_os2.h"
#include "graphic_service.h"
-
+#include "ConfigModelC.h"
namespace OHOS
{
static BluetoothServiceOptionsView *g_pBluetoothServiceOptionsView{nullptr};
static osTimerId_t MG_TEST_timer=NULL;
static uint8_t button_state=0;
static uint8_t count_num=0;
-
+ static uint8_t connect_state=0;
bool BluetoothServiceOptionsView::get_connectview_Visible(void)
{
return connectingScrollView->IsVisible();
static void connectTimerCallBackProc(int data)
{
- bool connect_state=false;
+
count_num++;
switch (button_state)
{
case BluetoothServiceOptionsView::CONNECT_HFP:
if(uapi_hfp_connect_state())
{
- //BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+ if(cm_get_A2DP_switch()&&uapi_a2dp_snk_get_device_connect_state())
+ {
+ connect_state++;
+ }
+ else if(!cm_get_A2DP_switch())
+ {
+ connect_state++;
+ }
+
+
}
break;
case BluetoothServiceOptionsView::DISCONNECT_HFP:
if(!uapi_hfp_connect_state())
{
//BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+
+ {
+ connect_state++;
+ }
+
}
break;
case BluetoothServiceOptionsView::CONNECT_A2DP:
if(uapi_a2dp_snk_get_device_connect_state())
{
//BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+ connect_state++;
}
break;
case BluetoothServiceOptionsView::DISCONNECT_A2DP:
if(!uapi_a2dp_snk_get_device_connect_state())
{
//BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+ connect_state++;
}
break;
break;
}
- if(count_num==9 || connect_state)
+ if(count_num==9 || connect_state>=2)
{
if( BluetoothServiceOptionsView::GetInstance())
BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
}
MG_TEST_timer = osTimerNew((osTimerFunc_t)connectTimerCallBack, osTimerPeriodic, NULL, NULL);
tick =500;
+ connect_state=0;
+
retTimer = osTimerStart(MG_TEST_timer, tick);
if (retTimer != osOK && MG_TEST_timer != NULL) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"StartCallTimer osTimerStart failed, ret = %lx!!", retTimer);
#include "BluetoothModel.h"\r
#include "custom_runtime.h"\r
#include "ConfigModelC.h"\r
+#include "PhoneService.h"\r
namespace OHOS\r
{\r
// 当前Presenter属性实例化的内存指针\r
uapi_get_br_address(&bdaddr);\r
if( uapi_dev_runtime_get_bt_powerstat() && (cm_get_HFP_switch()||cm_get_A2DP_switch()))\r
{\r
- if (false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
+ if ( cm_get_HFP_switch()&& cm_get_A2DP_switch() && false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
&& bdaddr.addr[4]==0 && bdaddr.addr[5]==0))\r
{\r
int ret = gap_reconnect_media_device(&bdaddr);\r
else\r
{\r
\r
- if(cm_get_A2DP_switch() || cm_get_HFP_switch())\r
- uapi_a2dp_snk_connect();\r
+ if(cm_get_A2DP_switch())\r
+ {\r
+ uapi_a2dp_snk_connect();\r
+ }\r
+ if(cm_get_HFP_switch())\r
+ {\r
+ uapi_hfp_connect();\r
+ }\r
+\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_a2dp_snk_connect!!! \r\n");\r
}\r
\r
#include "ohos_types.h"
#include "PhoneAudio.h"
+#define BR_DISCONNECT
+
#ifdef __cplusplus
extern "C" {
#endif
#include "custom_runtime.h"
#include "vibrator_service.h"
#include "gfx_utils/mem_api.h"
-#include "ConfigModel.h"
+#include "ConfigModelC.h"
#include "cat1_ctl.h"
#ifdef __cplusplus
extern "C" {
switch (state) {
case PROFILE_STATE_CONNECTING: // 蓝牙正在连接
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connecting");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connecting");
+ #ifdef BR_DISCONNECT
+ if(!cm_get_HFP_switch())
+ {
+ uapi_hfp_disconnect();
+ return;
+ }
+ #endif
break;
case PROFILE_STATE_CONNECTED: // 蓝牙连接成功
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connected");
+ #ifdef BR_DISCONNECT
+ if(!cm_get_HFP_switch())
+ {
+ uapi_hfp_disconnect();
+ return;
+ }
+
+ if(cm_get_A2DP_switch() && OHOS::uapi_a2dp_snk_get_device_connect_state()==0)
+ {
+ OHOS::uapi_a2dp_snk_connect();
+ }
+
+ #endif
BtConnectedPro(bdAddr);
SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);
uapi_pbap_cmd_start_client();
}
}
+#include "los_base.h"
+
int uapi_hfp_disconnect_(void)
{
int ret;
int uapi_hfp_connect_(void)
{
+ // if(uapi_hfp_connect_state()==1)
+ // {
+ // return;
+ // }
int ret;
bd_addr_t bdaddr={0};
OHOS:: uapi_get_br_address(&bdaddr);
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[bt_is_acl_connected is true");
ret = hfp_hf_connect(&bdaddr);
- if(ret!=ERRCODE_SUCC)
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[uapi_hfp_connect] ret:%X", ret);
+ if(ret==0x8000600B)
{
- ret=gap_reconnect_media_device(&bdaddr);
+ gap_disconnect_remote_device(&bdaddr);
+ sleep(1);
+ //if(ret!=ERRCODE_SUCC)
+ {
+ ret=gap_reconnect_media_device(&bdaddr);
+ }
+
+
+ }
+ else
+ {
+ if(ret!=ERRCODE_SUCC)
+ {
+ ret=gap_reconnect_media_device(&bdaddr);
+ }
}
+
+
+
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[uapi_hfp_connect] ret:%X", ret);
}
\r
#define MAX_BLE_EVENT_DIAL_NUM (10) //表盘最大数量\r
\r
+#include "upg_common_porting.h"\r
+\r
+\r
uint32_t packdataLen = 0;\r
uint32_t totalDataLen = 0;\r
uint8_t totalpack = 0;\r
ble_read_data* ble_read_timer_p=NULL;\r
\r
#ifdef SINGLE_USER_PARTITION\r
-#define UP_DATE_FWPKG_PATH "/user/update/update.fwpkg" \r
+#define UP_DATE_FWPKG_PATH UPG_FILE_NAME \r
\r
#else\r
-#define UP_DATE_FWPKG_PATH "/update/update.fwpkg"\r
+#define UP_DATE_FWPKG_PATH UPG_FILE_NAME\r
#endif\r
\r
\r
uapi_get_br_address(&bdaddr);\r
if( uapi_dev_runtime_get_bt_powerstat() && (cm_get_HFP_switch()||cm_get_A2DP_switch()))\r
{\r
- if (false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
+ \r
+ if(cm_get_A2DP_switch() && cm_get_A2DP_switch() && false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
&& bdaddr.addr[4]==0 && bdaddr.addr[5]==0))\r
{\r
- int ret = gap_reconnect_media_device(&bdaddr);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " gap_reconnect_media_device ret = %u %02x %02x %02x ", ret,bdaddr.addr[5],bdaddr.addr[4],bdaddr.addr[3]);\r
+ gap_reconnect_media_device(&bdaddr);\r
}\r
- else\r
+ else if(cm_get_A2DP_switch())\r
{\r
- \r
- if(cm_get_A2DP_switch() || cm_get_HFP_switch())\r
uapi_a2dp_snk_connect();\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_a2dp_snk_connect!!! \r\n");\r
+ }\r
+ else if(cm_get_HFP_switch())\r
+ {\r
+ uapi_hfp_connect();\r
}\r
\r
}\r
#include "custom_runtime.h"\r
#include "custom_utils.h"\r
#include "bletest.h"\r
+#include "ConfigModelC.h"\r
#ifdef SUPPORT_AT_CYWEE\r
#include "cywee_ble_Service.h"\r
#endif\r
\r
if(get_ble_pair()&&( cm_get_A2DP_switch() || cm_get_HFP_switch()))\r
{\r
- int ret=gap_reconnect_media_device(addr);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_reconnect_media_device!!! %X\r\n",ret);\r
+ if(cm_get_A2DP_switch() && cm_get_A2DP_switch())\r
+ {\r
+ int ret=gap_reconnect_media_device(addr);\r
+ }\r
+ else if(cm_get_A2DP_switch())\r
+ {\r
+ uapi_a2dp_snk_connect();\r
+ }\r
+ else if(cm_get_HFP_switch())\r
+ {\r
+ uapi_hfp_connect();\r
+ }\r
+\r
+\r
}\r
else\r
{ \r
} \r
}\r
hand_watch_first_time_Paired();\r
- svr_ble_adv_stop();\r
\r
}\r
}\r
/******************* gap_ble ************************************/\r
void svr_gap_ble_auth_complete_callback(uint16_t conn_id, const bd_addr_t *addr, errcode_t status,ble_auth_info_evt_t* evt)\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sendParieSuccess");\r
+\r
+\r
sendParieSuccess(1,addr);\r
uapi_set_br_address(addr);\r
}\r