优化卡片管理,未完善
authorCaisking <3449750381@qq.com>
Thu, 20 Jun 2024 11:53:10 +0000 (19:53 +0800)
committerCaisking <3449750381@qq.com>
Thu, 20 Jun 2024 11:53:10 +0000 (19:53 +0800)
code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h
code/sdk/application/wearable/fd230app/nativeui/main/include/MainModel.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp
code/sdk/application/wearable/fd230app/nativeui/message/include/MessageModel.h
code/sdk/application/wearable/fd230app/nativeui/message/include/MessageShowView.h
code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp
code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardPresenter.h
code/sdk/application/wearable/fd230app/nativeui/set_card/src/SetCardModel.cpp
code/sdk/application/wearable/fd230app/nativeui/set_card/src/SetCardView.cpp
code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp

index faff5e5..6542e5f 100644 (file)
@@ -18,15 +18,14 @@ namespace OHOS
     typedef enum
     {
         WATCH_FACE = 0, /* 主表盘枚举值不能修改 */
+        SETCARD,        /*在下方添加新card 与cardinfomap保持一致*/
+        MUSIC_PLAYER,
         HEART_RATE,
+        TRAINING,
         COMPASS,
-        MUSIC_PLAYER,
         BLOODOXGEN,
-        WEATHER,
-        TRAINING,
-        // ACTIVITY,
-        SETCARD,
         GOAL,
+        WEATHER,
         MAX_CARD,
     } CardId;
 
index 1d82fac..2340e85 100644 (file)
@@ -1,3 +1,9 @@
+/***\r
+ * @Date: 2024-05-30 15:59:37\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-06-20 16:26:12\r
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/MainModel.h\r
+ */\r
 /*\r
  * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
  * Description: MainModel.h\r
 \r
 #include <string>\r
 #include "UiConfig.h"\r
-\r
-namespace OHOS {\r
-    typedef struct {\r
+#include <map>\r
+namespace OHOS\r
+{\r
+    typedef struct\r
+    {\r
         CardId id;\r
+        bool visable;\r
         const char *cardImg;\r
     } CardInfo;\r
 \r
-    typedef struct {\r
+    typedef struct\r
+    {\r
         DialId id;\r
         const char *dialName;\r
         const char *dialImg;\r
         uint8_t freq;\r
     } DialInfo;\r
 \r
-    typedef struct {\r
+    typedef struct\r
+    {\r
         uint8_t dialFlag;\r
         uint8_t dialId;\r
         std::string dialFullName;\r
     } DialSetting;\r
 \r
-    class MainModel {\r
+    class MainModel\r
+    {\r
     public:\r
         static MainModel &GetInstance(void);\r
         void InitCardSettings(void);\r
@@ -47,6 +59,8 @@ namespace OHOS {
         void SetFromSetCardView(bool isFrom);\r
         void SetFromCardId(uint8_t cardId);\r
         uint8_t GetFromCardId(void);\r
+        bool GetCardVisable(CardId card);\r
+\r
     private:\r
         void InitDialSettingDefault(void);\r
         MainModel();\r
@@ -54,7 +68,7 @@ namespace OHOS {
         MainModel &operator=(const MainModel &);\r
         virtual ~MainModel();\r
 \r
-        CardId cardSettings[CARD_SETTING_COUNT_MAX] = { MAX_CARD };\r
+        CardId cardSettings[CARD_SETTING_COUNT_MAX] = {MAX_CARD};\r
         uint8_t cardSettingCount{0};\r
         DialSetting dialSetting;\r
         bool isFromSetCardView{false};\r
index 498bd52..a23a831 100644 (file)
 #include "kv_store.h"\r
 #include "securec.h"\r
 #include "wearable_log.h"\r
-\r
+#include <map>\r
 namespace OHOS\r
 {\r
     static const int CARD_SETTING_VALUE_LEN = 32;\r
     static const int DIAL_SETTING_VALUE_LEN = 64;\r
     // 更新主界面卡片需要更新Map\r
     const CardInfo cardInfoMap[] = {\r
-        {HEART_RATE, PNG_SET_CARD_HEART},\r
-        {COMPASS, PNG_SET_CARD_COMPASS},\r
-        {MUSIC_PLAYER, PNG_SET_CARD_PLAYER},\r
-        {BLOODOXGEN, PNG_SET_CARD_BLOOD},\r
-        {WEATHER, PNG_SET_CARD_WEATHER},\r
-        {TRAINING, PNG_SET_CARD_TRAIN},\r
-        {SETCARD, PNG_SET_CARD_MAIN},\r
-        {GOAL, PNG_SET_CARD_ACTIVITY},\r
-\r
-        // {ACTIVITY, PNG_SET_CARD_ACTIVITY},\r
+        {MUSIC_PLAYER, true, PNG_SET_CARD_PLAYER}, // 音乐播放器\r
+        {HEART_RATE, true, PNG_SET_CARD_HEART},    // 心率检测\r
+        {TRAINING, false, PNG_SET_CARD_TRAIN},     // 训练\r
+        {COMPASS, true, PNG_SET_CARD_COMPASS},     // 指南针\r
+        {BLOODOXGEN, false, PNG_SET_CARD_BLOOD},   // 血氧检测\r
+        {GOAL, true, PNG_SET_CARD_ACTIVITY},       // 每日目标\r
+        {WEATHER, false, PNG_SET_CARD_WEATHER},    // 天气\r
     };\r
-    /*自定义map?*/\r
+\r
+    /*自定义表盘map?*/\r
     const DialInfo dialInfoMap[] = {\r
         {DIAL_CLOCK, "KUMI", DEFAULT_DIALPER_PATH, DEFAULT_TASK_PERIOD},\r
     };\r
@@ -66,7 +64,15 @@ namespace OHOS
         }\r
         return nullptr;\r
     }\r
-\r
+    bool MainModel::GetCardVisable(CardId card)\r
+    {\r
+        const CardInfo *info = GetCardInfo(card);\r
+        if (info != nullptr)\r
+        {\r
+            return info->visable;\r
+        }\r
+        return false;\r
+    }\r
     void MainModel::InitCardSettings(void)\r
     {\r
         char temp[CARD_SETTING_VALUE_LEN] = {0};\r
@@ -94,18 +100,23 @@ namespace OHOS
         else\r
         {\r
             /* 使用默认card配置 */\r
+            cardSettings[index++] = SETCARD;\r
             cardSettings[index++] = WATCH_FACE;\r
-            cardSettings[index++] = HEART_RATE;\r
-            cardSettings[index++] = COMPASS;\r
-            // cardSettings[index++] = ACTIVITY;\r
-            cardSettings[index++] = MUSIC_PLAYER;\r
-            cardSettings[index++] = SETCARD; // 默认卡片增加设置卡片\r
+            /**遍历cardInfoMap 的默认visable选项,true的被设置进来 */\r
+            for (uint8_t i = WATCH_FACE + 2; i < MAX_CARD; i++)\r
+            {\r
+                if (GetCardVisable((CardId)i) == true)\r
+                {\r
+                    cardSettings[index++] = (CardId)i;\r
+                }\r
+            }\r
             cardSettingCount = index;\r
         }\r
     }\r
 \r
     void MainModel::DeleteCardSetting(uint8_t index)\r
     {\r
+        /**找到 cardInfoMap 中的 对应 CardId , 在 cardSettings中删除   */\r
         char temp[CARD_SETTING_VALUE_LEN] = {0};\r
         for (uint8_t i = 0; i < cardSettingCount; i++)\r
         {\r
@@ -131,6 +142,7 @@ namespace OHOS
 \r
     void MainModel::AddCardSetting(uint8_t index)\r
     {\r
+        /** 找到 cardInfoMap 中的 对应 CardId , 在 cardSettings中添加*/\r
         char temp[CARD_SETTING_VALUE_LEN] = {0};\r
         if (cardSettingCount >= CARD_SETTING_COUNT_MAX)\r
         {\r
@@ -259,4 +271,5 @@ namespace OHOS
     {\r
         return fromCardId;\r
     }\r
+\r
 }
\ No newline at end of file
index c043138..3d84156 100644 (file)
@@ -1,3 +1,9 @@
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-06-20 10:02:36
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageModel.h
+ */
 #ifndef MESSAGE_MODEL_H
 #define MESSAGE_MODEL_H
 
@@ -41,6 +47,7 @@ namespace OHOS
         void SetCurrentMessageData(MessageData *data); // 设置当前消息数据
         bool ClearAllData();                           // 清除所有数据
         bool DeleteSingleItem();                       // 删除单个项
+        MessageData *GetNewestData();                  // 获取最新信息项
 
     private:
         MessageModel();
index 2205141..8e30a08 100644 (file)
@@ -1,3 +1,9 @@
+/*** 
+ * @Date: 2024-06-17 19:38:57
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-06-20 10:16:16
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/message/include/MessageShowView.h
+ */
 
 
 #ifndef MessageShow_VIEW_H
index 87b8699..0ec8dcb 100644 (file)
@@ -196,5 +196,13 @@ namespace OHOS
     {
         return true;
     }
+    // 获取最新消息项
+    MessageData *MessageModel::GetNewestData()
+    {
+        std::vector<MessageData> messageVector = LoadMessageData();
+        numberOfItems = messageVector.size();
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "the numberOfItems is %d", numberOfItems);
 
+        return &messageVector[numberOfItems - 1];
+    }
 }
index 716ee87..d8d712f 100644 (file)
@@ -1,7 +1,7 @@
 /*** 
  * @Date: 2024-06-07 16:39:04
  * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-06-11 20:18:34
+ * @LastEditTime: 2024-06-20 15:08:41
  * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardPresenter.h
  */
 /*
@@ -29,7 +29,7 @@ static const char *SET_CARD_DEL_CANCEL = "setcarddelcancel";
 static const char *SET_CARD_IMG = "setcardimg";
 static const char *SET_CARD_MAIN = "setmaincard";
 
-const uint16_t MISS_SET_CARD_OPERATION_TIME = 3000;
+const uint16_t MISS_SET_CARD_OPERATION_TIME = 15000;
 
 class SetCardView;
 class SetCardModel;
index 32ca2b5..c47b3c8 100644 (file)
@@ -1,3 +1,9 @@
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-06-20 15:35:58
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/set_card/src/SetCardModel.cpp
+ */
 /*
  * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
  * Description: SetCardModel.cpp
@@ -10,7 +16,8 @@
 #include "kv_store.h"
 #include "securec.h"
 
-namespace OHOS {
+namespace OHOS
+{
     SetCardModel::SetCardModel() {}
 
     SetCardModel::~SetCardModel() {}
@@ -23,16 +30,36 @@ namespace OHOS {
 
     void SetCardModel::InitCardShowList(void)
     {
+        /**遍历所有 cardInfoMap 显示出来**/
+        for (uint8_t i = WATCH_FACE + 2; i < MAX_CARD; i++)
+        {
+            /*表盘与设置卡片属于不可配置*/
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "All:cardId = %d", i);
+            const CardInfo *info = MainModel::GetInstance().GetCardInfo((CardId)i);
+            if (info == nullptr)
+            {
+                continue;
+            }
+            cardShowList[cardShowCount++] = info->id;
+        }
+
+        // 与cardInfoMap 一一对应。cardSettings里有的对应cardid_visable应该是true
+        // bool cardid_visable[MapCount] = {false};
+        // 用cardInfoMap初始化所有 缩略图的同时,用cardid_visable 要初始化按钮显示哪个。
+#if 0
         MainModel::GetInstance().InitCardSettings();
         uint8_t cardCount = MainModel::GetInstance().GetCardSettingCount();
         CardId *cardSettings = MainModel::GetInstance().GetCardSettings();
         cardShowCount = 0;
-        for (uint8_t i = 0; i < cardCount; i++) {
-            if (cardSettings[i] == WATCH_FACE) {
+        for (uint8_t i = 0; i < cardCount; i++)
+        {
+            if (cardSettings[i] == WATCH_FACE || cardSettings[i] == SETCARD)
+            {
                 continue;
             }
             cardShowList[cardShowCount++] = cardSettings[i];
         }
+#endif
     }
 
     uint8_t *SetCardModel::GetCardShowList(void)
@@ -57,7 +84,10 @@ namespace OHOS {
 
     void SetCardModel::DeleteCardSetting(void)
     {
-        MainModel::GetInstance().DeleteCardSetting(selectedCardIndex);
+        // 只是设置对应cardid_visable 的值
+        // 并根据 当前的所有为true cardid 生成 新的cardSettings 保存起来
+
+        // MainModel::GetInstance().DeleteCardSetting(selectedCardIndex);
     }
 
     void SetCardModel::SetSelectedCard(uint8_t cardId)
index 0efb39e..30dfc8d 100644 (file)
 #include "SetCardView.h"
 #include "SetCardPresenter.h"
 
-namespace OHOS {
-SetCardView::SetCardView():contentList_(UIList::HORIZONTAL)
+namespace OHOS
 {
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::SetCardView");
-}
-
-SetCardView::~SetCardView()
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::~SetCardView");
-    if (deleteView_ != nullptr) {
-        delete deleteView_;
-        deleteView_ = nullptr;
-    }
-
-    if (noCardView_ != nullptr) {
-        delete noCardView_;
-        noCardView_ = nullptr;
+    SetCardView::SetCardView() : contentList_(UIList::HORIZONTAL)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::SetCardView");
     }
 
-    if (setCardAdapter_ != nullptr) {
-        delete setCardAdapter_;
-        setCardAdapter_ = nullptr;
-    }
-}
+    SetCardView::~SetCardView()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::~SetCardView");
+        if (deleteView_ != nullptr)
+        {
+            delete deleteView_;
+            deleteView_ = nullptr;
+        }
 
-void SetCardView::OnStart()
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnStart");
-    View<SetCardPresenter>::OnStart();
-    SetContainerView(new UIViewGroup());
-    container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
-    setCardAdapter_ = new SetCardAdapter();
-    setCardAdapter_->SetItemClickListener(presenter_);
-    SetUpListInfo();
-    SetUpListView();
-    SetUpDeleteView();
-    SetUpAddView();
-}
+        if (noCardView_ != nullptr)
+        {
+            delete noCardView_;
+            noCardView_ = nullptr;
+        }
 
-void SetCardView::OnSetUpView()
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnSetUpView");
-    View<SetCardPresenter>::OnSetUpView();
-    ShowDeleteView(false);
-    if (setCardAdapter_->GetCount() == 0) {
-        ShowAddView(true);
+        if (setCardAdapter_ != nullptr)
+        {
+            delete setCardAdapter_;
+            setCardAdapter_ = nullptr;
+        }
     }
-}
-
-void SetCardView::OnTearDownView()
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnTearDownView");
-    View<SetCardPresenter>::OnTearDownView();
-}
 
-void SetCardView::OnStop()
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnStop");
-    View<SetCardPresenter>::OnStop();
-    RootView::GetInstance()->ClearOnKeyActListener();
-    if (container_ != nullptr) {
-        container_->RemoveAll();
-        delete container_;
-        container_ = nullptr;
+    void SetCardView::OnStart()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnStart");
+        View<SetCardPresenter>::OnStart();
+        SetContainerView(new UIViewGroup());
+        container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+        setCardAdapter_ = new SetCardAdapter();
+        setCardAdapter_->SetItemClickListener(presenter_);
+        SetUpListInfo();
+        SetUpListView();
+        SetUpDeleteView();
+        SetUpAddView();
     }
-}
 
-void SetCardView::SetUpListInfo(void)
-{
-    presenter_->InitCardShowList();
-    uint8_t num = presenter_->GetCardShowCount();
-    uint8_t *cardSettings = presenter_->GetCardShowList();
-    uint8_t selectCardId = presenter_->GetSelectedCard();
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUpListInfo::selectCardId = %u", selectCardId);
-    setCardAdapter_->ClearItem();
-    for (uint8_t i = 0; i < num; i++) {
-        const CardInfo *info = MainModel::GetInstance().GetCardInfo(
-            static_cast<CardId>(cardSettings[i]));
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUpListInfo::%d %s", info->id, info->cardImg);
-        if (selectCardId == info->id) {
-            presenter_->SetSelectedCardIndex(i);
-            scrollIndex_ = i;
-            presenter_->SetSelectedCard(MAX_CARD);
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUpListInfo::scrollIndex_ = %u", scrollIndex_);
+    void SetCardView::OnSetUpView()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnSetUpView");
+        View<SetCardPresenter>::OnSetUpView();
+        ShowDeleteView(false);
+        if (setCardAdapter_->GetCount() == 0)
+        {
+            ShowAddView(true);
         }
-        setCardAdapter_->AddListItem(*info);
     }
-}
 
-void SetCardView::SetUpListView(void)
-{
-    addImg_.SetPosition(187, 10);
-    addImg_.Resize(80, 80);
-    addImg_.SetResizeMode(UIImageView::FILL);
-    addImg_.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
-    addImg_.SetSrc(PNG_SET_CARD_ADD);
-    addImg_.SetViewId(SET_CARD_ADD);
-    addImg_.SetVisible(false);
-
-    contentList_.SetPosition(0, 92);
-    contentList_.Resize(HORIZONTAL_RESOLUTION, 280);
-    contentList_.SetScrollBlankSize(HORIZONTAL_RESOLUTION / 2);
-    contentList_.SetSelectPosition(HORIZONTAL_RESOLUTION / 2);
-    contentList_.SetDraggable(true);
-    contentList_.SetThrowDrag(true);
-    contentList_.EnableAutoAlign(true);
-    contentList_.SetScrollStateListener(presenter_);
-    contentList_.SetMaxScrollDistance(1000);
-    contentList_.SetAdapter(setCardAdapter_);
-    contentList_.SetVisible(false);
-    contentList_.ScrollTo(scrollIndex_);
-
-    delImg_.SetPosition(187, 374);
-    delImg_.Resize(80, 80);
-    delImg_.SetResizeMode(UIImageView::FILL);
-    delImg_.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
-    delImg_.SetSrc(PNG_SET_CARD_DEL);
-    delImg_.SetViewId(SET_CARD_DEL);
-    delImg_.SetVisible(false);
-
-    addImg_.SetTouchable(true);
-    addImg_.SetOnClickListener(presenter_);
-    delImg_.SetTouchable(true);
-    delImg_.SetOnClickListener(presenter_);
-
-    container_->Add(&addImg_);
-    container_->Add(&contentList_);
-    container_->Add(&delImg_);
-}
+    void SetCardView::OnTearDownView()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnTearDownView");
+        View<SetCardPresenter>::OnTearDownView();
+    }
 
-void SetCardView::SetUpDeleteView(void)
-{
-    deleteView_ = new SetCardDeleteView(presenter_);
-    if (deleteView_ == nullptr) {
-        return;
+    void SetCardView::OnStop()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::OnStop");
+        View<SetCardPresenter>::OnStop();
+        RootView::GetInstance()->ClearOnKeyActListener();
+        if (container_ != nullptr)
+        {
+            container_->RemoveAll();
+            delete container_;
+            container_ = nullptr;
+        }
     }
-    deleteView_->SetVisible(false);
-    container_->Add(deleteView_);
-}
 
-void SetCardView::SetUpAddView(void)
-{
-    noCardView_ = new SetCardNoCardView(presenter_);
-    if (noCardView_ == nullptr) {
-        return;
+    /*加载显示的缩约图*/
+    void SetCardView::SetUpListInfo(void)
+    {
+        presenter_->InitCardShowList();
+        uint8_t num = presenter_->GetCardShowCount();
+        uint8_t *cardSettings = presenter_->GetCardShowList();
+        uint8_t selectCardId = presenter_->GetSelectedCard();
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUpListInfo::selectCardId = %u", selectCardId);
+        setCardAdapter_->ClearItem();
+        for (uint8_t i = 0; i < num; i++)
+        {
+            const CardInfo *info = MainModel::GetInstance().GetCardInfo(
+                static_cast<CardId>(cardSettings[i]));
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUpListInfo::%d %s", info->id, info->cardImg);
+            if (selectCardId == info->id)
+            {
+                presenter_->SetSelectedCardIndex(i);
+                scrollIndex_ = i;
+                presenter_->SetSelectedCard(MAX_CARD);
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetUpListInfo::scrollIndex_ = %u", scrollIndex_);
+            }
+            setCardAdapter_->AddListItem(*info);
+        }
     }
-    noCardView_->SetVisible(false);
-    container_->Add(noCardView_);
-}
 
-void SetCardView::ShowCardListView(bool show)
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::ShowCardListView %u", show);
-    if (show) {
-        addImg_.SetVisible(true);
-        contentList_.SetVisible(true);
-        delImg_.SetVisible(true);
-    } else {
+
+    void SetCardView::SetUpListView(void)
+    {
+        /* ---- 根据 cardSettings 中的CardId 确认是否是已添加的 ,+号是cardSettings中有的,-号是其它card ---- */
+        addImg_.SetPosition(187, 10);
+        addImg_.Resize(80, 80);
+        addImg_.SetResizeMode(UIImageView::FILL);
+        addImg_.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
+        addImg_.SetSrc(PNG_SET_CARD_ADD);
+        addImg_.SetViewId(SET_CARD_ADD);
         addImg_.SetVisible(false);
+
+        contentList_.SetPosition(0, 92);
+        contentList_.Resize(HORIZONTAL_RESOLUTION, 280);
+        contentList_.SetScrollBlankSize(HORIZONTAL_RESOLUTION / 2);
+        contentList_.SetSelectPosition(HORIZONTAL_RESOLUTION / 2);
+        contentList_.SetDraggable(true);
+        contentList_.SetThrowDrag(true);
+        contentList_.EnableAutoAlign(true);
+        contentList_.SetScrollStateListener(presenter_);
+        contentList_.SetMaxScrollDistance(1000);
+        contentList_.SetAdapter(setCardAdapter_);
         contentList_.SetVisible(false);
+        contentList_.ScrollTo(scrollIndex_);
+
+        delImg_.SetPosition(187, 374);
+        delImg_.Resize(80, 80);
+        delImg_.SetResizeMode(UIImageView::FILL);
+        delImg_.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
+        delImg_.SetSrc(PNG_SET_CARD_DEL);
+        delImg_.SetViewId(SET_CARD_DEL);
         delImg_.SetVisible(false);
+
+        addImg_.SetTouchable(true);
+        addImg_.SetOnClickListener(presenter_);
+        delImg_.SetTouchable(true);
+        delImg_.SetOnClickListener(presenter_);
+
+        container_->Add(&addImg_);
+        container_->Add(&contentList_);
+        container_->Add(&delImg_);
     }
-}
 
-void SetCardView::ShowDeleteView(bool show)
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::ShowDeleteView %u", show);
-    if (show) {
-        ShowCardListView(false);
-        deleteView_->SetVisible(true);
-    } else {
-        ShowCardListView(true);
+    void SetCardView::SetUpDeleteView(void)
+    {
+        deleteView_ = new SetCardDeleteView(presenter_);
+        if (deleteView_ == nullptr)
+        {
+            return;
+        }
         deleteView_->SetVisible(false);
+        container_->Add(deleteView_);
     }
-}
 
-void SetCardView::ShowAddView(bool show)
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::ShowAddView %u", show);
-    if (show) {
-        ShowCardListView(false);
-        noCardView_->SetVisible(true);
-    } else {
-        ShowCardListView(true);
+    void SetCardView::SetUpAddView(void)
+    {
+        noCardView_ = new SetCardNoCardView(presenter_);
+        if (noCardView_ == nullptr)
+        {
+            return;
+        }
         noCardView_->SetVisible(false);
+        container_->Add(noCardView_);
     }
-}
 
-void SetCardView::RefreshCardList(void)
-{
-    contentList_.RemoveAll();
-    SetUpListInfo();
-    contentList_.RefreshList();
-    if (setCardAdapter_->GetCount() == 0) {
-        ShowAddView(true);
+    void SetCardView::ShowCardListView(bool show)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::ShowCardListView %u", show);
+        if (show)
+        {
+            addImg_.SetVisible(true);
+            contentList_.SetVisible(true);
+            delImg_.SetVisible(true);
+        }
+        else
+        {
+            addImg_.SetVisible(false);
+            contentList_.SetVisible(false);
+            delImg_.SetVisible(false);
+        }
     }
-}
 
-void SetCardView::SaveSelectCardIndex(void)
-{
-    uint8_t cardIdex = contentList_.GetSelectView()->GetViewIndex();
-    presenter_->SetSelectedCardIndex(cardIdex);
-}
+    void SetCardView::ShowDeleteView(bool show)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::ShowDeleteView %u", show);
+        if (show)
+        {
+            ShowCardListView(false);
+            deleteView_->SetVisible(true);
+        }
+        else
+        {
+            ShowCardListView(true);
+            deleteView_->SetVisible(false);
+        }
+    }
+
+    void SetCardView::ShowAddView(bool show)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardView::ShowAddView %u", show);
+        if (show)
+        {
+            ShowCardListView(false);
+            noCardView_->SetVisible(true);
+        }
+        else
+        {
+            ShowCardListView(true);
+            noCardView_->SetVisible(false);
+        }
+    }
+
+    void SetCardView::RefreshCardList(void)
+    {
+        contentList_.RemoveAll();
+        SetUpListInfo();
+        contentList_.RefreshList();
+        if (setCardAdapter_->GetCount() == 0)
+        {
+            ShowAddView(true);
+        }
+    }
+
+    void SetCardView::SaveSelectCardIndex(void)
+    {
+        uint8_t cardIdex = contentList_.GetSelectView()->GetViewIndex();
+        presenter_->SetSelectedCardIndex(cardIdex);
+    }
 
 }
index de7cd96..6483c59 100644 (file)
@@ -45,7 +45,7 @@ namespace OHOS
     std::unordered_map<uint16_t, std::string> registeredDials{
         {DEFAULT_DIAL_ID_1, "KUMI"},
         {DEFAULT_DIAL_ID_2, "classic"},     // 经典表盘
-        {101, "motiondial"},                // 运动表盘
+        {101, "sportdial"},                // 运动表盘
         {102, "kaleidoscope"},              // 万花筒表盘102
         {MAX_DEFAULT_DIAL_ID, "jellyfish"}, // 水母表盘
     };