From 2bef62f22ca5106c0c4b713c4075774012bcaf65 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E7=BD=97=E6=AD=A3?= <1732036298@qq.com> Date: Tue, 15 Oct 2024 03:02:10 +0000 Subject: [PATCH] Merge #1191 into sdk602patch0911 from refs/changes/1191/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 音乐和录音组件使用时添加判断 * refs/changes/1191/head: (2 commits squashed) - 音乐和录音组件使用时添加判断 - AI思考中界面优化,如果组件new失败,就不Add进容器,保证不死机 Signed-off-by: 罗正 <1732036298@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/1191 --- .../aivoice/src/AivoiceThinkingView.cpp | 47 ++++++++++++++++++- .../nativeui/player/src/PlayersPresenter.cpp | 18 +++---- .../nativeui/player/src/PlayersView.cpp | 9 +++- .../record/src/RecordingPlayerView.cpp | 5 ++ .../record/src/RecordingPresenter.cpp | 4 +- .../msg_center/src/msg_center_customer.cpp | 3 +- 6 files changed, 71 insertions(+), 15 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceThinkingView.cpp b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceThinkingView.cpp index 0f58bf26a..0d224e6ef 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceThinkingView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceThinkingView.cpp @@ -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 diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp index 7e08f45ea..be5a1f5e7 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp @@ -625,10 +625,8 @@ void ButtonOnClickListener::PlayerButtonOnClick() if (GetCurrCallNum() != 0 && GetScoConnectState() == HFP_SCO_STATE_CONNECTED) { if (state == UICheckBox::UICheckBoxState::SELECTED) { playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED); - playersView->GetPlayerButton()->Invalidate(); } else { playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED); - playersView->GetPlayerButton()->Invalidate(); } WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[PlayerButtonOnClick] calling phone"); return; @@ -730,13 +728,19 @@ void ButtonOnClickListener::SoundButtonOnClick() WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick playersView nullptr err"); return; } + VolumeSettingView *volumeSettingView = playersView->GetVolumeSettingView(); + if(volumeSettingView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick volumeSettingView nullptr err"); + return; + } playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_VOLUME_CONTROL_VIEW); - int32_t volume = uapi_systemVolumeGet(); + int32_t volume = uapi_systemVolumeGet(); //获取系统音量 WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "current volume = %d", volume); - if( playersView->GetVolumeSettingView()->GetProgress()) { - playersView->GetVolumeSettingView()->GetProgress()->SetValue(volume); + if(volumeSettingView->GetProgress()) { + volumeSettingView->GetProgress()->SetValue(volume); } - VolumeSliderEventListener *volumeSliderEventListener = playersView->GetVolumeSettingView()->GetVolumeEventListener(); + VolumeSliderEventListener *volumeSliderEventListener = volumeSettingView->GetVolumeEventListener(); if (volumeSliderEventListener == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick volumeSliderEventListener nullptr err"); return; @@ -1618,7 +1622,6 @@ void PlayersPresenter::PlayerbackReset(void) return; } playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED); - playersView->GetPlayerButton()->Invalidate(); } // 播放器按钮复位 @@ -1636,6 +1639,5 @@ void PlayersPresenter::PlayerHeadsetReset(void) playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED); } - playersView->GetPlayerButton()->Invalidate(); } } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp index f3e214c48..912de71e8 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp @@ -152,6 +152,10 @@ namespace OHOS /*获取音乐播放和暂停复选按钮的状态*/ UICheckBox::UICheckBoxState PlayersView::GetPlayerButtonState(void) { + if(play_or_pause_Button == nullptr) + { + return UICheckBox::UICheckBoxState::UNSELECTED; + } return play_or_pause_Button->GetState(); } @@ -167,7 +171,10 @@ namespace OHOS void PlayersView::SetPlayerCtrVolume(float leftVolume, float rightVolume) { - PlayersModel::GetInstance()->GetPlayerCtr()->SetVolume(leftVolume, rightVolume); + if (PlayersModel::GetInstance()->GetPlayerCtr().get() != nullptr) + { + PlayersModel::GetInstance()->GetPlayerCtr()->SetVolume(leftVolume, rightVolume); + } } PlayersView *PlayersView::GetInstance(void) diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp index 160da79f9..e2be3b028 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp @@ -373,6 +373,7 @@ namespace OHOS if (RecordingPlayPauseButton) { RecordingPlayPauseButton->SetState(state); + RecordingPlayPauseButton->Invalidate(); } } @@ -381,6 +382,10 @@ namespace OHOS */ UICheckBox::UICheckBoxState RecordingPlayerView::GetPlayerButtonState(void) { + if (RecordingPlayPauseButton == nullptr) + { + return UICheckBox::UICheckBoxState::UNSELECTED; + } return RecordingPlayPauseButton->GetState(); } diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp index 34393ae3e..46f71344a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 09:14:38 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-10-14 09:43:08 + * @LastEditTime: 2024-10-14 19:26:52 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp */ @@ -720,7 +720,6 @@ namespace OHOS else { p_RecordingPlayerView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED); - p_RecordingPlayerView->GetPlayerButton()->Invalidate(); } PlayerIntrptListener->ResetFlag(); PlayerIntrptListener->SetPaused(true); @@ -767,7 +766,6 @@ namespace OHOS else { p_RecordingPlayerView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED); - p_RecordingPlayerView->GetPlayerButton()->Invalidate(); } /* ------------------------------- 6.重置中断监听器状态 ------------------------------ */ PlayerIntrptListener->ResetFlag(); diff --git a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp index 163e6fb86..a06ade330 100644 --- a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp @@ -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) { -- 2.17.1