Merge #1191 into sdk602patch0911 from refs/changes/1191/head 1192/target/1 1193/target/1 1194/target/1
author罗正 <1732036298@qq.com>
Tue, 15 Oct 2024 03:02:10 +0000 (03:02 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Tue, 15 Oct 2024 03:02:10 +0000 (03:02 +0000)
音乐和录音组件使用时添加判断

* refs/changes/1191/head: (2 commits squashed)

  - 音乐和录音组件使用时添加判断

  - AI思考中界面优化,如果组件new失败,就不Add进容器,保证不死机

Signed-off-by: 罗正 <1732036298@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/1191
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceThinkingView.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/record/src/RecordingPlayerView.cpp
code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp

index 0f58bf2..0d224e6 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-05-07 11:25:58
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-06 18:04:16
+ * @LastEditTime: 2024-10-15 10:14:37
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/AiVoice/src/AivoiceThinkingView.cpp
  */
 #include "aivoice/include/AiVoicePresenter.h"
@@ -265,6 +265,7 @@ namespace OHOS
     UIScrollView *AivoiceThinkingView::CreateAivoiceThinkingView(void)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AivoiceThinkingView::CreateAivoiceThinkingView");
+#if 0
         if (scrollView == nullptr)
         {
             if (!CreateAivoiceThinkingScrollView() || !CreateAivoiceThinkingLabel() ||
@@ -273,11 +274,53 @@ namespace OHOS
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AivoiceThinkingView::CreateAivoiceThinkingView fail!!");
                 return nullptr;
             }
+            
             scrollView->Add(title);
             scrollView->Add(AiVoiceThinkingImageAnimatorView);
             scrollView->Add(cancelThinkButton);
             scrollView->Add(cancelThink);
         }
-        return scrollView;
+#endif
+        if (!CreateAivoiceThinkingScrollView())
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AivoiceThinkingView::CreateAivoiceThinkingScrollView fail!!");
+        }
+        if (!CreateAivoiceThinkingLabel())
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AivoiceThinkingView::CreateAivoiceThinkingLabel fail!!");
+        }
+        if (!CreateAivoiceThinkingButton())
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AivoiceThinkingView::CreateAivoiceThinkingButton fail!!");
+        }
+        if (!CreateAivoiceThinkingImageAnimator())
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AivoiceThinkingView::CreateAivoiceThinkingImageAnimator fail!!");
+        }
+
+        if (scrollView != nullptr)
+        {
+            if (title != nullptr)
+            {
+                scrollView->Add(title);
+            }
+            if (AiVoiceThinkingImageAnimatorView != nullptr)
+            {
+                scrollView->Add(AiVoiceThinkingImageAnimatorView);
+            }
+            if (cancelThinkButton != nullptr)
+            {
+                scrollView->Add(cancelThinkButton);
+            }
+            if (cancelThink != nullptr)
+            {
+                scrollView->Add(cancelThink);
+            }
+            return scrollView;
+        }
+        else
+        {
+            return nullptr;
+        }
     }
 }
\ No newline at end of file
index 7e08f45..be5a1f5 100644 (file)
@@ -625,10 +625,8 @@ void ButtonOnClickListener::PlayerButtonOnClick()
     if (GetCurrCallNum() != 0 && GetScoConnectState() == HFP_SCO_STATE_CONNECTED) {\r
         if (state == UICheckBox::UICheckBoxState::SELECTED) {\r
             playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);\r
-            playersView->GetPlayerButton()->Invalidate();\r
         } else {\r
             playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED);\r
-            playersView->GetPlayerButton()->Invalidate();\r
         }\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[PlayerButtonOnClick] calling phone");\r
         return;\r
@@ -730,13 +728,19 @@ void ButtonOnClickListener::SoundButtonOnClick()
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick playersView nullptr err");\r
         return;\r
     }\r
+    VolumeSettingView *volumeSettingView = playersView->GetVolumeSettingView();\r
+    if(volumeSettingView == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick volumeSettingView nullptr err");\r
+        return;\r
+    }\r
     playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_VOLUME_CONTROL_VIEW);\r
-    int32_t volume = uapi_systemVolumeGet();\r
+    int32_t volume = uapi_systemVolumeGet(); //获取系统音量\r
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "current volume = %d", volume);\r
-    if( playersView->GetVolumeSettingView()->GetProgress()) {\r
-        playersView->GetVolumeSettingView()->GetProgress()->SetValue(volume);\r
+    if(volumeSettingView->GetProgress()) {\r
+        volumeSettingView->GetProgress()->SetValue(volume);\r
     }\r
-    VolumeSliderEventListener *volumeSliderEventListener = playersView->GetVolumeSettingView()->GetVolumeEventListener();\r
+    VolumeSliderEventListener *volumeSliderEventListener = volumeSettingView->GetVolumeEventListener();\r
     if (volumeSliderEventListener == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick volumeSliderEventListener nullptr err");\r
         return;\r
@@ -1618,7 +1622,6 @@ void PlayersPresenter::PlayerbackReset(void)
         return;\r
     }\r
     playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);\r
-    playersView->GetPlayerButton()->Invalidate();\r
 }\r
 \r
 // 播放器按钮复位\r
@@ -1636,6 +1639,5 @@ void PlayersPresenter::PlayerHeadsetReset(void)
         playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);\r
     }\r
 \r
-    playersView->GetPlayerButton()->Invalidate();\r
 }\r
 } // namespace OHOS\r
index f3e214c..912de71 100644 (file)
@@ -152,6 +152,10 @@ namespace OHOS
     /*获取音乐播放和暂停复选按钮的状态*/\r
     UICheckBox::UICheckBoxState PlayersView::GetPlayerButtonState(void)\r
     {\r
+        if(play_or_pause_Button == nullptr)\r
+        {\r
+            return UICheckBox::UICheckBoxState::UNSELECTED;\r
+        }\r
         return play_or_pause_Button->GetState();\r
     }\r
 \r
@@ -167,7 +171,10 @@ namespace OHOS
 \r
     void PlayersView::SetPlayerCtrVolume(float leftVolume, float rightVolume)\r
     {\r
-        PlayersModel::GetInstance()->GetPlayerCtr()->SetVolume(leftVolume, rightVolume);\r
+        if (PlayersModel::GetInstance()->GetPlayerCtr().get() != nullptr) \r
+        {\r
+            PlayersModel::GetInstance()->GetPlayerCtr()->SetVolume(leftVolume, rightVolume);\r
+        }\r
     }\r
 \r
     PlayersView *PlayersView::GetInstance(void)\r
index 160da79..e2be3b0 100644 (file)
@@ -373,6 +373,7 @@ namespace OHOS
         if (RecordingPlayPauseButton)\r
         {\r
             RecordingPlayPauseButton->SetState(state);\r
+            RecordingPlayPauseButton->Invalidate();\r
         }\r
     }\r
 \r
@@ -381,6 +382,10 @@ namespace OHOS
      */\r
     UICheckBox::UICheckBoxState RecordingPlayerView::GetPlayerButtonState(void)\r
     {\r
+        if (RecordingPlayPauseButton == nullptr)\r
+        {\r
+            return UICheckBox::UICheckBoxState::UNSELECTED;\r
+        }\r
         return RecordingPlayPauseButton->GetState();\r
     }\r
 \r
index 34393ae..46f7134 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-03-30 09:14:38\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-10-14 09:43:08\r
+ * @LastEditTime: 2024-10-14 19:26:52\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp\r
  */\r
 \r
@@ -720,7 +720,6 @@ namespace OHOS
                 else\r
                 {\r
                     p_RecordingPlayerView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);\r
-                    p_RecordingPlayerView->GetPlayerButton()->Invalidate();\r
                 }\r
                 PlayerIntrptListener->ResetFlag();\r
                 PlayerIntrptListener->SetPaused(true);\r
@@ -767,7 +766,6 @@ namespace OHOS
                 else\r
                 {\r
                     p_RecordingPlayerView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED);\r
-                    p_RecordingPlayerView->GetPlayerButton()->Invalidate();\r
                 }\r
                 /* ------------------------------- 6.重置中断监听器状态 ------------------------------ */\r
                 PlayerIntrptListener->ResetFlag();\r
index 163e6fb..a06ade3 100644 (file)
@@ -963,7 +963,8 @@ void MsgCenterNotifyCat1dialProc(const Topic topic, Request* req)
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MsgCenterNotify memcpy_s request data fail!");
     } else {
 
-    int ret = PlayersModel::GetInstance()->PlayerStop();
+    // int ret = PlayersModel::GetInstance()->PlayerStop();
+    stopPlayingMusic();
     //uapi_hfp_disconnect();
     if(strcmp(call_data,"SOS")==0)
     {