#include "AlipayMainView.h"\r
#include "UiConfig.h"\r
#include "alipay_feature.h"\r
+#include "custom_utils.h"\r
\r
namespace OHOS {\r
#define ALIPAY_BIND_SUCCESS_RES_TIMER_LENGTH 3000\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlipayMainView::ChangeBindView");\r
AlipayModel::GetInstance()->AlipayStartBind();\r
+\r
+ /**启动alipay蓝牙服务*/\r
+\r
+ start_alipay_ble_service();\r
+\r
if (container[thisView] == nullptr) {\r
alipayBind = new AlipayBind(presenter_);\r
if (alipayBind == nullptr) {\r
return;\r
\r
Presenter<AlipayMainView>::OnStart();\r
- /**启动alipay蓝牙服务*/\r
- start_alipay_ble_service();\r
+ \r
/* -------------------------------- 设置支付宝界面常亮 ------------------------------- */\r
alipayMode_->AlipayScreenControl(true);\r
/* -------------------------------------------------------------------------- */\r
PhoneAudioManagerSetDeviceConnState(OUT_BLUETOOTH_A2DP, AUDIO_DEVICE_CONNECTED);\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(ACLConnectionSuss, *bdAddr));\r
SendMsgToUIService(EARPHONE_CONNECTED_TO_UI, 0, nullptr, 0);\r
+ uapi_dev_runtime_set_earphone_connect_stat(1);\r
}\r
\r
if (connState == PROFILE_STATE_DISCONNECTED) {\r
if (!ret) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "a2dp disc: gap_br_set_bt_scan_mode ret = 0x%x", ret);\r
}\r
+ uapi_dev_runtime_set_earphone_connect_stat(0);\r
}\r
+ \r
}\r
\r
static void A2dpSrcPlayingStateChanged(bd_addr_t *bdAddr, int playState)\r
static void BleAdvTerminateCallback(uint8_t advId, adv_status_t status)\r
{\r
if (g_sample_adv_id == advId) {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BleAdvTerminateCallback advId: %d, status:%d\n", advId, status);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "?????????? BleAdvTerminateCallback advId: %d, status:%d\n", advId, status);\r
BluetoothModel::GetInstance()->SetAdvStartState(false);\r
+\r
// 此处开广播是为了实验室测试需要,客户需要自己修改\r
BleAdvStart();\r
}\r
\r
int uapi_get_acl_connect_state()\r
{\r
- if( ALC_State_flag==GAP_ACL_STATE_CONNECTED )//|| ALC_State_flag ==GAP_ACL_STATE_LE_DISCONNECTED)\r
- return 1;\r
+ bd_addr_t bdaddr={0};\r
+ uapi_get_br_address(&bdaddr);\r
+ if (bt_is_acl_connected(&bdaddr))\r
+ {\r
+ return 1;\r
+ }\r
else\r
- return 0;\r
+ {\r
+ return 0;\r
+ }\r
}\r
\r
int uapi_set_acl_connect_hfp()\r
{\r
gap_br_set_bt_scan_mode(GAP_SCAN_MODE_NONE, 0);\r
}\r
+//留档保存,方便后面查看此数据是否正确\r
+static uint8_t save_adv_data[BLE_ADV_DATA_MAX_LENGTH] = {0};\r
\r
+void get_adv_data(char *data)\r
+{\r
+ uint32_t data_len=0;\r
+ for(int i=0;i<BLE_ADV_DATA_MAX_LENGTH;i++)\r
+ {\r
+ char UintBUF[3]={0};\r
+ sprintf(UintBUF,"%02X",save_adv_data[i]);\r
+ memcpy_s(data+data_len,2,UintBUF,2);\r
+ data_len+=2;\r
+ }\r
+\r
+}\r
\r
/* adapt ios adv data. *///设置广播和扫描数据\r
static void svr_ble_adv_data_set(int adv_id)\r
if (scan_data_len > BLE_SCAN_DATA_LENTH){\r
scan_data_len = BLE_SCAN_DATA_LENTH;\r
}\r
+ //\r
+ memcpy_s(save_adv_data,BLE_ADV_DATA_MAX_LENGTH,adv_data,BLE_ADV_DATA_MAX_LENGTH);\r
+ \r
adv_data_info.scan_rsp_data = scan_data;//扫描数据\r
adv_data_info.scan_rsp_length = scan_data_len;//扫描长度\r
adv_data_info.adv_data = adv_data;//广播数据 \r
adv_data_info.adv_length = adv_data_len;//广播长度\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "adv_data_info.adv_length:%u. scan_data_len:%d\r\n", adv_data_len,scan_data_len);\r
+\r
gap_ble_set_adv_data(adv_id, &adv_data_info);\r
\r
return;\r
if (adv_id == BLE_ADV_ID) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"svr_ble_adv_stop_cb adv_id: %d, status:%d\n", adv_id, status);\r
ble_adv_start=0;\r
-\r
}\r
}\r
\r
bool get_ble_adv_status(void);
+void get_adv_data(char *data);
+
#ifdef __cplusplus
}
#endif
#include <cerrno>
#include "bleService.h"
#include "sleep/include/SleepModel.h"
-
+#include "BluetoothModel.h"
namespace OHOS
{
return (str);
}
+ static std::string getCurrentWatchadvdata()
+ {
+ uint32_t len = 64;
+ char *buf_advdata = (char *)malloc(len);
+ if (buf_advdata == NULL)
+ return "";
+ get_adv_data(buf_advdata);
+
+ std::string str = std::string(buf_advdata);
+ printf("%s | %s \n", buf_advdata, str.c_str());
+
+ free(buf_advdata);
+ return (str);
+ }
+
+
+
std::string DebugOutputViewEventListener::get_bt_runtime_status_t(void)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DebugOutputViewEventListener::get_bt_runtime_status_t");
std::string result = "bt_powerOn:" + std::to_string(uapi_dev_runtime_get_bt_powerstat()) + " ";
result += "bt_ble_connectstat:" + std::to_string(get_ble_connect()) + " ";
- result += "bt_br_connectstat:" + std::to_string(uapi_dev_runtime_get_br_connect_stat()) + " ";
+ result += "bt_br_connectstat:" + std::to_string(uapi_get_acl_connect_state()) + " ";
result += "bt_earphone_connectstat:" + std::to_string(uapi_dev_runtime_get_earphone_connect_stat()) + " ";
- result += "android_app_connected:" + std::to_string(uapi_dev_runtime_get_android_connection_status()) + " ";
- result += "ble_kumi_service_handler: ";
- result += "ble_factory_service_handler: ";
- result += "ble_alipay_service_handler: ";
- result += "ble_hrs_service_handler: ";
- result += "ble_hid_service_handler: ";
- result += "ble_ancs_client_id:" + std::to_string(uapi_dev_runtime_get_ancs_clientid()) + " ";
- result += "ad2p_service_handler: ";
- result += "spp_service_handler: ";
- result += "hfp_service_handler: ";
+ result += "android_app_connected:" + std::to_string(get_ble_pair()) + " ";
result += "localAddress:" + (getCurrentWatchMacAddress()) + " ";
+result += "advdata:" + (getCurrentWatchadvdata()) + " ";
result += "ble广播状态:" + std::to_string(get_ble_adv_status());
// 蓝牙ble广播开关,基础信息如,地址,广播状态
}
if(imageAnimator)
{
-
+ imageAnimator->Stop();
+ FreeImageInfoArray(winimageInfos, winbasePath.c_str(), 94);
delete imageAnimator;
imageAnimator = nullptr;
}
-
+ if(labelgettag)
+ {
+
+ delete labelgettag;
+ labelgettag = nullptr;
+ }
RootView::GetInstance()->Remove(getView);