buffer_handle->file_recv_stat.received_size = 0;\r
buffer_handle->file_recv_stat.lrcvalue = 0;\r
buffer_handle->receive_file_flag = 1;\r
+ TRANSMIT_DATA=TRANS_MP3_TRANSMITTING;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+\r
return ERRCODE_SUCC;\r
+\r
}else{\r
buffer_handle->receive_file_flag = 0; \r
return ERRCODE_FAIL;\r
\r
break;\r
case 2://mp3\r
-\r
+ TRANSMIT_DATA=TRANS_MP3_SUCC;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+ \r
ble_reply_cmd(DIAL_INSTALL_REPY_CMD,1);\r
ble_mp3_list_update();\r
\r
CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
break;\r
case 2://mp3\r
+ TRANSMIT_DATA=TRANS_MP3_FAIL;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
\r
break;\r
case 3://dial\r
CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
break;\r
case 2://mp3\r
+ TRANSMIT_DATA=TRANS_MP3_FAIL;\r
+ CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+ \r
break;\r
case 3://dial\r
TRANSMIT_DATA= TRANS_DIAL_FAIL;\r
return ERRCODE_FAIL;\r
}\r
}\r
+//MP3文件重命名\r
+static errcode_t create_mp3_name(char* path,char*dir_path ,char* file_name)\r
+{\r
+\r
+ sprintf_s(path,256,"%s/",dir_path);\r
+ uint16_t path_len=strlen(path);\r
+\r
+ if(strstr(file_name,".mp3"))\r
+ {\r
+ int len=strlen(file_name)-strlen(".mp3");\r
+ for(int i=0;i<len;i++)\r
+ {\r
+ char UintBUF[3]={0};\r
+ sprintf(UintBUF,"%02X",file_name[i]);\r
+ memcpy_s(path+path_len,2,UintBUF,2);\r
+ path_len+=2;\r
+ }\r
+ memcpy_s(path+path_len,strlen(".mp3"),".mp3",strlen(".mp3"));\r
+ return ERRCODE_SUCC;\r
+ }\r
+ return ERRCODE_FAIL;\r
+ \r
+}\r
errcode_t handle_recv_file(ble_read_data *buffer_handle,uint8_t *data, uint16_t event_size)\r
{\r
\r
char musicpath[64]={0};\r
get_music_path(musicpath,64);\r
char filepath[256]={0};\r
- sprintf_s(filepath,256,"%s/%s",musicpath,buffer_handle->file_recv_stat.file_name);\r
+ create_mp3_name(filepath,musicpath,buffer_handle->file_recv_stat.file_name);\r
+\r
buffer_handle->file_recv_stat.file = fopen(filepath,"w+");\r
printf("%s\r\n",filepath);\r
}\r
UIViewGroup_transmitting->Add(downImageAnimatorView);
}
-
+ void creat_down_MP3()
+ {
+ if (Title == nullptr) {
+ Title = new UILabel();
+ }
+ Title->SetPosition(158, 51); // widget's left position and top position
+ Title->Resize(800, 88); // widget's width and height
+ Title->SetViewId("label1");// Set style
+ Title->SetStyle(STYLE_TEXT_FONT, 30);
+
+ // Set additional property
+ Title->SetText("音乐传输中");
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+ Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ Title->SetRollSpeed(0);
+ Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+ // Add to rootView
+ UIViewGroup_transmitting->Add(Title);
+ Title->SetVisible(true);
+
+
+ if (label_ == nullptr) {
+ label_ = new UILabel();
+ }
+ label_->SetPosition(60, 281); // widget's left position and top position
+ label_->Resize(345, 101); // widget's width and height
+ label_->SetViewId("label2");// Set style
+ label_->SetStyle(STYLE_TEXT_FONT, 30);
+
+ // Set additional property
+ label_->SetText("正在传输音乐,请不要做其他操作或关闭手表");
+ label_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ label_->SetTextColor(Color::GetColorFromRGBA(0xAA, 0xAA, 0xAA, 0xff));
+ label_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ label_->SetRollSpeed(0);
+ label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+ // Add to rootView
+ UIViewGroup_transmitting->Add(label_);
+ label_->SetVisible(true);
+
+ CreatetransmittingAnimator();
+ // UIViewGroup_transmitting->Add(updatasider);
+
+ UIViewGroup_transmitting->Add(downImageAnimatorView);
+ }
+
+ void creat_down_MP3_succ()
+ {
+ if (Title == nullptr) {
+ Title = new UILabel();
+ }
+ Title->SetPosition(173, 51); // widget's left position and top position
+ Title->Resize(800, 88); // widget's width and height
+ Title->SetViewId("label1");// Set style
+ Title->SetStyle(STYLE_TEXT_FONT, 30);
+
+ // Set additional property
+ Title->SetText("传输成功");
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+ Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ Title->SetRollSpeed(0);
+ Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+ // Add to rootView
+ UIViewGroup_transmitting->Add(Title);
+ Title->SetVisible(true);
+
+
+ if (label_ == nullptr) {
+ label_ = new UILabel();
+ }
+ label_->SetPosition(60, 281); // widget's left position and top position
+ label_->Resize(345, 101); // widget's width and height
+ label_->SetViewId("label2");// Set style
+ label_->SetStyle(STYLE_TEXT_FONT, 30);
+
+ // Set additional property
+ label_->SetText("音乐传输成功正在校验,请稍等");
+ label_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ label_->SetTextColor(Color::GetColorFromRGBA(0xAA, 0xAA, 0xAA, 0xff));
+ label_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ label_->SetRollSpeed(0);
+ label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+
+
+ if (transmitting_img == nullptr)
+ {
+ transmitting_img = new UIImageView();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemUpdateView::KUMILOGOImage new fail!");
+ }
+ transmitting_img->SetPosition(193, 150,80, 80);
+ const char *imagesPath = TRANSMITTING_SUCC_PATH;
+ transmitting_img->SetSrc(imagesPath);
+ UIViewGroup_transmitting->Add(transmitting_img);
+
+ uint32_t tick;
+ osStatus_t retTimer;
+ if(transmitting_timer!=NULL)
+ {
+ osTimerStop(transmitting_timer);
+ osTimerDelete(transmitting_timer);
+ transmitting_timer = NULL;
+ }
+ transmitting_timer = osTimerNew((osTimerFunc_t)dialtimerCallBack, osTimerPeriodic, NULL, NULL);
+ tick =2000;// 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 ;
+ }
+
+ // Add to rootView
+ UIViewGroup_transmitting->Add(label_);
+ label_->SetVisible(true);
+ }
}
+ void creat_down_MP3_fail()
+ {
+ if (Title == nullptr) {
+ Title = new UILabel();
+ }
+ Title->SetPosition(173, 51); // widget's left position and top position
+ Title->Resize(800, 88); // widget's width and height
+ Title->SetViewId("label1");// Set style
+ Title->SetStyle(STYLE_TEXT_FONT, 30);
+
+ // Set additional property
+ Title->SetText("传输失败");
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+ Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ Title->SetRollSpeed(0);
+ Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+ // Add to rootView
+ UIViewGroup_transmitting->Add(Title);
+ Title->SetVisible(true);
+
+
+ if (label_ == nullptr) {
+ label_ = new UILabel();
+ }
+ label_->SetPosition(60, 281); // widget's left position and top position
+ label_->Resize(345, 101); // widget's width and height
+ label_->SetViewId("label2");// Set style
+ label_->SetStyle(STYLE_TEXT_FONT, 30);
+
+ // Set additional property
+ label_->SetText("音乐传输失败,请退出或重新安装");
+ label_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ label_->SetTextColor(Color::GetColorFromRGBA(0xAA, 0xAA, 0xAA, 0xff));
+ label_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ label_->SetRollSpeed(0);
+ label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+
+
+ if (transmitting_img == nullptr)
+ {
+ transmitting_img = new UIImageView();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemUpdateView::KUMILOGOImage new fail!");
+ }
+ transmitting_img->SetPosition(193, 150,80, 80);
+ const char *imagesPath = TRANSMITTING_FAIL_PATH;
+ transmitting_img->SetSrc(imagesPath);
+ UIViewGroup_transmitting->Add(transmitting_img);
+
+ // Add to rootView
+ UIViewGroup_transmitting->Add(label_);
+ label_->SetVisible(true);
+
+
+
+ }
case TRANS_OTA_FAIL:
creat_down_OTA_FAIL();
break;
+ case TRANS_MP3_TRANSMITTING:
+ creat_down_MP3();
+ break;
+ case TRANS_MP3_SUCC:
+ creat_down_MP3_succ();
+ break;
+ case TRANS_MP3_FAIL:
+ creat_down_MP3_fail();
+ break;
+
default:
break;
}
bool transmittingViewEventListener::OnClick(UIView& view, const ClickEvent& event)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick");
- if(Transmitting_falg!=TRANS_DIAL_TRANSMITTING && Transmitting_falg!=TRANS_OTA_TRANSMITTING)
+ if(Transmitting_falg!=TRANS_DIAL_TRANSMITTING && Transmitting_falg!=TRANS_OTA_TRANSMITTING && Transmitting_falg!=TRANS_MP3_TRANSMITTING)
{
NotificationManager::GetInstance()->StopNotify();
}