set_card 文件夹更新
authorluozheng <1732036298@qq.com>
Tue, 28 May 2024 12:21:43 +0000 (20:21 +0800)
committerluozheng <1732036298@qq.com>
Tue, 28 May 2024 12:21:43 +0000 (20:21 +0800)
code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardAdapter.h
code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardDeleteView.h
code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardItem.h
code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardNoCardView.h
code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardPresenter.h
code/sdk/application/wearable/fd230app/nativeui/set_card/include/SetCardView.h
code/sdk/application/wearable/fd230app/nativeui/set_card/src/SetCardAdapter.cpp
code/sdk/application/wearable/fd230app/nativeui/set_card/src/SetCardItem.cpp
code/sdk/application/wearable/fd230app/nativeui/set_card/src/SetCardPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/set_card/src/SetCardView.cpp

index 417891c..75b9ba8 100644 (file)
@@ -23,18 +23,24 @@ namespace OHOS {
 class SetCardAdapter : public AbstractAdapter {
 public:
     explicit SetCardAdapter();
-    virtual ~SetCardAdapter();
+    ~SetCardAdapter() override;
 
-    virtual uint16 GetCount(void) override;
+    uint16 GetCount(void) override;
 
-    virtual UIView *GetView(UIView *inView, int16 index) override;
+    UIView *GetView(UIView *inView, int16 index) override;
 
-    virtual void AddListItem(const CardInfo &item);
+    void AddListItem(const CardInfo &item);
+
+    void SetItemClickListener(UIView::OnClickListener *itemClickListener)
+    {
+        itemClickListener_ = itemClickListener;
+    }
 
     void ClearItem(void);
 
 private:
     std::list<CardInfo> listData_;
+    UIView::OnClickListener *itemClickListener_;
 };
 }
 #endif
\ No newline at end of file
index 99b0c8c..6abfe4e 100644 (file)
@@ -15,7 +15,7 @@ namespace OHOS {
 class SetCardDeleteView : public UIViewGroup {\r
 public:\r
     SetCardDeleteView(SetCardPresenter *presenter);\r
-    virtual ~SetCardDeleteView();\r
+    ~SetCardDeleteView() override;\r
     bool InitView();\r
 private:\r
     SetCardPresenter *presenter_;\r
index 646f24f..3926d93 100644 (file)
 \r
 namespace OHOS {\r
 \r
-class SetCardItem :public UIViewGroup {\r
+class SetCardItem : public UIViewGroup {\r
 public:\r
     SetCardItem();\r
-    virtual ~SetCardItem();\r
+    ~SetCardItem() override;\r
     void SetItemInfo(const CardInfo &cardInfo);\r
+    void SetOnClickListener(OnClickListener *onClickListener);\r
 private:\r
     void SetUpChild();\r
     UIImageView cardImg_;\r
index 16264fa..dc8ee12 100644 (file)
@@ -17,7 +17,7 @@ namespace OHOS {
 class SetCardNoCardView : public UIViewGroup {\r
 public:\r
     SetCardNoCardView(SetCardPresenter *presenter);\r
-    virtual ~SetCardNoCardView();\r
+    ~SetCardNoCardView() override;\r
     bool InitView();\r
 private:\r
     SetCardPresenter *presenter_;\r
index 5c9b4e0..c4080fa 100644 (file)
@@ -12,6 +12,7 @@
 #include "components/ui_list.h"
 #include "components/ui_view.h"
 #include "KeyInputListener.h"
+#include "ModelListenerSample.h"
 
 namespace OHOS {
 
@@ -19,32 +20,40 @@ static const char *SET_CARD_ADD = "setcardadd";
 static const char *SET_CARD_DEL = "setcarddel";
 static const char *SET_CARD_DEL_CONFIRM = "setcarddelconfirm";
 static const char *SET_CARD_DEL_CANCEL = "setcarddelcancel";
+static const char *SET_CARD_IMG = "setcardimg";
+
+const uint16_t MISS_SET_CARD_OPERATION_TIME = 3000;
 
 class SetCardView;
 class SetCardModel;
 class SetCardPresenter : public Presenter<SetCardView>,
-                         public UIView::OnClickListener,
+                         public UIView::OnClickListener, public ModelListenerSample,
                          public ListScrollListener  {
 public:
     SetCardPresenter();
-    virtual ~SetCardPresenter();
+    ~SetCardPresenter() override;
 
-    virtual void OnStart() override;
-    virtual void OnResume() override;
-    virtual void OnStop() override;
+    void OnStart() override;
+    void OnResume() override;
+    void OnStop() override;
     bool OnClick(UIView &view, const ClickEvent &event) override;
-    virtual void OnScrollStart(int16_t index, UIView *view) override;
-    virtual void OnScrollEnd(int16_t index, UIView *view) override;
-    virtual void OnItemSelected(int16_t index, UIView* view) override;
+    void OnScrollStart(int16_t index, UIView *view) override;
+    void OnScrollEnd(int16_t index, UIView *view) override;
+    void OnItemSelected(int16_t index, UIView* view) override;
+    void OnTickEvent() override;
+    void Notify() override {}
     void InitCardShowList(void);
     uint8_t *GetCardShowList(void);
     uint8_t GetCardShowCount(void) const;
     void SetSelectedCard(uint8_t cardId);
     uint8_t GetSelectedCard(void);
+    void SetSelectedCardIndex(uint8_t cardIndex);
 private:
+    void GoToMainView(void);
+    void ResetTickTimer(void);
     KeyInputListener *keyActListenr{nullptr};
     SetCardModel *model{nullptr};
-
+    uint64_t startTime{0};
 };
 }
 
index 9c18e0d..52f87c8 100644 (file)
@@ -28,7 +28,7 @@ class SetCardPresenter;
 class SetCardView : public View<SetCardPresenter> {
 public:
     SetCardView();
-    virtual ~SetCardView();
+    ~SetCardView() override;
 
     static SetCardView *GetInstance()
     {
@@ -36,13 +36,14 @@ public:
         return &instance;
     }
 
-    virtual void OnStart() override;
-    virtual void OnSetUpView() override;
-    virtual void OnTearDownView() override;
-    virtual void OnStop() override;
+    void OnStart() override;
+    void OnSetUpView() override;
+    void OnTearDownView() override;
+    void OnStop() override;
     void ShowDeleteView(bool show);
     void ShowAddView(bool show);
     void RefreshCardList(void);
+    void SaveSelectCardIndex(void);
 private:
     void SetUpListInfo(void);
     void SetUpListView(void);
index 4bce9db..badbc10 100644 (file)
@@ -48,6 +48,7 @@ UIView *SetCardAdapter::GetView(UIView *inView, int16 index)
 
     item->SetItemInfo(*it);
     item->SetViewIndex(index);
+    item->SetOnClickListener(itemClickListener_);
     return item;
 }
 
index 61b9c49..4bdd7ba 100644 (file)
@@ -28,5 +28,12 @@ namespace OHOS {
     {\r
         cardInfo_ = cardInfo;\r
         cardImg_.SetSrc(cardInfo.cardImg);\r
+        cardImg_.SetViewId(SET_CARD_IMG);\r
+    }\r
+\r
+    void SetCardItem::SetOnClickListener(OnClickListener *onClickListener)\r
+    {\r
+        cardImg_.SetOnClickListener(onClickListener);\r
+        cardImg_.SetTouchable(true);\r
     }\r
 };\r
index f32df85..a76bc3f 100644 (file)
@@ -14,9 +14,11 @@ namespace OHOS {
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SetCardPresenter");
         model = &SetCardModel::GetInstance();
+        ResetTickTimer();
     }
 
-    SetCardPresenter::~SetCardPresenter() {
+    SetCardPresenter::~SetCardPresenter()
+    {
         if (keyActListenr != nullptr) {
             delete keyActListenr;
             keyActListenr = nullptr;
@@ -50,9 +52,10 @@ namespace OHOS {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::OnClick");
         if (strcmp(view.GetViewId(), SET_CARD_ADD) == 0) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SET_CARD_ADD");
-            NativeAbility::GetInstance().ChangeSlice(VIEW_ADD_CARD); 
+            NativeAbility::GetInstance().ChangeSlice(VIEW_ADD_CARD);
         } else if (strcmp(view.GetViewId(), SET_CARD_DEL) == 0) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SET_CARD_DEL");
+            view_->SaveSelectCardIndex();
             view_->ShowDeleteView(true);
         } else if (strcmp(view.GetViewId(), SET_CARD_DEL_CONFIRM) == 0) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SET_CARD_DEL_CONFIRM");
@@ -62,8 +65,12 @@ namespace OHOS {
         } else if (strcmp(view.GetViewId(), SET_CARD_DEL_CANCEL) == 0) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SET_CARD_DEL_CANCEL");
             view_->ShowDeleteView(false);
+        } else if (strcmp(view.GetViewId(), SET_CARD_IMG) == 0) {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SET_CARD_IMG");
+            GoToMainView();
         }
-               return true;
+        ResetTickTimer();
+        return true;
     }
 
     void SetCardPresenter::OnScrollStart(int16_t index, UIView *view)
@@ -78,7 +85,8 @@ namespace OHOS {
         if (view == nullptr) {
             return;
         }
-        model->SetSelectedCardIndex(index);
+        SetSelectedCardIndex(index);
+        ResetTickTimer();
     }
 
     void SetCardPresenter::OnItemSelected(int16_t index, UIView* view) 
@@ -113,4 +121,37 @@ namespace OHOS {
         return model->GetSelectedCard();
     }
 
+    void SetCardPresenter::SetSelectedCardIndex(uint8_t cardIndex)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SetSelectedCardIndex %d", cardIndex);
+        model->SetSelectedCardIndex(cardIndex);
+    }
+
+    void SetCardPresenter::GoToMainView(void)
+    {
+        uint8_t *cardSettings = model->GetCardShowList();
+        uint8_t selectIndex = model->GetSelectedCardIndex();
+        if (selectIndex < model->GetCardShowCount()) {
+            const CardInfo *info = MainModel::GetInstance().GetCardInfo(static_cast<CardId>(cardSettings[selectIndex]));
+            if (info != nullptr) {
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::GoToMainView %d", info->id);
+                MainModel::GetInstance().SetFromSetCardView(true);
+                MainModel::GetInstance().SetFromCardId(info->id);
+            }
+        }
+        NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);
+    }
+
+    void SetCardPresenter::OnTickEvent()
+    {
+        uint64_t current_time = osKernelGetTick2ms();
+        if ((startTime != 0) && (current_time - startTime > MISS_SET_CARD_OPERATION_TIME)) {
+            GoToMainView();
+        }
+    }
+
+    void SetCardPresenter::ResetTickTimer(void)
+    {
+        startTime = osKernelGetTick2ms();
+    }
 }
index f18a1c8..0efb39e 100644 (file)
@@ -41,6 +41,7 @@ void SetCardView::OnStart()
     SetContainerView(new UIViewGroup());
     container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
     setCardAdapter_ = new SetCardAdapter();
+    setCardAdapter_->SetItemClickListener(presenter_);
     SetUpListInfo();
     SetUpListView();
     SetUpDeleteView();
@@ -88,6 +89,7 @@ void SetCardView::SetUpListInfo(void)
             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_);
@@ -163,12 +165,12 @@ void SetCardView::ShowCardListView(bool show)
     if (show) {
         addImg_.SetVisible(true);
         contentList_.SetVisible(true);
-        delImg_.SetVisible(true);        
+        delImg_.SetVisible(true);
     } else {
         addImg_.SetVisible(false);
         contentList_.SetVisible(false);
         delImg_.SetVisible(false);
-    }  
+    }
 }
 
 void SetCardView::ShowDeleteView(bool show)
@@ -179,7 +181,7 @@ void SetCardView::ShowDeleteView(bool show)
         deleteView_->SetVisible(true);
     } else {
         ShowCardListView(true);
-        deleteView_->SetVisible(false);        
+        deleteView_->SetVisible(false);
     }
 }
 
@@ -191,7 +193,7 @@ void SetCardView::ShowAddView(bool show)
         noCardView_->SetVisible(true);
     } else {
         ShowCardListView(true);
-        noCardView_->SetVisible(false);        
+        noCardView_->SetVisible(false);
     }
 }
 
@@ -205,4 +207,10 @@ void SetCardView::RefreshCardList(void)
     }
 }
 
+void SetCardView::SaveSelectCardIndex(void)
+{
+    uint8_t cardIdex = contentList_.GetSelectView()->GetViewIndex();
+    presenter_->SetSelectedCardIndex(cardIdex);
+}
+
 }