buffer_handle->file_recv_stat.lrcvalue = 0;\r
buffer_handle->receive_file_flag = 0;\r
\r
+ //进入特殊UI\r
+ TRANSMIT_DATA=TRANS_DIAL_TRANSMITTING;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+\r
free(filename);\r
return ERRCODE_SUCC;\r
\r
{\r
case 1: //ota\r
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_STARTOTA,NULL,0);\r
+ \r
+ TRANSMIT_DATA=TRANS_OTA_SUCC;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+ \r
+\r
break;\r
case 2://mp3\r
\r
case 3://dial\r
//TODO: 设置成当前下载的表盘\r
if (install_dial() == ERRCODE_SUCC)\r
+ {\r
+ \r
+ TRANSMIT_DATA= TRANS_DIAL_SUCC;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+\r
ble_reply_cmd(DIAL_INSTALL_REPY_CMD,1);\r
+ }\r
else\r
+ {\r
+ TRANSMIT_DATA= TRANS_DIAL_FAIL;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+\r
ble_reply_cmd(DIAL_INSTALL_REPY_CMD,0);\r
+\r
+ }\r
+ \r
break;\r
default:\r
break;\r
}\r
}else{\r
- ble_reply_cmd(FILE_CHECKSUM_RECV_CMD,2); \r
+ ble_reply_cmd(FILE_CHECKSUM_RECV_CMD,2);\r
+ switch (buffer_handle->file_recv_stat.file_type)\r
+ {\r
+ case 1: //ota\r
+ TRANSMIT_DATA=TRANS_OTA_FAIL;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+ break;\r
+ case 2://mp3\r
+\r
+ break;\r
+ case 3://dial\r
+ TRANSMIT_DATA= TRANS_DIAL_FAIL;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+ ble_reply_cmd(DIAL_INSTALL_REPY_CMD,0); \r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+\r
}\r
}else{\r
ble_reply_cmd(FILE_CHECKSUM_RECV_CMD,0);\r
+ switch (buffer_handle->file_recv_stat.file_type)\r
+ {\r
+ case 1: //ota\r
+ TRANSMIT_DATA=TRANS_OTA_FAIL;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+ break;\r
+ case 2://mp3\r
+\r
+ break;\r
+ case 3://dial\r
+ TRANSMIT_DATA= TRANS_DIAL_FAIL;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+ ble_reply_cmd(DIAL_INSTALL_REPY_CMD,0); \r
+ break;\r
+ default:\r
+ break;\r
+ }\r
}\r
\r
}\r
return ERRCODE_SUCC;\r
}\r
\r
+uint8_t OTA_FILE_value=0;\r
+\r
+uint8_t get_OTA_recv_value()\r
+{\r
+ return OTA_FILE_value;\r
+}\r
+\r
+void Set_OTA_recv_value()\r
+{\r
+ OTA_FILE_value=0;\r
+ return;\r
+}\r
\r
errcode_t handle_recv_file(ble_read_data *buffer_handle,uint8_t *data, uint16_t event_size)\r
{\r
return ERRCODE_FAIL;\r
}\r
buffer_handle->file_recv_stat.recv_file_stat = 1;\r
+ OTA_FILE_value=0;\r
}\r
\r
if (buffer_handle->file_recv_stat.file == NULL)\r
buffer_handle->file_recv_stat.lrcvalue = calculate_lrc(data,event_size,buffer_handle->file_recv_stat.lrcvalue);\r
buffer_handle->file_recv_stat.received_size += event_size;\r
printf("handle_recv_file received_size %d\n",buffer_handle->file_recv_stat.received_size);\r
+ OTA_FILE_value= ((float) buffer_handle->file_recv_stat.received_size / (float)buffer_handle->file_recv_stat.file_size) *100;\r
\r
}else{\r
printf("handle_recv_file write file failed! ret %d != %d\n",writtensize,event_size);\r
buffer_handle->receive_file_flag = 0;\r
printf("handle_recv_file received success \n");\r
\r
- if (buffer_handle->file_recv_stat.file_type == 1)\r
- {\r
- TRANSMIT_DATA=TRANS_OTA_SUCC;\r
- CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
- }\r
+ \r
ble_reply_cmd(FILE_RECV_REPLY_STAT_CMD,1);//接收成功\r
}\r
\r
#include "custom_utils.h"
#include "components/ui_slider.h"
// #include "UiConfig.h"
+#include "bleEvent.h"
namespace OHOS
{
}
static osTimerId_t transmitting_timer= NULL;
+
void Freetransmitting(void)
{
if (UIViewGroup_transmitting != nullptr)
delete downImageAnimatorView;
downImageAnimatorView = nullptr;
}
- if(updatasider)
+ if(updatasider)
{
delete updatasider;
updatasider = nullptr;
}
+ if(transmitting_timer)
+ {
+ osStatus_t ret = osTimerDelete(transmitting_timer);
+ if (ret != osOK) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Disatransmitting_timer failed ret = %lx!", ret);
+ return;
+ }
+ transmitting_timer = nullptr;
+ }
RootView::GetInstance()->Remove(UIViewGroup_transmitting);
}
}
static uint8_t timer_falg_low_power=5;
-
+
+ void OTATimerCallBack(int data)
+ {
+ updatasider->SetValue(get_OTA_recv_value());
+ RootView::GetInstance()->Invalidate();
+ }
+
+
void creat_down_OTA()
{
const char *imagesPath = TRANSMITTING_OTA_DOWN;
transmitting_img->SetSrc(imagesPath);
UIViewGroup_transmitting->Add(transmitting_img);
+
+ uint32_t tick;
+ osStatus_t retTimer;
+
+ Set_OTA_recv_value();
+ transmitting_timer = osTimerNew((osTimerFunc_t)OTATimerCallBack, osTimerPeriodic, NULL, NULL);
+ tick =500;// osMs2Tick(1000);
+ retTimer = osTimerStart(transmitting_timer, tick);
+ if (retTimer != osOK && transmitting_timer != NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"StartCallTimer osTimerStart failed, ret = %lx!!", retTimer);
+ osTimerDelete(transmitting_timer);
+ transmitting_timer = NULL;
+ return ;
+ }
}