1. 修复删除音乐歌单不同步问题
authorluozheng <1732036298@qq.com>
Tue, 13 Aug 2024 11:03:15 +0000 (19:03 +0800)
committerluozheng <1732036298@qq.com>
Tue, 13 Aug 2024 11:03:15 +0000 (19:03 +0800)
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersModel.h
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersPresenter.h
code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayerListDelSongView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersCaseListAdapter.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp
code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp

index f4ba5bb..37be7a2 100644 (file)
@@ -2,7 +2,7 @@
  * @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
  */
 
@@ -100,6 +100,7 @@ public:
     bool GetMusicSource();
     void SetMusicSource(bool value);
     void UpdateMusicPlayerList(void);
+    bool GetCurrentMusicIsPlaying(void);
 private:
     bool musicSourceFlag{false};//音乐来源标志:false:默认为手表音乐,true:手机音乐
 private:
index ff9fc97..519943b 100644 (file)
@@ -2,7 +2,7 @@
  * @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
@@ -111,6 +111,7 @@ private:
     void PlayerModelButtonOnClick();\r
     void OptionsButtonOnClick();\r
     void MusicListButtonOnClick();\r
+    void MusicDeleteButtonOnClick();\r
 };\r
 \r
 // 播放器回调\r
index 0a7806d..28bf93c 100644 (file)
@@ -2,7 +2,7 @@
  * @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
@@ -99,6 +99,7 @@ namespace OHOS
         UICheckBox::UICheckBoxState GetPlayerButtonState(void);\r
 \r
         void UpdatePlayerView(bool musicSourceType, bool phoneMusicConnectStatus);\r
+        void UpdateMusicListStatus(void);\r
 \r
         VolumeSettingView *GetVolumeSettingView();\r
         PlayerListDelSongView *GetPlayerListDelSongView();\r
@@ -141,7 +142,6 @@ namespace OHOS
         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
index 352c669..14ed7b8 100644 (file)
@@ -98,8 +98,8 @@ namespace OHOS
     // 删除歌曲文件
     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()))
         {
@@ -187,15 +187,23 @@ namespace OHOS
         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;
     }
index 4351a5d..d18815c 100644 (file)
@@ -162,7 +162,7 @@ namespace OHOS
         {\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
index f8a9d0d..ade1d81 100644 (file)
@@ -781,5 +781,27 @@ void PlayersModel::SetMusicSource(bool value)
 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
index 9821536..b6ddbea 100644 (file)
@@ -417,6 +417,7 @@ void PlayersListGroup::AddCase(PlayerCaseInfo testCaseInfo)
 \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
@@ -561,7 +562,7 @@ int PlayersListGroup::GetAllFiles(std::list<PlayerCaseInfo> &playersList)
     }\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
@@ -612,6 +613,7 @@ void ButtonOnClickListener::PlayerButtonOnClick()
         PlayersModel::GetInstance()->ConnectBtAndLocalPause(connCtState, connTgState);\r
     }\r
     /* -------------------------------------------------------------------------- */\r
+    PlayersModel::GetInstance()->SetCurrentIndex(PlayersModel::GetInstance()->GetCurrentIndex());\r
 }\r
 \r
 /*当声音按钮被点击时候调用*/\r
@@ -661,7 +663,23 @@ void ButtonOnClickListener::MusicListButtonOnClick()
     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
@@ -728,7 +746,7 @@ bool ButtonOnClickListener::OnClick(UIView& view, const ClickEvent& event)
     {\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
index 7dfc124..443ba94 100644 (file)
@@ -863,7 +863,7 @@ namespace OHOS
 \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
index 2144a50..d3f7eee 100644 (file)
@@ -581,7 +581,7 @@ void HandleUpdateAIAnswerStr(Request *request)
 //处理手表第一次启动用来跳转主界面的
 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()));
 }
@@ -589,7 +589,7 @@ void HandleWatchFirstPaired(Request *request)
 //处理更新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()));
 }