${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/PlayersCaseListAdapter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/PlayerListDelSongView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/PlayerListitemView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/player/src/MusicPlayerTipView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/activity/src/MainActivityView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/activity/src/ActivityWeekView.cpp
--- /dev/null
+#ifndef __MUSIC_PLAYER_TIP_VIEW_H__
+#define __MUSIC_PLAYER_TIP_VIEW_H__
+
+#include "components/ui_label_ext.h"
+#include "components/ui_view_group.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_image_view.h"
+#include "components/ui_button.h"
+
+namespace OHOS
+{
+ class MusicPlayerTipView : public UIView::OnClickListener
+ {
+ public:
+ MusicPlayerTipView();
+ ~MusicPlayerTipView();
+ static MusicPlayerTipView *GetInstance(void);
+
+ UIViewGroup * CreateMusicPlayerTipView(void);
+ bool OnClick(UIView &view, const ClickEvent &event);
+
+
+ private:
+ void ClearAll(void);
+ UIViewGroup *group{nullptr};
+ UIScrollView *scrollView{nullptr};
+ UIImageView *image{nullptr};
+ UILabelExt *noteLabel{nullptr};
+ UILabelExt *OKLabel{nullptr};
+ UIButton *OkButton{nullptr};
+ UIView::OnDragListener *dragListener{nullptr};
+ };
+
+} // namespace OHOS
+
+#endif
\ No newline at end of file
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-08-05 15:20:03\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-09-24 15:01:01\r
+ * @LastEditTime: 2024-10-19 14:33:19\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersPresenter.h\r
*/\r
\r
#define MUSIC_PLAYER_DELETE_VIEW "MusicPlayerDeleteView" //音乐删除视图的滑动监听\r
#define MUISC_PLAYER_BLUETOOTH_DISCONN_VIEW "MusicPlayerBluetoothDisConView" //蓝牙未连接视图的滑动监听\r
#define MUISC_PLAYER_BLUETOOTH_CONNECTFAILED_VIEW "MusicPlayerBluetoothConncetFailedView" //蓝牙连接失败视图的滑动监听\r
+#define MUISC_PLAYER_TIP_VIEW "MusicPlayerTipView" //音乐播放器Tip视图的滑动监听\r
#define TIPS_SUCC_MESSAGE_VIEW "TipsSuccMessageView" \r
#define TIPS_FAIL_MESSAGE_VIEW "TipsFailMessageView"\r
#define TIPS_CONN_FAIL_MESSAGE_VIEW "TipsConnFailMessageView"\r
void OnDragChangMusicPlayerDeleteView(const DragEvent& event);\r
void OnDragChangMusicPlayerBTDisConnectView(const DragEvent& event);\r
void OnDragChangMusicPlayerBTConnectFailedView(const DragEvent& event);\r
+ void OnDragChangMusicPlayerTipView(const DragEvent& event);\r
void DropEarPhoneView(const DragEvent& event);\r
void DropEarListView(const DragEvent& event);\r
void CorrespondingJump(const DragEvent& event, int16_t hideView);\r
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-08-05 15:20:03\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-09-18 19:13:53\r
+ * @LastEditTime: 2024-10-19 14:38:21\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/include/PlayersView.h\r
*/\r
\r
#include "player/include/MusicPlayerBluetoothDisConView.h"\r
#include "player/include/MusicPlayerBTConnectFailedView.h"\r
#include "aivoice/include/AiVoiceConnectingView.h"\r
+#include "player/include/MusicPlayerTipView.h"\r
namespace OHOS\r
{\r
#define PLAY_PROGRESS_MIN 0\r
MUISC_BLUETOOTH_HEADSET_LIST_VIEW, // 蓝牙耳机列表视图\r
MUSIC_CONNECTED_BLUETOOTH_HEADSET_VIEW, // 已连接的蓝牙耳机设备视图\r
MUSIC_PHONE_BLUETOOTH_CONNECT_FAIL_VIEW, // 与手机蓝牙连接失败视图\r
+ MUSIC_PLAYER_TIP_VIEW, // 音乐播放器Tip视图\r
MUSICPLAYERJUMPVIEWID_MAX,\r
};\r
PlayersView();\r
bool ChangeToMusicBluetoothDisConnectView(int16_t thisView);\r
bool ChangeToMusicBluetoothConnectFailedView(int16_t thisView);\r
bool ChangeToMusicConnectingView(int16_t thisView);\r
+ bool ChangeToMusicPlayerTipView(int16_t thisView);\r
\r
private:\r
UIButton *PlayerViewButtonInit(ButtonConfig &buttonconfig);\r
MusicPlayerBluetoothDisConView *musicPlayerBluetoothDisConView{nullptr}; // 蓝牙未连接视图\r
MusicPlayerBTConnectFailedView *musicPlayerBTConnectFailedView{nullptr}; // 蓝牙连接失败视图\r
AiVoiceConnectingView *musicPlayerConnectingView{nullptr}; // 连接动画\r
+ MusicPlayerTipView * musicPlayerTipView{nullptr}; // 音乐播放器Tip视图\r
\r
private:\r
UIView::OnClickListener *clickListener{nullptr};\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-08-12 11:31:43
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-12 11:15:50
+ * @LastEditTime: 2024-10-19 11:51:53
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp
*/
#include "player/include/MusicPlayerBTConnectFailedView.h"
delete scrollView;
scrollView = nullptr;
}
+ if (dragListener)
+ {
+ delete dragListener;
+ dragListener = nullptr;
+ }
delete group;
group = nullptr;
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-08-10 16:23:46
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-12 11:20:55
+ * @LastEditTime: 2024-10-19 11:52:00
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBluetoothDisConView.cpp
*/
#include "player/include/MusicPlayerBluetoothDisConView.h"
{
playersView->ChangeView(PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW, PlayersView::MAIN_MUSICPLAYER_VIEW);
}
- else if(strcmp(view.GetViewId(), MUISC_PLAYER_BLUETOOTH_DISCONN_VIEW) == 0)
+ else if (strcmp(view.GetViewId(), MUISC_PLAYER_BLUETOOTH_DISCONN_VIEW) == 0)
{
- //跳转到蓝牙连接失败视图
+ // 跳转到蓝牙连接失败视图
playersView->ChangeView(PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW, PlayersView::MUSIC_BT_CONNECTFAILED_VIEW);
}
return true;
scrollView = nullptr;
}
+ if (dragListener)
+ {
+ delete dragListener;
+ dragListener = nullptr;
+ }
+
delete group;
group = nullptr;
}
--- /dev/null
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-10-19 11:27:19
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-10-19 15:35:34
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerTipView.cpp
+ */
+#include "player/include/MusicPlayerTipView.h"
+#include "player/include/PlayersPresenter.h"
+#include "wearable_log.h"
+#include "UiConfig.h"
+#include "ui_resource_string.h"
+#include "iostream"
+#include "string"
+namespace OHOS
+{
+
+ static constexpr const char *OKBUTTON = "okButton";
+ static MusicPlayerTipView *g_pMusicPlayerTipView = nullptr;
+ MusicPlayerTipView::MusicPlayerTipView()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerTipView::MusicPlayerTipView");
+ g_pMusicPlayerTipView = this;
+ }
+
+ MusicPlayerTipView::~MusicPlayerTipView()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "~MusicPlayerTipView::MusicPlayerTipView");
+ ClearAll();
+ g_pMusicPlayerTipView = nullptr;
+ }
+
+ MusicPlayerTipView *MusicPlayerTipView::GetInstance(void)
+ {
+ return g_pMusicPlayerTipView;
+ }
+
+ void MusicPlayerTipView::ClearAll(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerTipView::ClearAll");
+ if (group)
+ {
+ group->RemoveAll();
+ if (scrollView)
+ {
+ scrollView->RemoveAll();
+
+ delete image;
+ image = nullptr;
+
+ delete noteLabel;
+ noteLabel = nullptr;
+
+ delete OKLabel;
+ OKLabel = nullptr;
+
+ delete OkButton;
+ OkButton = nullptr;
+
+ delete scrollView;
+ scrollView = nullptr;
+ }
+ delete dragListener;
+ dragListener = nullptr;
+
+ delete group;
+ group = nullptr;
+ }
+ }
+
+ bool MusicPlayerTipView::OnClick(UIView &view, const ClickEvent &event)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicPlayerTipView::OnClick");
+ PlayersView *playersView = PlayersView::GetInstance();
+ if (!playersView)
+ {
+ return false;
+ }
+ std::string viewId = view.GetViewId();
+ if (viewId == OKBUTTON)
+ {
+ playersView->ChangeView(PlayersView::MUSIC_PLAYER_TIP_VIEW, PlayersView::MAIN_MUSICPLAYER_VIEW);
+ }
+ return true;
+ }
+
+ UIViewGroup *MusicPlayerTipView::CreateMusicPlayerTipView()
+ {
+ if (group == nullptr)
+ {
+ group = new UIViewGroup();
+ if (group == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "group new fail");
+ return nullptr;
+ }
+
+ group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+ group->SetStyle(STYLE_BACKGROUND_OPA, 0);
+ group->SetTouchable(true);
+ group->SetDraggable(true);
+ group->SetIntercept(true);
+ group->SetViewId(MUISC_PLAYER_TIP_VIEW);
+ if (dragListener == nullptr)
+ {
+ dragListener = static_cast<UIView::OnDragListener *>(new PlayerOnDragListener());
+ if (dragListener == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dragListener new fail");
+ return nullptr;
+ }
+ }
+ group->SetOnDragListener(dragListener);
+ /* -------------------------------------------------------------------------- */
+ if (scrollView == nullptr)
+ {
+ scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail");
+ return nullptr;
+ }
+ }
+ scrollView->SetPosition(0, 0, 466, 466);
+ scrollView->SetScrollBlankSize(50);
+ scrollView->SetReboundSize(35);
+ scrollView->SetThrowDrag(true);
+ scrollView->SetMaxScrollDistance(1000);
+ scrollView->SetDirection(UIScrollView::VERTICAL);
+ scrollView->RequestFocus();
+ scrollView->SetRotateFactor(1.0);
+ /* -------------------------------------------------------------------------- */
+ if (image == nullptr)
+ {
+ image = new UIImageView();
+ if (image == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "image new fail");
+ return nullptr;
+ }
+ }
+ image->SetPosition(193, 120, 80, 80);
+ image->SetSrc(PNG_ATTENTION_IMAGE);
+ /* -------------------------------------------------------------------------- */
+ if (noteLabel == nullptr)
+ {
+ noteLabel = new UILabelExt();
+ if (noteLabel == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "noteLabel new fail");
+ return nullptr;
+ }
+ }
+ noteLabel->SetPosition(53, 230, 360, 35);
+ noteLabel->SetStyle(STYLE_TEXT_FONT, 30);
+ noteLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+ noteLabel->SetText("手表正在播放手机音乐,不能对本地音乐进行操作。");
+ noteLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ noteLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ noteLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ /* -------------------------------------------------------------------------- */
+ if (OkButton == nullptr)
+ {
+ OkButton = new UIButton();
+ if (OkButton == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OkButton new fail");
+ return nullptr;
+ }
+ }
+ OkButton->SetPosition(0, noteLabel->GetY() + noteLabel->GetTextHeight() + 30, 466, 100);
+ OkButton->SetViewId(OKBUTTON);
+ OkButton->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE);
+ OkButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0x00, UIButton::PRESSED);
+ OkButton->SetOnClickListener(this);
+ /* -------------------------------------------------------------------------- */
+ if (OKLabel == nullptr)
+ {
+ OKLabel = new UILabelExt();
+ if (OKLabel == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OKLabel new fail");
+ return nullptr;
+ }
+ }
+ OKLabel->SetPosition(173, OkButton->GetY() + 33, 120, 35);
+ OKLabel->SetStyle(STYLE_TEXT_FONT, 30);
+ OKLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+ OKLabel->SetTextId(STR_OK); // 知道了
+ OKLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
+ OKLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ OKLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ /* -------------------------------------------------------------------------- */
+ scrollView->Add(image);
+ scrollView->Add(noteLabel);
+ scrollView->Add(OkButton);
+ scrollView->Add(OKLabel);
+ group->Add(scrollView);
+ }
+ return group;
+ }
+}
\ No newline at end of file
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "playersView null!");\r
return false;\r
}\r
+ /* -------------------------------------------------------------------------- */\r
+ if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && \r
+ PlayersModel::GetInstance()->get_a2dp_sink_connect_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已连接状态\r
+ {\r
+ return false;\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
BtnOnListData(view);\r
/* --------------------------- 若点击的是View类型是Button --------------------------- */\r
if (view.GetViewType() == UIViewType::UI_BUTTON)\r
playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW,PlayersView::MUSIC_LIST_VIEW);\r
return;\r
}\r
- else\r
+ else //若当前歌曲列表不为空且为本地音乐\r
{\r
- if (state == UICheckBox::UICheckBoxState::SELECTED) {\r
- /* start play */\r
- PlayersModel::GetInstance()->ConnectBtAndLocalPlay(connCtState, connTgState, playerState);\r
- } else if (state == UICheckBox::UICheckBoxState::UNSELECTED) {\r
- PlayersModel::GetInstance()->ConnectBtAndLocalPause(connCtState, connTgState);\r
+ if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && \r
+ PlayersModel::GetInstance()->get_a2dp_sink_connect_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已连接状态\r
+ {\r
+ playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_PLAYER_TIP_VIEW); // 跳转到提示界面\r
+ } else {\r
+ if (state == UICheckBox::UICheckBoxState::SELECTED) {\r
+ /* start play */\r
+ PlayersModel::GetInstance()->ConnectBtAndLocalPlay(connCtState, connTgState, playerState);\r
+ } else if (state == UICheckBox::UICheckBoxState::UNSELECTED) {\r
+ PlayersModel::GetInstance()->ConnectBtAndLocalPause(connCtState, connTgState);\r
+ }\r
+ PlayersModel::GetInstance()->SetCurrentIndex(PlayersModel::GetInstance()->GetCurrentIndex());\r
}\r
- PlayersModel::GetInstance()->SetCurrentIndex(PlayersModel::GetInstance()->GetCurrentIndex());\r
}\r
}\r
else //手机音乐\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::GetInstance");\r
return;\r
}\r
+ if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && \r
+ PlayersModel::GetInstance()->get_a2dp_sink_connect_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已连接状态\r
+ {\r
+ playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_PLAYER_TIP_VIEW); // 跳转到提示界面\r
+ return;\r
+ }\r
if (playersView->GetPlaybackProgress() != nullptr) {\r
playersView->GetPlaybackProgress()->SetValue(0); // 0:进度0%\r
playersView->GetPlaybackProgress()->Invalidate();\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::GetInstance");\r
return;\r
}\r
+ if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && \r
+ PlayersModel::GetInstance()->get_a2dp_sink_connect_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已连接状态\r
+ {\r
+ playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_PLAYER_TIP_VIEW); // 跳转到提示界面\r
+ return;\r
+ }\r
if (playersView->GetPlaybackProgress() != nullptr) {\r
playersView->GetPlaybackProgress()->SetValue(0); // 0:进度0%\r
playersView->GetPlaybackProgress()->Invalidate();\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick playersView nullptr err");\r
return;\r
}\r
+ /* -------------------------------------------------------------------------- */\r
+ if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && \r
+ PlayersModel::GetInstance()->get_a2dp_sink_connect_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已连接状态\r
+ {\r
+ playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_PLAYER_TIP_VIEW); // 跳转到提示界面\r
+ return;\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_VOLUME_CONTROL_VIEW);\r
VolumeSettingView *volumeSettingView = playersView->GetVolumeSettingView();\r
if(volumeSettingView == nullptr)\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayerModelButtonOnClick playersView nullptr err");\r
return;\r
}\r
+ /* -------------------------------------------------------------------------- */\r
+ if (PlayersModel::GetInstance()->get_avrcp_ct_or_tg_is_connected() && \r
+ PlayersModel::GetInstance()->get_a2dp_sink_connect_state()) //若ct或tg端是已连接状态且当前a2dp_sink是已连接状态\r
+ {\r
+ playersView->ChangeView(PlayersView::MAIN_MUSICPLAYER_VIEW, PlayersView::MUSIC_PLAYER_TIP_VIEW); // 跳转到提示界面\r
+ return;\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
switch (PlayersModel::GetInstance()->GetPlayerModel()) {\r
case LOOP:\r
playersView->PlayerModelButtonSetSrc(PLAYER_PLAYERSMODEL_LOOP); // 循环\r
X_DRAG_FLAG = true;\r
}\r
}\r
+// 从音乐提示视图回到音乐主视图\r
+void PlayerOnDragListener::OnDragChangMusicPlayerTipView(const DragEvent& event)\r
+{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnDragChangMusicPlayerTipView");\r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && X_DRAG_FLAG) {\r
+ PlayersView *playersView = PlayersView::GetInstance();\r
+ if (playersView == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersView GetInstance fail");\r
+ return;\r
+ }\r
+ playersView->ChangeView(PlayersView::MUSIC_PLAYER_TIP_VIEW, PlayersView::MAIN_MUSICPLAYER_VIEW);\r
+ X_DRAG_FLAG = true;\r
+ }\r
+}\r
void PlayerOnDragListener::DropEarPhoneView(const DragEvent& event)\r
{\r
bool ret = BluetoothModel::GetInstance()->IsTagReturnToDeviceListView();\r
OnDragChangMusicPlayerBTConnectFailedView(event);\r
return false;\r
}\r
+ else if (strcmp(view.GetViewId(), MUISC_PLAYER_TIP_VIEW) == 0) {\r
+ OnDragChangMusicPlayerTipView(event);\r
+ return false;\r
+ }\r
return true;\r
}\r
\r
{PlayersView::MUSIC_BLUETOOTH_DISCONN_VIEW, &PlayersView::ChangeToMusicBluetoothDisConnectView},\r
{PlayersView::MUSIC_BT_CONNECTFAILED_VIEW, &PlayersView::ChangeToMusicBluetoothConnectFailedView},\r
{PlayersView::MUISC_CONNECTING, &PlayersView::ChangeToMusicConnectingView},\r
+ {PlayersView::MUSIC_PLAYER_TIP_VIEW, &PlayersView::ChangeToMusicPlayerTipView},\r
};\r
\r
/*根据传入的 interface 值,在 ViewMapper 数组中查找匹配的 viewId*/\r
PlayersModel::GetInstance()->PlayerMusic_StartTimer();\r
return true;\r
}\r
+\r
+ bool PlayersView::ChangeToMusicPlayerTipView(int16_t thisView)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::ChangeToMusicPlayerTipView");\r
+ if (group[thisView] == nullptr)\r
+ {\r
+ musicPlayerTipView = new MusicPlayerTipView();\r
+ if (musicPlayerTipView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new playerListDelSongView fail");\r
+ return false;\r
+ }\r
+ UIViewGroup *groupview = musicPlayerTipView->CreateMusicPlayerTipView();\r
+ if (groupview == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new group[%d] fail", thisView);\r
+ return false;\r
+ }\r
+ group[thisView] = groupview;\r
+ Add(group[thisView]);\r
+ }\r
+ return true;\r
+ }\r
}\r