From: luozheng <1732036298@qq.com> Date: Wed, 15 Jan 2025 07:37:02 +0000 (+0800) Subject: 解决#1268,手表,使用手机音乐播发歌曲,先暂停音乐后切换歌曲,手表上的暂停状态不会更随变动bug X-Git-Tag: v1.3.113-repair_tp~34 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=18ec2feebcc7cf7ab85899aefb24bf11d4450ddd;p=mirrors%2FFD230.git 解决#1268,手表,使用手机音乐播发歌曲,先暂停音乐后切换歌曲,手表上的暂停状态不会更随变动bug --- 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 70c45b43f..2bfc060c3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersPresenter.cpp @@ -683,19 +683,25 @@ void ButtonOnClickListener::PlayerButtonOnClick() /*下一首按钮被点击时调用*/ void ButtonOnClickListener::NextButtonOnClick() { + PlayersView *playersView = PlayersView::GetInstance(); + if (playersView == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::GetInstance"); + return; + } /* -------------------------- 若ct或tg端是已连接状态且当前为手机音乐 ------------------------- */ if(PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && PlayersModel::GetInstance()->GetMusicSource()) { PlayersModel::GetInstance()->set_phone_music_play_state(AVRCP_KEY_FORWARD); //控制手机音乐下一首 + uint8_t state = UICheckBox::UICheckBoxState::MAX_STATUS_NUM; + state = playersView->GetPlayerButtonState(); + if (PlayersModel::GetInstance()->get_a2dp_sink_playing_state() && state == UICheckBox::UICheckBoxState::UNSELECTED) + { + playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED); + } return; } else { - PlayersView *playersView = PlayersView::GetInstance(); - if (playersView == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::GetInstance"); - return; - } if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && PlayersModel::GetInstance()->get_a2dp_sink_playing_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已播放状态 { @@ -712,19 +718,25 @@ void ButtonOnClickListener::NextButtonOnClick() /*上一首按钮被点击时调用*/ void ButtonOnClickListener::PreButtonOnClick() { + PlayersView *playersView = PlayersView::GetInstance(); + if (playersView == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::GetInstance"); + return; + } /* -------------------------- 若ct或tg端是已连接状态且当前为手机音乐 ------------------------- */ if(PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && PlayersModel::GetInstance()->GetMusicSource()) { PlayersModel::GetInstance()->set_phone_music_play_state(AVRCP_KEY_BACKWARD); //控制手机音乐上一首 + uint8_t state = UICheckBox::UICheckBoxState::MAX_STATUS_NUM; + state = playersView->GetPlayerButtonState(); + if (PlayersModel::GetInstance()->get_a2dp_sink_playing_state() && state == UICheckBox::UICheckBoxState::UNSELECTED) + { + playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED); + } return; } else { - PlayersView *playersView = PlayersView::GetInstance(); - if (playersView == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::GetInstance"); - return; - } if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && PlayersModel::GetInstance()->get_a2dp_sink_playing_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已播放状态 {