解决播放音乐过程中接电话后死机bug
authorluozheng <1732036298@qq.com>
Mon, 14 Oct 2024 11:17:56 +0000 (19:17 +0800)
committerluozheng <1732036298@qq.com>
Mon, 14 Oct 2024 11:17:56 +0000 (19:17 +0800)
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp

index dffca05..64f4778 100644 (file)
@@ -916,6 +916,10 @@ bool PlayersModel::GetCurrentMusicIsPlaying(void)
         {
             return;
         }
+        if(PlayersPresenter::GetInstance() == nullptr)
+        {
+            return;
+        }
         if(PlayersModel::GetInstance()->GetMusicSource() == false) //如果当前为本地音乐
         {
             int32_t playerState;
index adddd0a..7e08f45 100644 (file)
@@ -985,7 +985,6 @@ static void Pause(void)
                 PlayersModel::GetInstance()->SetPlayButtonState(false);\r
             } else {\r
                 playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);\r
-                playersView->GetPlayerButton()->Invalidate();\r
             }\r
             PlayerIntrptListener->RestFlag();\r
             PlayerIntrptListener->SetPaused(true);\r
@@ -1027,7 +1026,6 @@ static void Resume(void)
                 PlayersModel::GetInstance()->SetPlayButtonState(true);\r
             } else {\r
                 playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED);\r
-                playersView->GetPlayerButton()->Invalidate();\r
             }\r
             PlayerIntrptListener->RestFlag();\r
             PlayerIntrptListener->SetResumed(true);\r
index 46eaaee..163e6fb 100644 (file)
@@ -71,6 +71,7 @@
 #include "vibrator_service.h"
 #include "respiratorytraining/include/RespiratoryTrainingModel.h"
 #include "main/include/PullUpDownView.h"
+#include "player/include/PlayersModelC.h"
 
 #define DIALDATASET 1
 //#include "Systemupgrade.h"
@@ -905,7 +906,8 @@ void MsgCenterNotifyCatIncomingCallProc(const Topic topic, Request* req)
         }
     
 
-        int ret = PlayersModel::GetInstance()->PlayerStop();
+        // int ret = PlayersModel::GetInstance()->PlayerStop();
+        stopPlayingMusic();
 
         const power_display_svr_api_t *display_api = power_display_svr_get_api();
         if (display_api->get_screen_state() != SCREEN_ON)