训练增加退出弹窗界面
authorCaisking <3449750381@qq.com>
Fri, 12 Apr 2024 08:26:29 +0000 (16:26 +0800)
committerCaisking <3449750381@qq.com>
Fri, 12 Apr 2024 08:26:29 +0000 (16:26 +0800)
27 files changed:
code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/Training_UiConfig.h
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingDataView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingEndNoteView.h [deleted file]
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingEndView.h [deleted file]
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingEndNoteView.cpp [deleted file]
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingEndView.cpp [deleted file]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/src/TraingAquaticView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDanceView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/src/TraingFitnessView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/src/TraingOtherView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestView.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_continue.bin
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_pause.bin
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_stop.bin
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/sport_heartrate.bin [new file with mode: 0644]

index 73d0eb7..1effc9d 100644 (file)
 #include "PlayersModel.h"\r
 #include "PlayersCaseListAdapter.h"\r
 #include "MainViewSample.h"\r
+#include "traing/training_card/include/TraingCardView.h"\r
 \r
-namespace OHOS {\r
-static PlayersView* g_pPlayersView = nullptr;\r
+namespace OHOS\r
+{\r
+    static PlayersView *g_pPlayersView = nullptr;\r
 \r
 #define STEP_LABEL_X 166\r
 #define STEP_LABEL_Y 30\r
 #define TEXT_WIDTH 120\r
 #define TEXT_HEIGHT 30\r
 \r
-PlayersView::PlayersView()\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::PlayersView");\r
-    SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
-    g_pPlayersView = this;\r
-}\r
-\r
-PlayersView::~PlayersView()\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::~PlayersView");\r
-    if (viewiInitStatus == true) {\r
-        state = GetPlayerButtonState();\r
-        if (state == UICheckBox::UICheckBoxState::SELECTED) {\r
-            PlayersModel::GetInstance()->SetPlayButtonState(true);\r
-        }\r
-        RemoveAll();\r
-        listGroup->RemoveAll();\r
-        delete list;\r
-        list = nullptr;\r
-        delete playerlistener;\r
-        playerlistener = nullptr;\r
-        delete playerButton;\r
-        playerButton = nullptr;\r
-        delete soundlistener;\r
-        soundlistener = nullptr;\r
-        delete nextButton;\r
-        nextButton = nullptr;\r
-        delete nextlistener;\r
-        nextlistener = nullptr;\r
-        delete preButton;\r
-        preButton = nullptr;\r
-        TearDownView();\r
-        delete adapterText;\r
-        adapterText = nullptr;\r
-        delete backGround;\r
-        delete titleLabel;\r
-        delete subTitleLabel;\r
-        delete MusciSourceLabel;\r
-        MusciSourceLabel = nullptr;\r
-        if(music_list_button != nullptr)\r
-        {\r
-            delete music_list_button;\r
-            music_list_button = nullptr;\r
-        }\r
-        if(PhoneMusicConnectStatusLabel != nullptr)\r
-        {\r
-            delete PhoneMusicConnectStatusLabel;\r
-            PhoneMusicConnectStatusLabel = nullptr;\r
-        }\r
-        backGround = nullptr;\r
-        titleLabel = nullptr;\r
-        subTitleLabel = nullptr;\r
-        delete playbackProgress;\r
-        playbackProgress = nullptr;\r
-        delete jumpView;\r
-        jumpView = nullptr;\r
-        delete playersPresenter;\r
-        playersPresenter = nullptr;\r
-        delete playerOnDragListener;\r
-        playerOnDragListener = nullptr;\r
-    }\r
-    g_pPlayersView = nullptr;\r
-}\r
+    PlayersView::PlayersView()\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::PlayersView");\r
+        SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+        g_pPlayersView = this;\r
+    }\r
 \r
-void PlayersView::TitleSetText(const char *text)\r
-{\r
-    titleLabel->SetText(text);\r
-    titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
-    titleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER,\r
-                         UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
+    PlayersView::~PlayersView()\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView::~PlayersView");\r
+        if (viewiInitStatus == true)\r
+        {\r
+            state = GetPlayerButtonState();\r
+            if (state == UICheckBox::UICheckBoxState::SELECTED)\r
+            {\r
+                PlayersModel::GetInstance()->SetPlayButtonState(true);\r
+            }\r
+            RemoveAll();\r
+            listGroup->RemoveAll();\r
+            delete list;\r
+            list = nullptr;\r
+            delete playerlistener;\r
+            playerlistener = nullptr;\r
+            delete playerButton;\r
+            playerButton = nullptr;\r
+            delete soundlistener;\r
+            soundlistener = nullptr;\r
+            delete nextButton;\r
+            nextButton = nullptr;\r
+            delete nextlistener;\r
+            nextlistener = nullptr;\r
+            delete preButton;\r
+            preButton = nullptr;\r
+            TearDownView();\r
+            delete adapterText;\r
+            adapterText = nullptr;\r
+            delete backGround;\r
+            delete titleLabel;\r
+            delete subTitleLabel;\r
+            delete MusciSourceLabel;\r
+            MusciSourceLabel = nullptr;\r
+            if (music_list_button != nullptr)\r
+            {\r
+                delete music_list_button;\r
+                music_list_button = nullptr;\r
+            }\r
+            if (PhoneMusicConnectStatusLabel != nullptr)\r
+            {\r
+                delete PhoneMusicConnectStatusLabel;\r
+                PhoneMusicConnectStatusLabel = nullptr;\r
+            }\r
+            backGround = nullptr;\r
+            titleLabel = nullptr;\r
+            subTitleLabel = nullptr;\r
+            delete playbackProgress;\r
+            playbackProgress = nullptr;\r
+            delete jumpView;\r
+            jumpView = nullptr;\r
+            delete playersPresenter;\r
+            playersPresenter = nullptr;\r
+            delete playerOnDragListener;\r
+            playerOnDragListener = nullptr;\r
+        }\r
+        g_pPlayersView = nullptr;\r
+    }\r
 \r
-}\r
+    void PlayersView::TitleSetText(const char *text)\r
+    {\r
+        titleLabel->SetText(text);\r
+        titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+        titleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER,\r
+                             UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
+    }\r
 \r
-void PlayersView::PlayerModelButtonSetSrc(uint32_t playMode)\r
-{\r
-    ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(playMode, PLAYER_IAMGES);\r
-    playerModelButton->SetSrc(image);\r
-}\r
+    void PlayersView::PlayerModelButtonSetSrc(uint32_t playMode)\r
+    {\r
+        ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(playMode, PLAYER_IAMGES);\r
+        playerModelButton->SetSrc(image);\r
+    }\r
 \r
-int16_t PlayersView::GetVolumeRank(void)\r
-{\r
-    return volumeSet;\r
-}\r
+    int16_t PlayersView::GetVolumeRank(void)\r
+    {\r
+        return volumeSet;\r
+    }\r
 \r
-void PlayersView::SetVolumeRank(int16_t value)\r
-{\r
-    volumeSet = value;\r
-}\r
+    void PlayersView::SetVolumeRank(int16_t value)\r
+    {\r
+        volumeSet = value;\r
+    }\r
 \r
-void PlayersView::SetVolumeAddOne(void)\r
-{\r
-    volumeSet++;\r
-}\r
+    void PlayersView::SetVolumeAddOne(void)\r
+    {\r
+        volumeSet++;\r
+    }\r
 \r
-UIButton *PlayersView::GetPullButton(void)\r
-{\r
-    return pullButton;\r
-}\r
+    UIButton *PlayersView::GetPullButton(void)\r
+    {\r
+        return pullButton;\r
+    }\r
 \r
-UIButton *PlayersView::GetOptionsButton(void)\r
-{\r
-    return optionsButton;\r
-}\r
+    UIButton *PlayersView::GetOptionsButton(void)\r
+    {\r
+        return optionsButton;\r
+    }\r
 \r
-UIButton *PlayersView::GetPreButton(void)\r
-{\r
-    return preButton;\r
-}\r
+    UIButton *PlayersView::GetPreButton(void)\r
+    {\r
+        return preButton;\r
+    }\r
 \r
-UIButton *PlayersView::GetNextButton(void)\r
-{\r
-    return nextButton;\r
-}\r
+    UIButton *PlayersView::GetNextButton(void)\r
+    {\r
+        return nextButton;\r
+    }\r
 \r
-//获取音乐列表按钮\r
-UIButton *PlayersView::GetMusicListButton(void)\r
-{\r
-    return music_list_button;\r
-}\r
+    // 获取音乐列表按钮\r
+    UIButton *PlayersView::GetMusicListButton(void)\r
+    {\r
+        return music_list_button;\r
+    }\r
 \r
-UILabel *PlayersView::GetTitleLabel(void)\r
-{\r
-    return titleLabel;\r
-}\r
+    UILabel *PlayersView::GetTitleLabel(void)\r
+    {\r
+        return titleLabel;\r
+    }\r
 \r
-//获取音乐来源标签\r
-UILabel *PlayersView::GetMusicSourceLabel(void)\r
-{\r
-    return MusciSourceLabel;\r
-}\r
+    // 获取音乐来源标签\r
+    UILabel *PlayersView::GetMusicSourceLabel(void)\r
+    {\r
+        return MusciSourceLabel;\r
+    }\r
 \r
-//获手机音乐连接状态标签\r
-UILabel *PlayersView::GetPhoneMusicConnectStatusLabel(void)\r
-{\r
-    return PhoneMusicConnectStatusLabel;\r
-}\r
+    // 获手机音乐连接状态标签\r
+    UILabel *PlayersView::GetPhoneMusicConnectStatusLabel(void)\r
+    {\r
+        return PhoneMusicConnectStatusLabel;\r
+    }\r
 \r
-UICheckBox *PlayersView::GetPlayerButton(void)\r
-{\r
-    return playerButton;\r
-}\r
+    UICheckBox *PlayersView::GetPlayerButton(void)\r
+    {\r
+        return playerButton;\r
+    }\r
 \r
-UIImageView *PlayersView::GetSoundButton(void)\r
-{\r
-    return soundButton;\r
-}\r
+    UIImageView *PlayersView::GetSoundButton(void)\r
+    {\r
+        return soundButton;\r
+    }\r
 \r
-UICircleProgress *PlayersView::GetPlaybackProgress(void)\r
-{\r
-    return playbackProgress;\r
-}\r
+    UICircleProgress *PlayersView::GetPlaybackProgress(void)\r
+    {\r
+        return playbackProgress;\r
+    }\r
 \r
-UIImageView *PlayersView::GetPlayerModelButton(void)\r
-{\r
-    return playerModelButton;\r
-}\r
+    UIImageView *PlayersView::GetPlayerModelButton(void)\r
+    {\r
+        return playerModelButton;\r
+    }\r
 \r
-UICheckBox::UICheckBoxState PlayersView::GetPlayerButtonState(void)\r
-{\r
-    return playerButton->GetState();\r
-}\r
+    UICheckBox::UICheckBoxState PlayersView::GetPlayerButtonState(void)\r
+    {\r
+        return playerButton->GetState();\r
+    }\r
 \r
-void PlayersView::SetPlayerButtonState(UICheckBox::UICheckBoxState state)\r
-{\r
-    if (playerButton == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::SetPlayerButtonState playerButton NULL");\r
-        return;\r
+    void PlayersView::SetPlayerButtonState(UICheckBox::UICheckBoxState state)\r
+    {\r
+        if (playerButton == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::SetPlayerButtonState playerButton NULL");\r
+            return;\r
+        }\r
+        return playerButton->SetState(state);\r
     }\r
-    return playerButton->SetState(state);\r
-}\r
 \r
-UIList *PlayersView::GetPlayerList(void)\r
-{\r
-    return list;\r
-}\r
-/// @brief 根据传入的status参数来控制歌曲列表组的显示与隐藏。\r
-/// @param status \r
-void PlayersView::SetPlayerListGroupStatus(bool status)\r
-{\r
-    if (listGroup == nullptr) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView listGroup is NULL");\r
-        return;\r
+    UIList *PlayersView::GetPlayerList(void)\r
+    {\r
+        return list;\r
     }\r
-    UIView *vew = MainViewSample::GetInstance()->GetMainViewGroup();\r
-    if (vew != nullptr) {\r
-        vew->SetVisible(!status);\r
+    /// @brief 根据传入的status参数来控制歌曲列表组的显示与隐藏。\r
+    /// @param status\r
+    void PlayersView::SetPlayerListGroupStatus(bool status)\r
+    {\r
+        if (listGroup == nullptr)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView listGroup is NULL");\r
+            return;\r
+        }\r
+        UIView *vew = MainViewSample::GetInstance()->GetMainViewGroup();\r
+        if (vew != nullptr)\r
+        {\r
+            vew->SetVisible(!status);\r
+        }\r
+        /*增加训练卡片控制*/\r
+        UIView *cardview = TraingCardView::GetInstance()->GetTraingCrad();\r
+        if (cardview != nullptr)\r
+        {\r
+            cardview->SetVisible(!status);\r
+        }\r
+        listGroup->SetVisible(status);\r
+        return;\r
     }\r
-    listGroup->SetVisible(status);\r
-    return;\r
-}\r
 \r
-/// @brief 根据传入的status参数来控制删除歌曲视图的显示与隐藏。\r
-/// @param status \r
-void PlayersView::SetPlayerDelSongViewStatus(bool status)\r
-{\r
-    if (DelSongView == nullptr) {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView DelSongView is NULL");\r
+    /// @brief 根据传入的status参数来控制删除歌曲视图的显示与隐藏。\r
+    /// @param status\r
+    void PlayersView::SetPlayerDelSongViewStatus(bool status)\r
+    {\r
+        if (DelSongView == nullptr)\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersView DelSongView is NULL");\r
+            return;\r
+        }\r
+        UIView *vew = MainViewSample::GetInstance()->GetMainViewGroup();\r
+        if (vew != nullptr)\r
+        {\r
+            vew->SetVisible(!status);\r
+        }\r
+        /*增加训练卡片控制*/\r
+        UIView *cardview = TraingCardView::GetInstance()->GetTraingCrad();\r
+        if (cardview != nullptr)\r
+        {\r
+            cardview->SetVisible(!status);\r
+        }\r
+        DelSongView->SetVisible(status);\r
+        RootView::GetInstance()->Invalidate();\r
         return;\r
     }\r
-    UIView *vew = MainViewSample::GetInstance()->GetMainViewGroup();\r
-    if (vew != nullptr) {\r
-        vew->SetVisible(!status);\r
-    }\r
-    DelSongView->SetVisible(status);\r
-    RootView::GetInstance()->Invalidate();\r
-    return;\r
-\r
-}\r
-\r
-void PlayersView::SetPlayerCtrVolume(float leftVolume, float rightVolume)\r
-{\r
-    PlayersModel::GetInstance()->GetPlayerCtr()->SetVolume(leftVolume, rightVolume);\r
-}\r
-\r
-void PlayersView::TearDownView()\r
-{\r
-    delete prelistener;\r
-    prelistener = nullptr;\r
-    delete playerModelButton;\r
-    playerModelButton = nullptr;\r
-    delete modellistener;\r
-    modellistener = nullptr;\r
-    delete soundButton;\r
-    soundButton = nullptr;\r
-    delete optionslistener;\r
-    optionslistener = nullptr;\r
-    delete optionsButton;\r
-    optionsButton = nullptr;\r
-    delete pullButton;\r
-    pullButton = nullptr;\r
-    delete listGroup;\r
-    listGroup = nullptr;\r
-}\r
 \r
-PlayersView* PlayersView::GetInstance(void)\r
-{\r
-    return g_pPlayersView;\r
-}\r
-\r
-// 显示音乐列表\r
-void PlayersView::ShowUpListView()\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowUpListView");\r
-    listGroup = new UIScrollView();\r
-    if (listGroup == nullptr) {\r
-        return;\r
+    void PlayersView::SetPlayerCtrVolume(float leftVolume, float rightVolume)\r
+    {\r
+        PlayersModel::GetInstance()->GetPlayerCtr()->SetVolume(leftVolume, rightVolume);\r
     }\r
-    listGroup->SetPosition(0, 0);\r
-    listGroup->Resize(VERTICAL_RESOLUTION, HORIZONTAL_RESOLUTION);\r
-    listGroup->SetScrollBlankSize(20);\r
-    listGroup->SetReboundSize(50);\r
-    listGroup->SetDirection(1);\r
 \r
-    musicListTitle = new UILabel();\r
-    if(musicListTitle ==nullptr)\r
+    void PlayersView::TearDownView()\r
     {\r
-        return;\r
+        delete prelistener;\r
+        prelistener = nullptr;\r
+        delete playerModelButton;\r
+        playerModelButton = nullptr;\r
+        delete modellistener;\r
+        modellistener = nullptr;\r
+        delete soundButton;\r
+        soundButton = nullptr;\r
+        delete optionslistener;\r
+        optionslistener = nullptr;\r
+        delete optionsButton;\r
+        optionsButton = nullptr;\r
+        delete pullButton;\r
+        pullButton = nullptr;\r
+        delete listGroup;\r
+        listGroup = nullptr;\r
+    }\r
+\r
+    PlayersView *PlayersView::GetInstance(void)\r
+    {\r
+        return g_pPlayersView;\r
     }\r
-    musicListTitle->SetPosition(173, 52,120,35);        \r
-    musicListTitle->SetStyle(STYLE_TEXT_FONT, 30);\r
-    musicListTitle->SetStyle(STYLE_LINE_HEIGHT, 36);\r
-    musicListTitle->SetText("音乐列表");\r
-    musicListTitle->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);\r
-    musicListTitle->SetTextColor(Color::GetColorFromRGBA(0xff, 0xf3, 0xff, 0xff));\r
-    musicListTitle->SetRollSpeed(0);\r
-    musicListTitle->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-    listGroup->Add(musicListTitle);\r
-\r
-    // list type\r
-    if (adapterText == nullptr) {\r
-        adapterText = new PlayersCaseListAdapter();\r
-        if (adapterText == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "adapterText new fail");\r
+\r
+    // 显示音乐列表\r
+    void PlayersView::ShowUpListView()\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowUpListView");\r
+        listGroup = new UIScrollView();\r
+        if (listGroup == nullptr)\r
+        {\r
             return;\r
         }\r
-    }\r
-    if (list == nullptr) {\r
-        list = new UIList(UIList::VERTICAL);\r
-        if (list == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "list new fail");\r
+        listGroup->SetPosition(0, 0);\r
+        listGroup->Resize(VERTICAL_RESOLUTION, HORIZONTAL_RESOLUTION);\r
+        listGroup->SetScrollBlankSize(20);\r
+        listGroup->SetReboundSize(50);\r
+        listGroup->SetDirection(1);\r
+\r
+        musicListTitle = new UILabel();\r
+        if (musicListTitle == nullptr)\r
+        {\r
             return;\r
         }\r
-        list->SetPosition(67, 138, 332, 500);\r
-        list->SetStartIndex(0); // 0 : list start index\r
-        list->SetAdapter(adapterText);\r
-    }\r
-    listGroup->Add(list);\r
-    RootView::GetInstance()->Add(listGroup);\r
-    UIView::OnDragListener *dragListener = (UIView::OnDragListener*)OHOS::PlayerOnDragListener::GetInstance();\r
-    if (dragListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::OnDragListener fail");\r
-        return;\r
+        musicListTitle->SetPosition(173, 52, 120, 35);\r
+        musicListTitle->SetStyle(STYLE_TEXT_FONT, 30);\r
+        musicListTitle->SetStyle(STYLE_LINE_HEIGHT, 36);\r
+        musicListTitle->SetText("音乐列表");\r
+        musicListTitle->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);\r
+        musicListTitle->SetTextColor(Color::GetColorFromRGBA(0xff, 0xf3, 0xff, 0xff));\r
+        musicListTitle->SetRollSpeed(0);\r
+        musicListTitle->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        listGroup->Add(musicListTitle);\r
+\r
+        // list type\r
+        if (adapterText == nullptr)\r
+        {\r
+            adapterText = new PlayersCaseListAdapter();\r
+            if (adapterText == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "adapterText new fail");\r
+                return;\r
+            }\r
+        }\r
+        if (list == nullptr)\r
+        {\r
+            list = new UIList(UIList::VERTICAL);\r
+            if (list == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "list new fail");\r
+                return;\r
+            }\r
+            list->SetPosition(67, 138, 332, 500);\r
+            list->SetStartIndex(0); // 0 : list start index\r
+            list->SetAdapter(adapterText);\r
+        }\r
+        listGroup->Add(list);\r
+        RootView::GetInstance()->Add(listGroup);\r
+        UIView::OnDragListener *dragListener = (UIView::OnDragListener *)OHOS::PlayerOnDragListener::GetInstance();\r
+        if (dragListener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::OnDragListener fail");\r
+            return;\r
+        }\r
+        listGroup->SetDraggable(true);\r
+        listGroup->SetTouchable(true);\r
+        listGroup->SetOnDragListener(dragListener);\r
+        listGroup->SetVisible(false);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowUpListView end");\r
     }\r
-    listGroup->SetDraggable(true);\r
-    listGroup->SetTouchable(true);\r
-    listGroup->SetOnDragListener(dragListener);\r
-    listGroup->SetVisible(false);\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowUpListView end");\r
-}\r
 \r
-/// @brief 创建删除歌曲视图\r
-/// @param songName \r
-void PlayersView::ShowUpDelSongView()\r
-{\r
-    if(p_PlayerListDelSongView == nullptr)\r
+    /// @brief 创建删除歌曲视图\r
+    /// @param songName\r
+    void PlayersView::ShowUpDelSongView()\r
     {\r
-        p_PlayerListDelSongView = new PlayerListDelSongView();\r
+        if (p_PlayerListDelSongView == nullptr)\r
+        {\r
+            p_PlayerListDelSongView = new PlayerListDelSongView();\r
+        }\r
+        DelSongView = p_PlayerListDelSongView->InitDelSongView();\r
+        RootView::GetInstance()->Add(DelSongView);\r
+        DelSongView->SetTouchable(true);\r
+        DelSongView->SetVisible(false);\r
     }\r
-    DelSongView = p_PlayerListDelSongView->InitDelSongView();\r
-    RootView::GetInstance()->Add(DelSongView);\r
-    DelSongView->SetTouchable(true);\r
-    DelSongView->SetVisible(false);\r
-}\r
 \r
-//设置按钮的位置和监听\r
-void PlayersView::SetUpButton(UIButton *btn, const Point& point,\r
-                              int16_t width, int16_t height, UIView::OnClickListener *listener)\r
-{\r
-    if (btn == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::SetUpButton nullptr");\r
-        return;\r
-    }\r
-    Add(btn);\r
-    btn->SetPosition(point.x, point.y, width, height);\r
-    btn->SetOnClickListener(listener);\r
-}\r
-//复选框:选中播放未选中暂停\r
-int PlayersView::ShowUpCheckBoxButton()\r
-{\r
-    ImageInfo *ImagePlay;\r
-    ImageInfo *ImagerPause;\r
-    if (playerButton == nullptr) {\r
-        playerButton = new UICheckBox();\r
-    }\r
-    if (soundButton == nullptr) {\r
-        soundButton = new UIImageView();\r
-    }\r
-    if ((playerButton == nullptr) || (soundButton == nullptr)) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    playerlistener = new ButtonOnClickListener(reinterpret_cast<UIView*>(playerButton));\r
-    if (playerlistener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerlistener new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    playerButton->SetPosition(195, 195, 80, 80); // 140:x 139:y 172:width 172:height\r
-    playerButton->SetOnClickListener(playerlistener);\r
-    ImagePlay = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_PLAY, PLAYER_IAMGES); //播放图片\r
-    ImagerPause = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_PAUSE, PLAYER_IAMGES);//暂停图片\r
-    playerButton->SetImages(ImagePlay, ImagerPause);\r
-    Add(playerButton);\r
-\r
-    soundlistener = new ButtonOnClickListener(reinterpret_cast<UIView*>(soundButton));\r
-    if (soundlistener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "soundlistener new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    soundButton->SetTouchable(true);\r
-    soundButton->SetPosition(321, 321, 60, 60); \r
-    soundButton->SetOnClickListener(soundlistener);\r
-    if (LoadPlayerImage(soundButton, PLAYER_MUSIC_VOICE) == false) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerModelButton LoadPlayerImage fail");\r
-        return false;\r
+    // 设置按钮的位置和监听\r
+    void PlayersView::SetUpButton(UIButton *btn, const Point &point,\r
+                                  int16_t width, int16_t height, UIView::OnClickListener *listener)\r
+    {\r
+        if (btn == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::SetUpButton nullptr");\r
+            return;\r
+        }\r
+        Add(btn);\r
+        btn->SetPosition(point.x, point.y, width, height);\r
+        btn->SetOnClickListener(listener);\r
     }\r
-    Add(soundButton);\r
-    return OHOS_SUCCESS;\r
-}\r
-//显示按钮:下一首,上一首,播放模式\r
-int PlayersView::ShowUpButton()\r
-{\r
-    struct Point pointBtn;\r
-    ImageInfo *image;\r
-    pointBtn.x = 366; // 366:x\r
-    pointBtn.y = 213; // 213:y\r
-    nextlistener = new ButtonOnClickListener(reinterpret_cast<UIView*>(nextButton));\r
-    if (nextlistener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "nextlistener new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    SetUpButton(nextButton, pointBtn, 60, 60, nextlistener); // 93:width 116:height\r
-    image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUSIC_NEXT, PLAYER_IAMGES);\r
-    nextButton->SetImageSrc(image, image);\r
-    nextButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
-    nextButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-    nextButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
-    nextButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
-    nextButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-    pointBtn.x = 60; // 60:x\r
-    pointBtn.y = 213; // 213:y\r
-    prelistener = new ButtonOnClickListener(reinterpret_cast<UIView*>(preButton));\r
-    if (prelistener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "prelistener new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    SetUpButton(preButton, pointBtn, 60, 60, prelistener); // 86:width 116:height\r
-    image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUSIC_PROVE, PLAYER_IAMGES);\r
-    preButton->SetImageSrc(image, image);\r
-    preButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
-    preButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-    preButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
-    preButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
-    preButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-    pointBtn.x = 105; // 105:x\r
-    pointBtn.y = 321; // 321:y\r
-    modellistener = new ButtonOnClickListener(reinterpret_cast<UIView*>(playerModelButton));\r
-    if (modellistener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "modellistener new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    playerModelButton->SetTouchable(true);\r
-    playerModelButton->SetPosition(pointBtn.x, pointBtn.y, 60, 60); \r
-    playerModelButton->SetOnClickListener(modellistener);\r
-    if (ShowUpPlayerMode() == false) {\r
-        return OHOS_FAILURE;\r
-    }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "playerModel %d", PlayersModel::GetInstance()->GetPlayerModel());\r
-    Add(playerModelButton);\r
-\r
-    return OHOS_SUCCESS;\r
-}\r
-//显示音乐播放模式:LOOP 循环播放 SEQUENCE 循序播放  REPEATS 单曲循环  RANDOM 随机播放\r
-bool PlayersView::ShowUpPlayerMode()\r
-{\r
-    if (PlayersModel::GetInstance()->GetPlayerModel() == LOOP) {\r
-        if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_LOOP) == false) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYER_PLAYERSMODEL_LOOP fail");\r
-            return false;\r
+    // 复选框:选中播放未选中暂停\r
+    int PlayersView::ShowUpCheckBoxButton()\r
+    {\r
+        ImageInfo *ImagePlay;\r
+        ImageInfo *ImagerPause;\r
+        if (playerButton == nullptr)\r
+        {\r
+            playerButton = new UICheckBox();\r
         }\r
-    } else if (PlayersModel::GetInstance()->GetPlayerModel() == SEQUENCE) {\r
-        if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_SEQUENCE) == false) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYERSMODEL_SEQUENCE fail");\r
-            return false;\r
+        if (soundButton == nullptr)\r
+        {\r
+            soundButton = new UIImageView();\r
         }\r
-    } else if (PlayersModel::GetInstance()->GetPlayerModel() == REPEATS) {\r
-        if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_REPEATS) == false) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYERSMODEL_REPEATS fail");\r
-            return false;\r
+        if ((playerButton == nullptr) || (soundButton == nullptr))\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        playerlistener = new ButtonOnClickListener(reinterpret_cast<UIView *>(playerButton));\r
+        if (playerlistener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerlistener new fail");\r
+            return OHOS_FAILURE;\r
         }\r
-    } else if (PlayersModel::GetInstance()->GetPlayerModel() == RANDOM) {\r
-        if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_RANDOM) == false) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYERSMODEL_RANDOM fail");\r
+        playerButton->SetPosition(195, 195, 80, 80); // 140:x 139:y 172:width 172:height\r
+        playerButton->SetOnClickListener(playerlistener);\r
+        ImagePlay = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_PLAY, PLAYER_IAMGES);    // 播放图片\r
+        ImagerPause = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_PAUSE, PLAYER_IAMGES); // 暂停图片\r
+        playerButton->SetImages(ImagePlay, ImagerPause);\r
+        Add(playerButton);\r
+\r
+        soundlistener = new ButtonOnClickListener(reinterpret_cast<UIView *>(soundButton));\r
+        if (soundlistener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "soundlistener new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        soundButton->SetTouchable(true);\r
+        soundButton->SetPosition(321, 321, 60, 60);\r
+        soundButton->SetOnClickListener(soundlistener);\r
+        if (LoadPlayerImage(soundButton, PLAYER_MUSIC_VOICE) == false)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerModelButton LoadPlayerImage fail");\r
             return false;\r
         }\r
+        Add(soundButton);\r
+        return OHOS_SUCCESS;\r
     }\r
-    return true;\r
-}\r
-//显示按钮视图\r
-int PlayersView::ShowUpButtonView()\r
-{\r
-    int ret;\r
-    ret = ShowUpCheckBoxButton();\r
-    if (ret == OHOS_FAILURE) {\r
-        return OHOS_FAILURE;\r
-    }\r
-    if (nextButton == nullptr) {\r
-        nextButton = new UIButton();\r
-    }\r
-    if (preButton == nullptr) {\r
-        preButton = new UIButton();\r
-    }\r
-    if (optionsButton == nullptr) {\r
-        optionsButton = new UIButton();\r
-    }\r
-    if (music_list_button == nullptr) {\r
-        music_list_button = new UIButton();\r
-    }\r
-    if (pullButton == nullptr) {\r
-        pullButton = new UIButton();\r
-    }\r
-    if (playerModelButton == nullptr) {\r
-        playerModelButton = new UIImageView();\r
-    }\r
-    if ((nextButton == nullptr) || (preButton == nullptr) || (playerModelButton == nullptr) || (optionsButton == nullptr) ||\r
-        (pullButton == nullptr)) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UIButton new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowUpButtonView");\r
+    // 显示按钮:下一首,上一首,播放模式\r
+    int PlayersView::ShowUpButton()\r
+    {\r
+        struct Point pointBtn;\r
+        ImageInfo *image;\r
+        pointBtn.x = 366; // 366:x\r
+        pointBtn.y = 213; // 213:y\r
+        nextlistener = new ButtonOnClickListener(reinterpret_cast<UIView *>(nextButton));\r
+        if (nextlistener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "nextlistener new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        SetUpButton(nextButton, pointBtn, 60, 60, nextlistener); // 93:width 116:height\r
+        image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUSIC_NEXT, PLAYER_IAMGES);\r
+        nextButton->SetImageSrc(image, image);\r
+        nextButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+        nextButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+        nextButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
+        nextButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
+        nextButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+        pointBtn.x = 60;  // 60:x\r
+        pointBtn.y = 213; // 213:y\r
+        prelistener = new ButtonOnClickListener(reinterpret_cast<UIView *>(preButton));\r
+        if (prelistener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "prelistener new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        SetUpButton(preButton, pointBtn, 60, 60, prelistener); // 86:width 116:height\r
+        image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUSIC_PROVE, PLAYER_IAMGES);\r
+        preButton->SetImageSrc(image, image);\r
+        preButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+        preButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+        preButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
+        preButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
+        preButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+        pointBtn.x = 105; // 105:x\r
+        pointBtn.y = 321; // 321:y\r
+        modellistener = new ButtonOnClickListener(reinterpret_cast<UIView *>(playerModelButton));\r
+        if (modellistener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "modellistener new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        playerModelButton->SetTouchable(true);\r
+        playerModelButton->SetPosition(pointBtn.x, pointBtn.y, 60, 60);\r
+        playerModelButton->SetOnClickListener(modellistener);\r
+        if (ShowUpPlayerMode() == false)\r
+        {\r
+            return OHOS_FAILURE;\r
+        }\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "playerModel %d", PlayersModel::GetInstance()->GetPlayerModel());\r
+        Add(playerModelButton);\r
 \r
-    ret = ShowUpButton();\r
-    if (ret == OHOS_FAILURE) {\r
-        return OHOS_FAILURE;\r
-    }\r
-    ret = ShowUpButtonOptions();\r
-    if (ret == OHOS_FAILURE) {\r
-        return OHOS_FAILURE;\r
-    }\r
-    ret = ShowUpCircleProgress();\r
-    if (ret == OHOS_FAILURE) {\r
-        return OHOS_FAILURE;\r
+        return OHOS_SUCCESS;\r
     }\r
-    ret = ShowUpMusicListbutton();\r
-    if (ret == OHOS_FAILURE) {\r
-        return OHOS_FAILURE;\r
+    // 显示音乐播放模式:LOOP 循环播放 SEQUENCE 循序播放  REPEATS 单曲循环  RANDOM 随机播放\r
+    bool PlayersView::ShowUpPlayerMode()\r
+    {\r
+        if (PlayersModel::GetInstance()->GetPlayerModel() == LOOP)\r
+        {\r
+            if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_LOOP) == false)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYER_PLAYERSMODEL_LOOP fail");\r
+                return false;\r
+            }\r
+        }\r
+        else if (PlayersModel::GetInstance()->GetPlayerModel() == SEQUENCE)\r
+        {\r
+            if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_SEQUENCE) == false)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYERSMODEL_SEQUENCE fail");\r
+                return false;\r
+            }\r
+        }\r
+        else if (PlayersModel::GetInstance()->GetPlayerModel() == REPEATS)\r
+        {\r
+            if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_REPEATS) == false)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYERSMODEL_REPEATS fail");\r
+                return false;\r
+            }\r
+        }\r
+        else if (PlayersModel::GetInstance()->GetPlayerModel() == RANDOM)\r
+        {\r
+            if (LoadPlayerImage(playerModelButton, PLAYER_PLAYERSMODEL_RANDOM) == false)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "load PLAYERSMODEL_RANDOM fail");\r
+                return false;\r
+            }\r
+        }\r
+        return true;\r
     }\r
-    return OHOS_SUCCESS;\r
-}\r
+    // 显示按钮视图\r
+    int PlayersView::ShowUpButtonView()\r
+    {\r
+        int ret;\r
+        ret = ShowUpCheckBoxButton();\r
+        if (ret == OHOS_FAILURE)\r
+        {\r
+            return OHOS_FAILURE;\r
+        }\r
+        if (nextButton == nullptr)\r
+        {\r
+            nextButton = new UIButton();\r
+        }\r
+        if (preButton == nullptr)\r
+        {\r
+            preButton = new UIButton();\r
+        }\r
+        if (optionsButton == nullptr)\r
+        {\r
+            optionsButton = new UIButton();\r
+        }\r
+        if (music_list_button == nullptr)\r
+        {\r
+            music_list_button = new UIButton();\r
+        }\r
+        if (pullButton == nullptr)\r
+        {\r
+            pullButton = new UIButton();\r
+        }\r
+        if (playerModelButton == nullptr)\r
+        {\r
+            playerModelButton = new UIImageView();\r
+        }\r
+        if ((nextButton == nullptr) || (preButton == nullptr) || (playerModelButton == nullptr) || (optionsButton == nullptr) ||\r
+            (pullButton == nullptr))\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UIButton new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowUpButtonView");\r
 \r
-//显示音乐列表按钮\r
-int PlayersView::ShowUpMusicListbutton()\r
-{\r
-    struct Point pointBtn;\r
-    pointBtn.x = 213; \r
-    pointBtn.y = 35; \r
-    music_list_button_listener = new ButtonOnClickListener(reinterpret_cast<UIView*>(music_list_button));\r
-    if (music_list_button_listener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "music_list_button_listener new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    SetUpButton(music_list_button, pointBtn, 60, 60, music_list_button_listener); // 75:width 76:height\r
-    ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUSIC_LIST, PLAYER_IAMGES);\r
-    music_list_button->SetImageSrc(image, image);\r
-    music_list_button->SetViewId("music_list_button");\r
-    music_list_button->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
-    music_list_button->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-    music_list_button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
-    music_list_button->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
-    music_list_button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
-    return OHOS_SUCCESS;\r
-}\r
-/*\r
-    创建了两个按钮:optionslistener:显示选项按钮,点击后里面有三种模式:1手机音乐,2本地音乐,3蓝牙耳机\r
-                   pullButton:上拉按钮上拉后显示歌单 \r
-*/\r
-int PlayersView::ShowUpButtonOptions()\r
-{\r
-    struct Point pointBtn;\r
-    pointBtn.x = 213; \r
-    pointBtn.y = 366; \r
-    optionslistener = new ButtonOnClickListener(reinterpret_cast<UIView*>(optionsButton));\r
-    if (optionslistener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "optionslistener new fail");\r
-        return OHOS_FAILURE;\r
-    }\r
-    SetUpButton(optionsButton, pointBtn, 60, 60, optionslistener); // 75:width 76:height\r
-    ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_LOCAL_MUSIC_COLOR, PLAYER_IAMGES);\r
-    optionsButton->SetImageSrc(image, image);\r
-    optionsButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
-    optionsButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-    optionsButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
-    optionsButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
-    optionsButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
-    pointBtn.x = 178; // 178:x\r
-    pointBtn.y = 394; // 394:y\r
-    SetUpButton(pullButton, pointBtn, 95, 48, nullptr); // 95:width 48:height\r
-    pullButton->SetImageSrc(PNG_PULLBUTTON_FACE_IMAGE, PNG_PULLBUTTON_FACE_IMAGE);\r
-    pullButton->SetVisible(false);\r
-    return OHOS_SUCCESS;\r
-}\r
-//显示播放进度条\r
-int PlayersView::ShowUpCircleProgress()\r
-{\r
-    if (playbackProgress == nullptr) {\r
-        playbackProgress = new UICircleProgress();\r
-        if (playbackProgress == nullptr) {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "playbackProgress new fail");\r
+        ret = ShowUpButton();\r
+        if (ret == OHOS_FAILURE)\r
+        {\r
+            return OHOS_FAILURE;\r
+        }\r
+        ret = ShowUpButtonOptions();\r
+        if (ret == OHOS_FAILURE)\r
+        {\r
             return OHOS_FAILURE;\r
         }\r
+        ret = ShowUpCircleProgress();\r
+        if (ret == OHOS_FAILURE)\r
+        {\r
+            return OHOS_FAILURE;\r
+        }\r
+        ret = ShowUpMusicListbutton();\r
+        if (ret == OHOS_FAILURE)\r
+        {\r
+            return OHOS_FAILURE;\r
+        }\r
+        return OHOS_SUCCESS;\r
     }\r
-    playbackProgress->SetPosition(158, 158, 150, 150); \r
-    playbackProgress->SetCenterPosition(75, 75);\r
-    playbackProgress->SetRange(PLAY_PROGRESS_MAX, PLAY_PROGRESS_MIN);\r
-    playbackProgress->SetRadius(70); \r
-    playbackProgress->SetStartAngle(0);\r
-    playbackProgress->SetEndAngle(360); // 360: end angle\r
-    playbackProgress->SetValue(0);\r
-    playbackProgress->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-    playbackProgress->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
-    playbackProgress->SetBackgroundStyle(STYLE_LINE_COLOR, 0xfff61313);\r
-    playbackProgress->SetBackgroundStyle(STYLE_LINE_WIDTH, 0);\r
-    playbackProgress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xfffbfbfb);\r
-    playbackProgress->SetForegroundStyle(STYLE_BORDER_COLOR, 0xffffffff);\r
-    playbackProgress->SetForegroundStyle(STYLE_LINE_COLOR, 0xffffffff);\r
-    playbackProgress->SetForegroundStyle(STYLE_LINE_WIDTH, 6); // 6:width\r
-    Add(playbackProgress);\r
-    return OHOS_SUCCESS;\r
-}\r
-//创建跳转视图\r
-void PlayersView::CreateJumpView(void)\r
-{\r
-    if (jumpView == nullptr) {\r
-        jumpView = new JumpView();\r
-        if (jumpView == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "jumpView new fail");\r
-            return;\r
+\r
+    // 显示音乐列表按钮\r
+    int PlayersView::ShowUpMusicListbutton()\r
+    {\r
+        struct Point pointBtn;\r
+        pointBtn.x = 213;\r
+        pointBtn.y = 35;\r
+        music_list_button_listener = new ButtonOnClickListener(reinterpret_cast<UIView *>(music_list_button));\r
+        if (music_list_button_listener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "music_list_button_listener new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        SetUpButton(music_list_button, pointBtn, 60, 60, music_list_button_listener); // 75:width 76:height\r
+        ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUSIC_LIST, PLAYER_IAMGES);\r
+        music_list_button->SetImageSrc(image, image);\r
+        music_list_button->SetViewId("music_list_button");\r
+        music_list_button->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+        music_list_button->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+        music_list_button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
+        music_list_button->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
+        music_list_button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+\r
+        return OHOS_SUCCESS;\r
+    }\r
+    /*\r
+        创建了两个按钮:optionslistener:显示选项按钮,点击后里面有三种模式:1手机音乐,2本地音乐,3蓝牙耳机\r
+                       pullButton:上拉按钮上拉后显示歌单\r
+    */\r
+    int PlayersView::ShowUpButtonOptions()\r
+    {\r
+        struct Point pointBtn;\r
+        pointBtn.x = 213;\r
+        pointBtn.y = 366;\r
+        optionslistener = new ButtonOnClickListener(reinterpret_cast<UIView *>(optionsButton));\r
+        if (optionslistener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "optionslistener new fail");\r
+            return OHOS_FAILURE;\r
+        }\r
+        SetUpButton(optionsButton, pointBtn, 60, 60, optionslistener); // 75:width 76:height\r
+        ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_LOCAL_MUSIC_COLOR, PLAYER_IAMGES);\r
+        optionsButton->SetImageSrc(image, image);\r
+        optionsButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+        optionsButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+        optionsButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffbfbfb, UIButton::PRESSED);\r
+        optionsButton->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
+        optionsButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+\r
+        pointBtn.x = 178;                                   // 178:x\r
+        pointBtn.y = 394;                                   // 394:y\r
+        SetUpButton(pullButton, pointBtn, 95, 48, nullptr); // 95:width 48:height\r
+        pullButton->SetImageSrc(PNG_PULLBUTTON_FACE_IMAGE, PNG_PULLBUTTON_FACE_IMAGE);\r
+        pullButton->SetVisible(false);\r
+        return OHOS_SUCCESS;\r
+    }\r
+    // 显示播放进度条\r
+    int PlayersView::ShowUpCircleProgress()\r
+    {\r
+        if (playbackProgress == nullptr)\r
+        {\r
+            playbackProgress = new UICircleProgress();\r
+            if (playbackProgress == nullptr)\r
+            {\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "playbackProgress new fail");\r
+                return OHOS_FAILURE;\r
+            }\r
+        }\r
+        playbackProgress->SetPosition(158, 158, 150, 150);\r
+        playbackProgress->SetCenterPosition(75, 75);\r
+        playbackProgress->SetRange(PLAY_PROGRESS_MAX, PLAY_PROGRESS_MIN);\r
+        playbackProgress->SetRadius(70);\r
+        playbackProgress->SetStartAngle(0);\r
+        playbackProgress->SetEndAngle(360); // 360: end angle\r
+        playbackProgress->SetValue(0);\r
+        playbackProgress->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+        playbackProgress->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
+        playbackProgress->SetBackgroundStyle(STYLE_LINE_COLOR, 0xfff61313);\r
+        playbackProgress->SetBackgroundStyle(STYLE_LINE_WIDTH, 0);\r
+        playbackProgress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xfffbfbfb);\r
+        playbackProgress->SetForegroundStyle(STYLE_BORDER_COLOR, 0xffffffff);\r
+        playbackProgress->SetForegroundStyle(STYLE_LINE_COLOR, 0xffffffff);\r
+        playbackProgress->SetForegroundStyle(STYLE_LINE_WIDTH, 6); // 6:width\r
+        Add(playbackProgress);\r
+        return OHOS_SUCCESS;\r
+    }\r
+    // 创建跳转视图\r
+    void PlayersView::CreateJumpView(void)\r
+    {\r
+        if (jumpView == nullptr)\r
+        {\r
+            jumpView = new JumpView();\r
+            if (jumpView == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "jumpView new fail");\r
+                return;\r
+            }\r
         }\r
     }\r
-}\r
-//创建一个音乐播放器的逻辑层\r
-void PlayersView::CreatePlayersPresenter(void)\r
-{\r
-    if (playersPresenter == nullptr) {\r
-        playersPresenter = new PlayersPresenter();\r
-        if (playersPresenter == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersPresenter new fail");\r
-            return;\r
+    // 创建一个音乐播放器的逻辑层\r
+    void PlayersView::CreatePlayersPresenter(void)\r
+    {\r
+        if (playersPresenter == nullptr)\r
+        {\r
+            playersPresenter = new PlayersPresenter();\r
+            if (playersPresenter == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersPresenter new fail");\r
+                return;\r
+            }\r
         }\r
     }\r
-}\r
-//创建一个音乐播放器的拖拽监听\r
-void PlayersView::CreatePlayerOnDragListener(void)\r
-{\r
-    if (playerOnDragListener == nullptr) {\r
-        playerOnDragListener = new PlayerOnDragListener();\r
-        if (playerOnDragListener == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerOnDragListener new fail");\r
-            return;\r
+    // 创建一个音乐播放器的拖拽监听\r
+    void PlayersView::CreatePlayerOnDragListener(void)\r
+    {\r
+        if (playerOnDragListener == nullptr)\r
+        {\r
+            playerOnDragListener = new PlayerOnDragListener();\r
+            if (playerOnDragListener == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerOnDragListener new fail");\r
+                return;\r
+            }\r
         }\r
     }\r
-}\r
-//初始化背景图片\r
-bool PlayersView::InitBackGround(void)\r
-{\r
-    if (backGround == nullptr) {\r
-        backGround = new UIImageView();\r
-        if (backGround == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "backGround new fail");\r
+    // 初始化背景图片\r
+    bool PlayersView::InitBackGround(void)\r
+    {\r
+        if (backGround == nullptr)\r
+        {\r
+            backGround = new UIImageView();\r
+            if (backGround == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "backGround new fail");\r
+                return false;\r
+            }\r
+        }\r
+        backGround->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+        if (LoadPlayerImage(backGround, PLAYER_BACKGROUND) == false)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "backGround LoadPlayerImage fail");\r
             return false;\r
         }\r
-    }\r
-    backGround->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
-    if (LoadPlayerImage(backGround, PLAYER_BACKGROUND) == false) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "backGround LoadPlayerImage fail");\r
-        return false;\r
-    }\r
-    /* -------------------------------------------------------------------------- */\r
-    if(elipse == nullptr){\r
-        elipse = new UIImageView();\r
-        if(elipse ==nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "elipse new fail");\r
+        /* -------------------------------------------------------------------------- */\r
+        if (elipse == nullptr)\r
+        {\r
+            elipse = new UIImageView();\r
+            if (elipse == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "elipse new fail");\r
+                return false;\r
+            }\r
+        }\r
+        elipse->SetPosition(173, 173, 120, 120);\r
+        if (LoadPlayerImage(elipse, PLAYER_ELLIPSE) == false)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "elipse LoadPlayerImage fail");\r
             return false;\r
         }\r
+        Add(backGround);\r
+        Add(elipse);\r
+        return true;\r
     }\r
-    elipse->SetPosition(173,173,120,120);\r
-    if (LoadPlayerImage(elipse, PLAYER_ELLIPSE) == false) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "elipse LoadPlayerImage fail");\r
-        return false;\r
-    }\r
-    Add(backGround);\r
-    Add(elipse);\r
-    return true;\r
-}\r
-//创建音乐名,作者名\r
-void PlayersView::CreatePlayerMusicName()\r
-{\r
-    if (titleLabel == nullptr) {\r
-        titleLabel = new UILabel();\r
-        if (titleLabel == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail");\r
-            return;\r
+    // 创建音乐名,作者名\r
+    void PlayersView::CreatePlayerMusicName()\r
+    {\r
+        if (titleLabel == nullptr)\r
+        {\r
+            titleLabel = new UILabel();\r
+            if (titleLabel == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "titleLabel new fail");\r
+                return;\r
+            }\r
         }\r
-    }\r
-    titleLabel->SetPosition(127, 35, 200, 53); // 127:x 35:y 200:width 53:height\r
-    titleLabel->SetText("Music Name");\r
-    titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_FORTY_SIZE);\r
-    Add(titleLabel);\r
+        titleLabel->SetPosition(127, 35, 200, 53); // 127:x 35:y 200:width 53:height\r
+        titleLabel->SetText("Music Name");\r
+        titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_FORTY_SIZE);\r
+        Add(titleLabel);\r
 \r
-    if (subTitleLabel == nullptr) {\r
-        subTitleLabel = new UILabel();\r
-        if (subTitleLabel == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "subTitleLabel new fail");\r
-            return;\r
+        if (subTitleLabel == nullptr)\r
+        {\r
+            subTitleLabel = new UILabel();\r
+            if (subTitleLabel == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "subTitleLabel new fail");\r
+                return;\r
+            }\r
         }\r
+        subTitleLabel->SetPosition(77, 92, 300, 38); // 77:x 92:y 300:width 38:height\r
+        subTitleLabel->SetText("Musical Authors");\r
+        subTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); // 30:font data\r
+        subTitleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
+        Add(subTitleLabel);\r
+        return;\r
+    }\r
+    // 拖拽监听:从下到上拖拽后显示音乐列表\r
+    bool PlayersView::OnDragEvent(const DragEvent &event)\r
+    {\r
+        /* 300: y limit of drag start point */\r
+        // if ((event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP) && (event.GetStartPoint().y > 300)) {\r
+        //     PlayersPresenter::GetInstance()->ShowPlayerListGroup();\r
+        //     return true;\r
+        // }\r
+        return false;\r
     }\r
-    subTitleLabel->SetPosition(77, 92, 300, 38); // 77:x 92:y 300:width 38:height\r
-    subTitleLabel->SetText("Musical Authors");\r
-    subTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); // 30:font data\r
-    subTitleLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
-    Add(subTitleLabel);\r
-    return;\r
-}\r
-//拖拽监听:从下到上拖拽后显示音乐列表\r
-bool PlayersView::OnDragEvent(const DragEvent& event)\r
-{\r
-    /* 300: y limit of drag start point */\r
-    // if ((event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP) && (event.GetStartPoint().y > 300)) {\r
-    //     PlayersPresenter::GetInstance()->ShowPlayerListGroup();\r
-    //     return true;\r
-    // }\r
-    return false;\r
-}\r
 \r
-/// @brief 创建音乐来源标签\r
-/// @param  \r
-void PlayersView::CreateMusicSourceLabel(void)\r
-{\r
-    if (MusciSourceLabel == nullptr) {\r
-        MusciSourceLabel = new UILabel();\r
-        if (MusciSourceLabel == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusciSourceLabel new fail");\r
-            return;\r
+    /// @brief 创建音乐来源标签\r
+    /// @param\r
+    void PlayersView::CreateMusicSourceLabel(void)\r
+    {\r
+        if (MusciSourceLabel == nullptr)\r
+        {\r
+            MusciSourceLabel = new UILabel();\r
+            if (MusciSourceLabel == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusciSourceLabel new fail");\r
+                return;\r
+            }\r
         }\r
+        MusciSourceLabel->SetPosition(163, 90, 140, 41);\r
+        MusciSourceLabel->SetText("本地音乐");\r
+        MusciSourceLabel->SetStyle(STYLE_TEXT_FONT, 35);\r
+        MusciSourceLabel->SetStyle(STYLE_LINE_HEIGHT, 41);\r
+        MusciSourceLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+        MusciSourceLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        MusciSourceLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35);\r
+        Add(MusciSourceLabel);\r
+    }\r
+\r
+    /// @brief 设置音乐来源标签内容\r
+    /// @param text 文本内容\r
+    void PlayersView::MusicSourceLabelSetText(const char *text)\r
+    {\r
+        MusciSourceLabel->SetText(text);\r
+        MusciSourceLabel->Invalidate();\r
     }\r
-    MusciSourceLabel->SetPosition(163, 90, 140, 41);\r
-    MusciSourceLabel->SetText("本地音乐");\r
-    MusciSourceLabel->SetStyle(STYLE_TEXT_FONT, 35);\r
-    MusciSourceLabel->SetStyle(STYLE_LINE_HEIGHT, 41);\r
-    MusciSourceLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-    MusciSourceLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-    MusciSourceLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 35);\r
-    Add(MusciSourceLabel);\r
-}\r
 \r
-/// @brief 设置音乐来源标签内容\r
-/// @param text 文本内容\r
-void PlayersView::MusicSourceLabelSetText(const char *text)\r
-{\r
-   MusciSourceLabel->SetText(text);\r
-   MusciSourceLabel->Invalidate();\r
-}\r
-\r
-/// @brief 创建手机音乐连接状态标签\r
-/// @param  \r
-void PlayersView::CreatePhoneMusicConnectStatusLabel(void)\r
-{\r
-    if (PhoneMusicConnectStatusLabel == nullptr) {\r
-        PhoneMusicConnectStatusLabel = new UILabel();\r
-        if (PhoneMusicConnectStatusLabel == nullptr) {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PhoneMusicConnectStatusLabel new fail");\r
-            return;\r
+    /// @brief 创建手机音乐连接状态标签\r
+    /// @param\r
+    void PlayersView::CreatePhoneMusicConnectStatusLabel(void)\r
+    {\r
+        if (PhoneMusicConnectStatusLabel == nullptr)\r
+        {\r
+            PhoneMusicConnectStatusLabel = new UILabel();\r
+            if (PhoneMusicConnectStatusLabel == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PhoneMusicConnectStatusLabel new fail");\r
+                return;\r
+            }\r
         }\r
+        PhoneMusicConnectStatusLabel->SetPosition(188, 40, 90, 35);\r
+        PhoneMusicConnectStatusLabel->SetText("未连接");\r
+        PhoneMusicConnectStatusLabel->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));\r
+        PhoneMusicConnectStatusLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+        PhoneMusicConnectStatusLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        PhoneMusicConnectStatusLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+        PhoneMusicConnectStatusLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        PhoneMusicConnectStatusLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        PhoneMusicConnectStatusLabel->SetVisible(false);\r
+        Add(PhoneMusicConnectStatusLabel);\r
+    }\r
+\r
+    /// @brief 设置手机音乐连接状态标签内容\r
+    /// @param text 文本内容\r
+    void PlayersView::PhoneMusicConnectStatusLabelSetText(const char *text)\r
+    {\r
+        PhoneMusicConnectStatusLabel->SetText(text);\r
+        PhoneMusicConnectStatusLabel->Invalidate();\r
     }\r
-    PhoneMusicConnectStatusLabel->SetPosition(188, 40, 90, 35);\r
-    PhoneMusicConnectStatusLabel->SetText("未连接");\r
-    PhoneMusicConnectStatusLabel->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));\r
-    PhoneMusicConnectStatusLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
-    PhoneMusicConnectStatusLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-    PhoneMusicConnectStatusLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-    PhoneMusicConnectStatusLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-    PhoneMusicConnectStatusLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-    PhoneMusicConnectStatusLabel->SetVisible(false);\r
-    Add(PhoneMusicConnectStatusLabel);\r
-}\r
-\r
-/// @brief 设置手机音乐连接状态标签内容\r
-/// @param text 文本内容\r
-void PlayersView::PhoneMusicConnectStatusLabelSetText(const char *text)\r
-{\r
-    PhoneMusicConnectStatusLabel->SetText(text);\r
-    PhoneMusicConnectStatusLabel->Invalidate();\r
-}\r
-\r
-/// @brief 设置手机连接状态标签是否可见\r
-/// @param status \r
-void PlayersView::PhoneMusicConnectStatusLabelIsSetVisible(bool status)\r
-{\r
-    PhoneMusicConnectStatusLabel->SetVisible(status);\r
-}\r
-\r
-/// @brief 设置音乐列表按钮是否可见\r
-/// @param status \r
-void PlayersView::MusicListButtonIsSetVisible(bool status)\r
-{\r
-    music_list_button->SetVisible(status);\r
-}\r
 \r
-/// @brief 设置选项按钮的图片样式:点击该按钮后进入音乐来源视图,点击里面的按钮,改选项按钮会被替换相应图片\r
-/// @param image 图片信息\r
-void PlayersView::OptionsButtonSetImageStyle(ImageInfo *image)\r
-{\r
-    optionsButton->SetImageSrc(image, image);\r
-    optionsButton->Invalidate();\r
-}\r
-//初始化音乐播放器主视图\r
-bool PlayersView::InitView(void)\r
-{\r
-    int ret;\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " PlayersView InitView");\r
+    /// @brief 设置手机连接状态标签是否可见\r
+    /// @param status\r
+    void PlayersView::PhoneMusicConnectStatusLabelIsSetVisible(bool status)\r
+    {\r
+        PhoneMusicConnectStatusLabel->SetVisible(status);\r
+    }\r
 \r
-    if (InitBackGround() == false) {\r
-        return false;\r
+    /// @brief 设置音乐列表按钮是否可见\r
+    /// @param status\r
+    void PlayersView::MusicListButtonIsSetVisible(bool status)\r
+    {\r
+        music_list_button->SetVisible(status);\r
     }\r
 \r
-    //CreatePlayerMusicName();\r
-    CreatePhoneMusicConnectStatusLabel();\r
-    CreateMusicSourceLabel();\r
-    // changeView\r
-    CreateJumpView();\r
-    // OnClick\r
-    CreatePlayersPresenter();\r
-    // OnDrag\r
-    CreatePlayerOnDragListener();\r
-    // 按键设置\r
-    ret = ShowUpButtonView();\r
-    if (ret == OHOS_FAILURE) {\r
-        return false;\r
+    /// @brief 设置选项按钮的图片样式:点击该按钮后进入音乐来源视图,点击里面的按钮,改选项按钮会被替换相应图片\r
+    /// @param image 图片信息\r
+    void PlayersView::OptionsButtonSetImageStyle(ImageInfo *image)\r
+    {\r
+        optionsButton->SetImageSrc(image, image);\r
+        optionsButton->Invalidate();\r
     }\r
-    // 需要一个模拟信息,假装发生了按键点击,开始播放音乐\r
-    // 调用 OnClick 回调函数来处理点击事件\r
-    //playerButton.OnClick(,);\r
-    // 遍历文件名到list链表\r
-    PlayersListGroup::GetInstance()->SetUpListCase();\r
-    PlayersModel::GetInstance()->PlayerInit();\r
-    ShowUpListView();\r
-    ShowUpDelSongView();\r
-    SetTouchable(true);\r
-    SetDraggable(true);\r
-    return true;\r
-}\r
+    // 初始化音乐播放器主视图\r
+    bool PlayersView::InitView(void)\r
+    {\r
+        int ret;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " PlayersView InitView");\r
 \r
-void PlayersView::PreLoad(void)\r
-{\r
-    if (!viewiInitStatus) {\r
-        if (InitView()) {\r
-            viewiInitStatus = true;\r
+        if (InitBackGround() == false)\r
+        {\r
+            return false;\r
+        }\r
+\r
+        // CreatePlayerMusicName();\r
+        CreatePhoneMusicConnectStatusLabel();\r
+        CreateMusicSourceLabel();\r
+        // changeView\r
+        CreateJumpView();\r
+        // OnClick\r
+        CreatePlayersPresenter();\r
+        // OnDrag\r
+        CreatePlayerOnDragListener();\r
+        // 按键设置\r
+        ret = ShowUpButtonView();\r
+        if (ret == OHOS_FAILURE)\r
+        {\r
+            return false;\r
+        }\r
+        // 需要一个模拟信息,假装发生了按键点击,开始播放音乐\r
+        // 调用 OnClick 回调函数来处理点击事件\r
+        // playerButton.OnClick(,);\r
+        // 遍历文件名到list链表\r
+        PlayersListGroup::GetInstance()->SetUpListCase();\r
+        PlayersModel::GetInstance()->PlayerInit();\r
+        ShowUpListView();\r
+        ShowUpDelSongView();\r
+        SetTouchable(true);\r
+        SetDraggable(true);\r
+        return true;\r
+    }\r
+\r
+    void PlayersView::PreLoad(void)\r
+    {\r
+        if (!viewiInitStatus)\r
+        {\r
+            if (InitView())\r
+            {\r
+                viewiInitStatus = true;\r
+            }\r
         }\r
     }\r
-}\r
 \r
-void PlayersView::UnLoad(void)\r
-{\r
-    // Players's usage scenes is complicated, so we do not release it's resources inner slice.\r
-}\r
-//加载音乐图片\r
-bool PlayersView::LoadPlayerImage(UIImageView *view, uint32_t resId)\r
-{\r
-    std::string file = PLAYER_IAMGES;\r
-    ImageInfo* image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
-    if (image == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::LoadPlayerImage %x fail", resId);\r
-        return false;\r
+    void PlayersView::UnLoad(void)\r
+    {\r
+        // Players's usage scenes is complicated, so we do not release it's resources inner slice.\r
+    }\r
+    // 加载音乐图片\r
+    bool PlayersView::LoadPlayerImage(UIImageView *view, uint32_t resId)\r
+    {\r
+        std::string file = PLAYER_IAMGES;\r
+        ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
+        if (image == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::LoadPlayerImage %x fail", resId);\r
+            return false;\r
+        }\r
+        view->SetSrc(image);\r
+        return true;\r
     }\r
-    view->SetSrc(image);\r
-    return true;\r
-}\r
 }\r
index 4bf5d9c..3edcf98 100644 (file)
@@ -92,6 +92,7 @@ namespace OHOS
     static constexpr const char *SPORT_STOP_IMAGE = MODULES "/Sport_stop.bin";
     static constexpr const char *SPORT_STRENGTH_IMAGE = MODULES "/Sport_strength.bin";
     static constexpr const char *STEP_30_IMAGE = MODULES "/Step_30.bin";
+    static constexpr const char *SPORT_HEARTRATE_IMAGE = MODULES "/sport_heartrate.bin";
     static constexpr const char *TIME_IMAGE = MODULES "/Time.bin";
     static constexpr const char *WALKING_54_IMAGE = MODULES "/Walking_54.bin";
     static constexpr const char *WARNING_IMAGE = MODULES "/Warning.bin";
index 5e8b65f..3b88144 100644 (file)
@@ -193,6 +193,8 @@ namespace OHOS
         void AnalysisData(cywee_activity_result_t *cyweeInfo);
         /*获取训练数据*/
         SportData *GetSportdata();
+        /*获取运动卡路里*/
+        int GetCal();
 
     private:
         TraingModel(const TraingModel &) = delete;
index 13e680e..dadbdca 100644 (file)
@@ -269,7 +269,7 @@ namespace OHOS
         label->SetFont(fontName, fontSize);
         // 设置标签的文本和其他属性
         label->SetText(text);
-        label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+        label->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
         label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
         label->SetRollSpeed(0);
         // 设置标签可见
@@ -315,7 +315,7 @@ namespace OHOS
         label->SetTextId(id);
         // label->SetFontId();
         label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        label->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
+        label->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
         label->SetRollSpeed(100);
         // 设置标签可见
         label->SetVisible(true);
@@ -483,12 +483,17 @@ namespace OHOS
             break;
         }
     }
+    /*获取数据*/
     SportData *TraingModel::GetSportdata()
     {
         return sportdata;
     }
-
-    /* -------------------------------------------------------------------------- */
+    /*获取训练卡路里*/
+    int TraingModel::GetCal()
+    {
+        return sportdata->calories;
+    }
+/* -------------------------------------------------------------------------- */
 #if TIMER
     /* 时间显示 */
     std::string TraingModel::DisplayMotionDuration()
index aac83f9..3ceee1f 100644 (file)
@@ -34,6 +34,9 @@
 #include "alipay/include/AlipayModel.h"\r
 namespace OHOS\r
 {\r
+#define BUTTONEXIT "button_exit"\r
+#define BUTTONBACK "button_back"\r
+\r
     enum Control_Card\r
     {\r
         CONTROL = 0,\r
@@ -45,6 +48,7 @@ namespace OHOS
     class TrainingControlView;\r
     class TrainingDataView;\r
     class TrainingDetailView;\r
+    class PlayersView;\r
     class TraingCardView : public View<TraingCardPresenter>\r
     {\r
 \r
@@ -68,6 +72,9 @@ namespace OHOS
         void InitList();\r
         void PreLoad(void);\r
 \r
+        void SetEndViewStatus(bool status);\r
+        void ShowEndView();\r
+        UIView *GetTraingCrad();\r
         int GetCurrentPage();\r
 \r
     private:\r
@@ -76,13 +83,19 @@ namespace OHOS
         TraingCardView &operator=(TraingCardView &&) = delete;\r
 \r
         UICrossView *swipe_ = nullptr;\r
-\r
-        TrainingControlView *ControlView{nullptr};\r
-        TrainingDataView *DataVIew{nullptr};\r
-        TrainingDetailView *DetailView{nullptr};\r
-        PlayersView *MusicView{nullptr};\r
+        UIScrollView *endView{nullptr};\r
+        TrainingControlView *ControlView{nullptr}; // 控制卡片\r
+        TrainingDataView *DataVIew{nullptr};       // 数据卡片\r
+        TrainingDetailView *DetailView{nullptr};   // 详细数据卡片\r
+        PlayersView *MusicView{nullptr};           // 音乐卡片\r
+        UILabelExt *endtitle{nullptr};             // 结束弹窗title\r
+        UILabelExt *notelabel{nullptr};            // 提醒label\r
+        UILabelExt *endnotelabel{nullptr};\r
+        UIButton *exit{nullptr}; // 退出按键\r
+        UIButton *back{nullptr}; // 返回按键\r
 \r
         bool viewiInitStatus{false};\r
+        bool momentumFlag{false};\r
     };\r
 } // namespace OHOS\r
 #endif // TraingCard_PRESENTER_H\r
index 7fd16b2..943f5cc 100644 (file)
@@ -58,7 +58,7 @@ namespace OHOS
         UILabelExt *strengthlabel = nullptr; // 运动强度
 
         UIImageView *image_progress = nullptr;
-        UIImageView *image_arrows = nullptr;
+        UIImageView *image_heart = nullptr;
         UIImageView *image_lowIntensity = nullptr;       // 低等强度
         UIImageView *image_mediumIntensity = nullptr;    // 中等强度
         UIImageView *image_highIntensity = nullptr;      // 高等强度
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingEndNoteView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingEndNoteView.h
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingEndView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingEndView.h
deleted file mode 100644 (file)
index e69de29..0000000
index 7358ad8..53fe368 100644 (file)
@@ -106,6 +106,7 @@ namespace OHOS
     }\r
 \r
     /* --------------------------------- cywee库操作 -------------------------------- */\r
+    /*开启cywee*/\r
     bool TraingCardPresenter::OpenSensor(ExerciseClass type)\r
     {\r
         // 根据不同的运动项目进行不同的运动\r
@@ -114,22 +115,22 @@ namespace OHOS
         switch (type)\r
         {\r
         case ExerciseClass::NORMAL:\r
-            do_cywee_service_check_msg(SPORT_ACTIVE_MODE_NORMAL);\r
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NORMAL_MODE);\r
             break;\r
         case ExerciseClass::TREADMILL:\r
-            do_cywee_service_check_msg(SPORT_ACTIVE_MODE_TREADMILL);\r
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_TREADMILL_MODE);\r
             break;\r
         case ExerciseClass::OUTDOOR:\r
-            do_cywee_service_check_msg(SPORT_ACTIVE_MODE_OUTDOOR_RUNNING);\r
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_OUTDOOR_RUNNING_MODE);\r
             break;\r
         case ExerciseClass::INDOOR:\r
-            do_cywee_service_check_msg(SPORT_ACTIVE_MODE_INDOOR_RUNNING);\r
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_INDOOR_RUNNING_MODE);\r
             break;\r
         case ExerciseClass::FITNESS_PEDOMETER:\r
-            do_cywee_service_check_msg(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR);\r
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_FITNESS_PEDOMETER_MODE);\r
             break;\r
         case ExerciseClass::FREE_TRAINING:\r
-            do_cywee_service_check_msg(SPORT_ACTIVE_MODE_FREE_TRAINING);\r
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_FREE_TRAINING_MODE);\r
             break;\r
         default:\r
             break;\r
@@ -138,6 +139,7 @@ namespace OHOS
         return true;\r
     }\r
 \r
+    /*控制cywee*/\r
     bool TraingCardPresenter::ControlSensor(ExerciseState state)\r
     {\r
         switch (state)\r
@@ -169,23 +171,25 @@ namespace OHOS
             return;\r
         }\r
 \r
-        double distance_km = sportdata->distance / 1000.0; // 转换为公里\r
-        std::stringstream stream;\r
-        stream << std::fixed << std::setprecision(2) << distance_km;\r
-        std::string distanceStr = stream.str();\r
+        double distance_km = sportdata->distance / 1000.0; // 转换为公里并保留两位小数\r
+        std::stringstream ss;\r
+        ss << std::fixed << std::setprecision(2) << distance_km;\r
+        std::string distanceStr = ss.str();\r
 \r
-        std::string calorieStr = (sportdata->calories != 0) ? std::to_string(sportdata->calories) : "--";\r
         std::string durationStr = std::to_string(sportdata->duration);\r
         std::string stepsStr = (sportdata->steps != 0) ? std::to_string(sportdata->steps) : "--";\r
+        std::string calorieStr = (sportdata->calories != 0) ? std::to_string(sportdata->calories) : "--";\r
 \r
         TrainingDetailView::GetInstance()->GetHeartLabel()->SetText("0");\r
         TrainingDetailView::GetInstance()->GetCalorieLabel()->SetText(calorieStr.c_str());\r
         TrainingDetailView::GetInstance()->GetMileLabel()->SetText(distanceStr.c_str());\r
         TrainingDetailView::GetInstance()->GetStepLabel()->SetText(stepsStr.c_str());\r
 \r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlSensor--%s %s %s!!", calorieStr.c_str(), distanceStr.c_str(), stepsStr.c_str());\r
-    }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlSensor--Calories: %s, Distance: %s, Steps: %s", calorieStr.c_str(), distanceStr.c_str(), stepsStr.c_str());\r
 \r
+        // 释放sportdata内存\r
+    }\r
+    /*刷新time和data*/\r
     void TraingCardPresenter::Notify(void)\r
     {\r
         TrainingDataView::GetInstance()->UpdataTime();\r
@@ -225,11 +229,24 @@ namespace OHOS
                 return true;\r
             }\r
         }\r
-        // 点击结束按键\r
+        // 点击结束按键,弹窗显示\r
         if (strcmp(view.GetViewId(), BUTTONEND) == 0)\r
         {\r
-            ControlSensor(ExerciseState::End);\r
+            ControlSensor(ExerciseState::Pause);\r
             // 弹窗显示是否结束\r
+            TraingCardView::GetInstance()->SetEndViewStatus(true);\r
+        }\r
+        // 退出按键\r
+        if (strcmp(view.GetViewId(), BUTTONEXIT) == 0)\r
+        {\r
+            ControlSensor(ExerciseState::End);\r
+            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGWIN);\r
+        }\r
+        // 返回按键\r
+        if (strcmp(view.GetViewId(), BUTTONBACK) == 0)\r
+        {\r
+            ControlSensor(ExerciseState::Continue);\r
+            TraingCardView::GetInstance()->SetEndViewStatus(false);\r
         }\r
         return true;\r
     }\r
index 4801607..fbbdc92 100644 (file)
@@ -79,13 +79,13 @@ namespace OHOS
         swipe_->HorAdd(ControlView);\r
         swipe_->HorAdd(DataVIew);\r
         swipe_->HorAdd(MusicView);\r
+        ShowEndView();\r
         // swipe_->HorAdd(DetailView);\r
 \r
         swipe_->VerAdd(DetailView, UICrossView::VPage::DOWN_PAGE);\r
-\r
         swipe_->SetHorCurrentPage(Control_Card::CONTROL);\r
 \r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitPage over");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingCardView::InitPage over");\r
     }\r
 \r
     /* DeInit:删除组件 */\r
@@ -121,6 +121,37 @@ namespace OHOS
             delete MusicView;\r
             MusicView = nullptr;\r
         }\r
+        if (MusicView != nullptr)\r
+        {\r
+            endView->RemoveAll();\r
+            delete endView;\r
+            endView = nullptr;\r
+        }\r
+        if (endtitle != nullptr)\r
+        {\r
+            delete endtitle;\r
+            endtitle = nullptr;\r
+        }\r
+        if (notelabel != nullptr)\r
+        {\r
+            delete notelabel;\r
+            notelabel = nullptr;\r
+        }\r
+        if (endnotelabel != nullptr)\r
+        {\r
+            delete endnotelabel;\r
+            endnotelabel = nullptr;\r
+        }\r
+        if (exit != nullptr)\r
+        {\r
+            delete exit;\r
+            exit = nullptr;\r
+        }\r
+        if (back != nullptr)\r
+        {\r
+            delete back;\r
+            back = nullptr;\r
+        }\r
     }\r
     UICardPage *TraingCardView::InitControlPage(void)\r
     {\r
@@ -201,7 +232,79 @@ namespace OHOS
         SetContainerView(swipe_);\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "swipe_ new ok");\r
     }\r
+    /*结束弹窗界面*/\r
+    void TraingCardView::ShowEndView()\r
+    {\r
+        momentumFlag = false; // 标志位还原\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowEndView");\r
+        endView = new UIScrollView();\r
+        if (endView == nullptr)\r
+        {\r
+            return;\r
+        }\r
+        endView->SetPosition(0, 0);\r
+        endView->Resize(VERTICAL_RESOLUTION, HORIZONTAL_RESOLUTION);\r
+        endView->SetScrollBlankSize(20);\r
+        endView->SetReboundSize(50);\r
+        endView->SetDirection(1);\r
 \r
+        // 获取训练卡路里判断运动量\r
+        int caldata = TraingModel::GetInstance()->GetCal();\r
+        if (caldata >= 10)\r
+        {\r
+            momentumFlag = true;\r
+        }\r
+        // 初始化Lable\r
+        if (momentumFlag)\r
+        {\r
+            TraingModel::GetInstance()->InitLabel(endtitle, 83, 50, 300, 35, "label1", "结束运动", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+            TraingModel::GetInstance()->InitLabel(notelabel, 56, 187, 360, 40, "label2", "是否结束本次运动", DEFAULT_VECTOR_FONT_FILENAME, 26);\r
+        }\r
+        else\r
+        {\r
+            TraingModel::GetInstance()->InitLabel(endtitle, 83, 50, 300, 35, "label1", "注意", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+            TraingModel::GetInstance()->InitLabel(notelabel, 56, 167, 360, 80, "label2", "当前运动量过少,无法记录 是否结束运动", DEFAULT_VECTOR_FONT_FILENAME, 26);\r
+        }\r
+        endView->Add(endtitle);\r
+        endView->Add(notelabel);\r
+\r
+        TraingModel::GetInstance()->InitButton(exit, 111, 299, 100, 100, BUTTONBACK);\r
+        exit->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingCardPresenter::GetInstance()));\r
+        exit->SetImageSrc(NO_IMAGE, NO_IMAGE);\r
+        TraingModel::GetInstance()->InitButton(back, 256, 299, 100, 100, BUTTONEXIT);\r
+        back->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingCardPresenter::GetInstance()));\r
+        back->SetImageSrc(YES_IMAGE, YES_IMAGE);\r
+        endView->Add(exit);\r
+        endView->Add(back);\r
+        RootView::GetInstance()->Add(endView);\r
+        endView->SetDraggable(false);\r
+        endView->SetTouchable(true);\r
+        endView->SetVisible(false); // 界面隐藏\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowEndView end");\r
+    }\r
+    /*设置结束弹窗状态*/\r
+    void TraingCardView::SetEndViewStatus(bool status)\r
+    {\r
+        if (endView == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingCardView EndView is NULL");\r
+            return;\r
+        }\r
+        /*增加训练卡片控制*/\r
+        UIView *cardview = TraingCardView::GetInstance()->GetTraingCrad();\r
+        if (cardview != nullptr)\r
+        {\r
+            cardview->SetVisible(!status);\r
+        }\r
+        endView->SetVisible(status);\r
+        return;\r
+    }\r
+\r
+    /*获取卡片View单例*/\r
+    UIView *TraingCardView::GetTraingCrad()\r
+    {\r
+        return swipe_;\r
+    }\r
     void TraingCardView::OnSetUpView()\r
     {\r
         View<TraingCardPresenter>::OnSetUpView();\r
index c916ea0..bdac38c 100644 (file)
@@ -41,23 +41,23 @@ namespace OHOS
     void TrainingControlView ::InitView()
     {
         //  初始化Button
-        TraingModel::GetInstance()->InitButton(buttonEnd, 100, 202, 100, 100, BUTTONEND);
+        TraingModel::GetInstance()->InitButton(buttonEnd, 91, 205, 110, 110, BUTTONEND);
         // Set additional property
         buttonEnd->SetImageSrc(SPORT_STOP_IMAGE, SPORT_STOP_IMAGE);
         // 设置按钮的点击事件监听器为 TraingGPSPresenter 的实例
         buttonEnd->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingCardPresenter::GetInstance()));
         Add(buttonEnd);
-        TraingModel::GetInstance()->InitButton(buttonStop, 255, 202, 100, 100, BUTTONSTOP);
+        TraingModel::GetInstance()->InitButton(buttonStop, 261, 205, 110, 110, BUTTONSTOP);
         // Set additional property
         buttonStop->SetImageSrc(SPORT_PAUSE_IMAGE, SPORT_PAUSE_IMAGE);
         buttonStop->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingCardPresenter::GetInstance()));
         Add(buttonStop);
 
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(labeltitle, 188, 52, 90, 35, "label1", "训练中", DEFAULT_VECTOR_FONT_FILENAME, 30);
-        TraingModel::GetInstance()->InitLabel(labeltimer, 98, 110, 60, 35, "label2", "00:00:00", DEFAULT_VECTOR_FONT_FILENAME, 65);
-        TraingModel::GetInstance()->InitLabel(labelend, 125, 324, 60, 40, "label3", "结束", DEFAULT_VECTOR_FONT_FILENAME, 20);
-        TraingModel::GetInstance()->InitLabel(labelstop, 280, 324, 60, 40, "label4", "暂停", DEFAULT_VECTOR_FONT_FILENAME, 20);
+        TraingModel::GetInstance()->InitLabel(labeltitle, 83, 50, 300, 35, "label1", "训练中", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabel(labeltimer, 98, 110, 270, 75, "label2", "00:00:00", DEFAULT_VECTOR_FONT_FILENAME, 65);
+        TraingModel::GetInstance()->InitLabel(labelend, 81, 330, 130, 35, "label3", "结束", DEFAULT_VECTOR_FONT_FILENAME, 20);
+        TraingModel::GetInstance()->InitLabel(labelstop, 251, 330, 130, 35, "label4", "暂停", DEFAULT_VECTOR_FONT_FILENAME, 20);
         Add(labeltitle);
         Add(labeltimer);
         Add(labelend);
index b61bf67..c2d2092 100644 (file)
@@ -40,21 +40,22 @@ namespace OHOS
     {
         // 初始化Image
         TraingModel::GetInstance()->InitImageView(image_progress, 13, 13, 440, 386, "image1", PROGRESS_IMAGE);
-        TraingModel::GetInstance()->InitImageView(image_arrows, 208, 297, 20, 20, "image2", ARROWS_IMAGE);
-        TraingModel::GetInstance()->InitImageView(image_lowIntensity, 98, 314, 270, 20, "image3", SPORT_STRENGTH_IMAGE);
+        TraingModel::GetInstance()->InitImageView(image_heart, 88, 284, 50, 50, "image2", SPORT_HEARTRATE_IMAGE);
+        // TraingModel::GetInstance()->InitImageView(image_lowIntensity, 98, 314, 270, 20, "image3", SPORT_STRENGTH_IMAGE);
         TraingModel::GetInstance()->InitImageView(image_iconup, 225, 396, 16, 10, "image4", INCO_UP_IMAGE);
         TraingModel::GetInstance()->InitImageView(image_iconpoint, 193, 421, 80, 20, "image5", DATA_POINT_IMAGE);
         Add(image_progress);
-        Add(image_arrows);
-        Add(image_lowIntensity);
+        Add(image_heart);
+        // Add(image_lowIntensity);
         Add(image_iconup);
         Add(image_iconpoint);
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(curtimelabel, 185, 60, 90, 35, "label1", "23:54", DEFAULT_VECTOR_FONT_FILENAME, 40);
-        TraingModel::GetInstance()->InitLabel(sportlabel, 158, 120, 150, 35, "label2", "跳绳运动中", DEFAULT_VECTOR_FONT_FILENAME, 30);
-        TraingModel::GetInstance()->InitLabel(timerlabel, 90, 175, 60, 40, "label3", "00:00:00", DEFAULT_VECTOR_FONT_FILENAME, 80);
-        TraingModel::GetInstance()->InitLabel(heartlabel, 150, 276, 60, 40, "label4", "144", DEFAULT_VECTOR_FONT_FILENAME, 23);
-        TraingModel::GetInstance()->InitLabel(strengthlabel, 167, 350, 60, 40, "label4", "中等强度", DEFAULT_VECTOR_FONT_FILENAME, 26);
+        TraingModel::GetInstance()->InitLabel(curtimelabel, 185, 60, 90, 50, "label1", "23:54", DEFAULT_VECTOR_FONT_FILENAME, 40);
+        TraingModel::GetInstance()->InitLabel(sportlabel, 83, 120, 300, 35, "label2", "跳绳运动中", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        sportlabel->SetStyle();
+        TraingModel::GetInstance()->InitLabel(timerlabel, 63, 165, 340, 99, "label3", "00:00:00", DEFAULT_VECTOR_FONT_FILENAME, 65);
+        TraingModel::GetInstance()->InitLabel(heartlabel, 144, 284, 230, 80, "label4", "144", DEFAULT_VECTOR_FONT_FILENAME, 60);
+        TraingModel::GetInstance()->InitLabel(strengthlabel, 167, 284, 230, 80, "label5", "bpm", DEFAULT_VECTOR_FONT_FILENAME, 60);
         Add(curtimelabel);
         Add(sportlabel);
         Add(timerlabel);
@@ -67,7 +68,7 @@ namespace OHOS
         buttonNote->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingCardPresenter::GetInstance()));
         Add(buttonNote);
 
-        //增加上拉卡片
+        // 增加上拉卡片
         SetCoverable(true);
     }
 
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingEndNoteView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingEndNoteView.cpp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingEndView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingEndView.cpp
deleted file mode 100644 (file)
index e69de29..0000000
index e3f8013..31e10fb 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabelExt(title, 135, 52, 200, 60, "label1", STR_WATER_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 83, 50, 300, 35, "label1", STR_WATER_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
         scrollView->Add(title);
         // UIList 的适配器
index 0597be5..678d448 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabelExt(title, 135, 52, 200, 60, "label1", STR_BALL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 83, 50, 300, 35, "label1", STR_BALL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
         scrollView->Add(title);
         // UIList 的适配器
index fe02e9d..137d4a0 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabelExt(title, 135, 52, 200, 60, "label1", STR_DANCING_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 83, 50, 300, 35, "label1", STR_DANCING_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
         scrollView->Add(title);
         // UIList 的适配器
index ce274fc..3540568 100644 (file)
@@ -59,7 +59,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabelExt(title, 135, 52, 200, 60, "label1", STR_EXERCISE_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 83, 50, 300, 35, "label1", STR_EXERCISE_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
         scrollView->Add(title);
         // UIList 的适配器
index 47bf3f1..f34b30c 100644 (file)
@@ -69,7 +69,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabelExt(title, 135, 52, 200, 60, "label1", STR_ICE_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 83, 50, 300, 35, "label1", STR_ICE_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
         scrollView->Add(title);
         // UIList 的适配器
index 1be5906..54cc0fd 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 \r
         /* -------------------------------------------------------------------------- */\r
         // 初始化Lable\r
-        TraingModel::GetInstance()->InitLabelExt(title, 135, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        TraingModel::GetInstance()->InitLabelExt(title, 83, 50, 300, 35, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);\r
         scrollView->Add(title);\r
         // UIList 的适配器\r
index fc88479..30a9ba8 100644 (file)
@@ -66,7 +66,7 @@ namespace OHOS
 \r
         /* -------------------------------------------------------------------------- */\r
         // 初始化Lable\r
-        TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_TRAINING, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        TraingModel::GetInstance()->InitLabelExt(title,83, 50, 300, 35, "label1", STR_TRAINING, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
         scrollView->Add(title);\r
         // UIList 的适配器\r
         p_TraingMoreListAdapter = new TraingMoreAdapter();\r
index 1d85526..5b5bdcb 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_OTHER_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title,83, 50, 300, 35, "label1", STR_OTHER_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
         scrollView->Add(title);
         // UIList 的适配器
index 7fdc257..555cfd5 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_RECREATIONAL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 83, 50, 300, 35, "label1", STR_RECREATIONAL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
         title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
         scrollView->Add(title);
         // UIList 的适配器
index dfa9eaf..29fa070 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_continue.bin and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_continue.bin differ
index 80a752d..09cfcda 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_pause.bin and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_pause.bin differ
index 2e12055..7b5a977 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_stop.bin and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/Sport_stop.bin differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/sport_heartrate.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/sport_heartrate.bin
new file mode 100644 (file)
index 0000000..9b6dd78
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/Training/modules/sport_heartrate.bin differ