* @Author: luozheng 1732036298@qq.com
* @Date: 2024-08-05 15:20:03
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-13 11:11:47
+ * @LastEditTime: 2024-08-13 17:11:32
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersModel.h
*/
bool GetMusicSource();
void SetMusicSource(bool value);
void UpdateMusicPlayerList(void);
+ bool GetCurrentMusicIsPlaying(void);
private:
bool musicSourceFlag{false};//音乐来源标志:false:默认为手表音乐,true:手机音乐
private:
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-08-05 15:20:03\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-13 14:26:21\r
+ * @LastEditTime: 2024-08-13 16:10:15\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersPresenter.h\r
*/\r
\r
void PlayerModelButtonOnClick();\r
void OptionsButtonOnClick();\r
void MusicListButtonOnClick();\r
+ void MusicDeleteButtonOnClick();\r
};\r
\r
// 播放器回调\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-08-05 15:20:03\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-13 15:07:08\r
+ * @LastEditTime: 2024-08-13 16:11:48\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h\r
*/\r
\r
UICheckBox::UICheckBoxState GetPlayerButtonState(void);\r
\r
void UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus);\r
+ void UpdateMusicListStatus(void);\r
\r
VolumeSettingView *GetVolumeSettingView();\r
PlayerListDelSongView *GetPlayerListDelSongView();\r
void PhoneMusicConnectStatusLabelColor(bool state);\r
void OptionsButtonSetImageStyle(ImageInfo *image);\r
void SetMusicPlayerButtonIsTouchable(bool musicSourceType);\r
- void UpdateMusicListStatus(void);\r
\r
private:\r
VolumeSettingView *volumeSettingView{nullptr}; // 声音设置\r
// 删除歌曲文件
void PlayerListDelSongView::DeleteSongNameFile(void)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " whill Deleted file:", delSongName.c_str());
- std::string path = PlayersModel::GetInstance()->GetMusicPlayPath() + delSongName;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " whill Deleted file:%s", delSongName.c_str());
+ std::string path = PlayersModel::GetInstance()->GetMusicPlayPath() + "/" + delSongName;
if (uapi_delete_files(path.c_str()))
{
deleteNotelabel->SetTextId(STR_DELETE_PERMANENTLY);
deleteNotelabel->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
/* -------------------------------------------------------------------------- */
- labelConfig.top = 220;
- songNameLabel = PlayerListDelSongViewLabelInit(labelConfig);
if (songNameLabel == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "songNameLabel new fail!");
- return false;
+ songNameLabel = new UILabelExt();
+ if (songNameLabel == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "songNameLabel new fail!");
+ return false;
+ }
}
+ songNameLabel->SetPosition(53, 220, 360, 35);
+ songNameLabel->SetStyle(STYLE_TEXT_FONT, 30);
+ songNameLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
songNameLabel->SetText("");
+ songNameLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+ songNameLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
songNameLabel->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
+ songNameLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
return true;
}
{\r
item = static_cast<PlayerListItemView *>(inView);\r
}\r
- if (PlayersModel::GetInstance()->GetCurrentIndex() == index)\r
+ if (PlayersModel::GetInstance()->GetCurrentIndex() == index && PlayersModel::GetInstance()->GetCurrentMusicIsPlaying())\r
{\r
item->UpdateItemViewStyle(true);\r
}\r
void PlayersModel::UpdateMusicPlayerList(void)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersModel::UpdateMusicPlayerList");
+ PlayersView *playersView = PlayersView::GetInstance();
+ if (playersView == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OptionsButtonOnClick playersView nullptr err");
+ return;
+ }
+ PlayersListGroup::GetInstance()->SetUpListCase();
+ if(playersView->GetMusicListList())
+ {
+ playersView->GetMusicListList()->RefreshList();
+ playersView->UpdateMusicListStatus();
+ }
+}
+
+/*获取当前音乐是否是在播放中*/
+bool PlayersModel::GetCurrentMusicIsPlaying(void)
+{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersModel::GetMusicIsPlaying");
+ int state = PlayersModel::GetInstance()->GetPlayerState();
+ if (state == PlayerStates::PLAYER_STARTED || state == PlayerStates::PLAYER_PAUSED || state == PlayerStates::PLAYER_PLAYBACK_COMPLETE){
+ return true;
+ }
+ return false;
}
}
\ No newline at end of file
\r
void PlayersListGroup::SetUpListCase()\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersListGroup::SetUpListCase");\r
int16_t ret;\r
if (playersCaseList_ == nullptr) {\r
playersCaseList_ = new List<PlayerCaseInfo>();\r
}\r
// 关闭目录\r
closedir(dirp);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::GetAllFiles end!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::GetAllFiles end!");\r
return OHOS_SUCCESS;\r
}\r
\r
PlayersModel::GetInstance()->ConnectBtAndLocalPause(connCtState, connTgState);\r
}\r
/* -------------------------------------------------------------------------- */\r
+ PlayersModel::GetInstance()->SetCurrentIndex(PlayersModel::GetInstance()->GetCurrentIndex());\r
}\r
\r
/*当声音按钮被点击时候调用*/\r
playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW,PlayersView::MUSIC_LIST_VIEW);\r
return;\r
}\r
-\r
+//当音乐删除按钮被点击时候调用\r
+void ButtonOnClickListener::MusicDeleteButtonOnClick()\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ButtonOnClickListener::MusicDeleteButtonOnClick");\r
+ PlayersView *playersView = PlayersView::GetInstance();\r
+ if (playersView == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OptionsButtonOnClick playersView nullptr err");\r
+ return;\r
+ }\r
+ PlayersListGroup::GetInstance()->SetUpListCase();\r
+ if(playersView->GetMusicListList()) {\r
+ playersView->GetMusicListList()->RefreshList();\r
+ playersView->UpdateMusicListStatus();\r
+ }\r
+ \r
+ return;\r
+}\r
void ButtonOnClickListener::PlayerModelButtonOnClick()\r
{\r
PlayersView *playersView = PlayersView::GetInstance();\r
{\r
//删除音乐回到音乐列表\r
playersView->GetPlayerListDelSongView()->DeleteSongNameFile();\r
- // PlayersListGroup::GetInstance()->SetUpListCase();\r
+ MusicDeleteButtonOnClick();\r
playersView->ChangeView(PlayersView::MUSIC_DELETE_VIEW,PlayersView::MUSIC_LIST_VIEW);\r
}\r
else if(playersView->GetPlayerListDelSongView()!=nullptr && &view == playersView->GetPlayerListDelSongView()->GetCancelDeleteButton()) \r
\r
void PlayersView::UpdateMusicListStatus(void)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::UpdateMusicListStatus");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::UpdateMusicListStatus");\r
if (musicAdapter && musicListIsEmptyImage && musicListIsEmptyLabel && musicList)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "musicNum = %d", musicAdapter->GetCount());\r
//处理手表第一次启动用来跳转主界面的
void HandleWatchFirstPaired(Request *request)
{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "HandleUpdateAIAnswerStr");
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "HandleWatchFirstPaired");
GraphicService::GetInstance()->PostGraphicEvent(
std::bind(&OHOS::RebootAndShutdownModel::HandFirstTimeStartJumpToMainView, &OHOS::RebootAndShutdownModel::GetInstance()));
}
//处理更新OBU Message
void HandleUpdateOBUMessage(Request *request)
{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "HandleUpdateAIAnswerStr");
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "HandleUpdateOBUMessage");
GraphicService::GetInstance()->PostGraphicEvent(
std::bind(&OHOS::OBUMessageModel::UpdateOBUMessageViewData, &OHOS::OBUMessageModel::GetInstance()));
}