add_card文件夹更新
authorluozheng <1732036298@qq.com>
Tue, 28 May 2024 10:42:14 +0000 (18:42 +0800)
committerluozheng <1732036298@qq.com>
Tue, 28 May 2024 10:42:14 +0000 (18:42 +0800)
code/sdk/application/wearable/fd230app/nativeui/add_card/include/AddCardAdapter.h
code/sdk/application/wearable/fd230app/nativeui/add_card/include/AddCardItem.h
code/sdk/application/wearable/fd230app/nativeui/add_card/include/AddCardModel.h
code/sdk/application/wearable/fd230app/nativeui/add_card/include/AddCardPresenter.h
code/sdk/application/wearable/fd230app/nativeui/add_card/include/AddCardView.h
code/sdk/application/wearable/fd230app/nativeui/add_card/src/AddCardPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/add_card/src/AddCardView.cpp

index 34882c9..8f18d42 100644 (file)
@@ -23,13 +23,13 @@ namespace OHOS {
 class AddCardAdapter : public AbstractAdapter {
 public:
     explicit AddCardAdapter();
-    virtual ~AddCardAdapter();
+    ~AddCardAdapter() 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 AddCardInfo &item);
+    void AddListItem(const AddCardInfo &item);
 
     void SetItemClickListener(UIView::OnClickListener *itemClickListener)
     {
index 5ce44d5..5325f4e 100644 (file)
@@ -23,10 +23,10 @@ typedef struct {
     const char *cardImg;\r
 } AddCardInfo;\r
 \r
-class AddCardItem :public UIViewGroup {\r
+class AddCardItem : public UIViewGroup {\r
 public:\r
     AddCardItem();\r
-    virtual ~AddCardItem();\r
+    ~AddCardItem() override;\r
     void SetItemInfo(const AddCardInfo &cardInfo);\r
     void SetOnClickListener(OnClickListener *onClickListener);\r
     void UpdateItemInfo(bool addFlag);\r
index ae17e1a..9bdf0e4 100644 (file)
@@ -28,7 +28,6 @@ namespace OHOS {
         AddCardModel &operator=(const AddCardModel &);
         virtual ~AddCardModel();
         uint8_t selectedCardIndex{0};
-
     };
 }
 
index f8e6f88..ffaebdf 100644 (file)
 #include "components/ui_list.h"
 #include "components/ui_view.h"
 #include "KeyInputListener.h"
+#include "ModelListenerSample.h"
+
+#define TOAST_KEEP_TIME  1000
 
 namespace OHOS {
 static const char *ADD_CARD_ADD = "addcardadd";
+
 class AddCardView;
 class AddCardModel;
-class AddCardPresenter : public Presenter<AddCardView>,
+class AddCardPresenter : public Presenter<AddCardView>, public ModelListenerSample,
                          public UIView::OnClickListener, public UIView::OnDragListener,
                          public ListScrollListener  {
 public:
     AddCardPresenter();
-    virtual ~AddCardPresenter();
-
-    virtual void OnStart() override;
-    virtual void OnResume() override;
-    virtual void OnStop() override;
+    ~AddCardPresenter() override;
 
+    void OnStart() override;
+    void OnResume() override;
+    void OnStop() override;
+    void OnTickEvent() override;
+    void Notify() 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;
-    virtual bool OnDrag(UIView& view, const DragEvent& event) 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;
+    bool OnDrag(UIView& view, const DragEvent& event) override;
 private:
-    KeyInputListener *keyActListenr{nullptr};
+    void ResetTickTimer(void);
     AddCardModel *model{nullptr};
-
+    uint64_t startTime{0};
+    bool cardCountEvent{false};
 };
 }
 
index 63d51bb..6f7e9c3 100644 (file)
@@ -26,7 +26,7 @@ class AddCardPresenter;
 class AddCardView : public View<AddCardPresenter> {
 public:
     AddCardView();
-    virtual ~AddCardView();
+    ~AddCardView() override;
 
     static AddCardView *GetInstance()
     {
@@ -34,15 +34,18 @@ 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 RefreshCardList(void);
+    void ExceedsCardCountEvent(bool isVisible);
 private:
     void SetUpListInfo(void);
     void SetUpListView(void);
+    void SetUpToast(void);
     UIList contentList_;
+    UILabel toastLabel_;
     AddCardAdapter *addCardAdapter_{nullptr};
 };
 }
index c815867..7b01f0f 100644 (file)
@@ -47,9 +47,15 @@ namespace OHOS {
     bool AddCardPresenter::OnClick(UIView &view, const ClickEvent &event)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AddCardPresenter::OnClick");
-        model->AddCardSetting();
-        view_->RefreshCardList();
-               return true;
+        if (MainModel::GetInstance().GetCardSettingCount() >= CARD_SETTING_COUNT_MAX) {
+            cardCountEvent = true;
+            view_->ExceedsCardCountEvent(true);
+            ResetTickTimer();
+        } else {
+            model->AddCardSetting();
+            view_->RefreshCardList();
+        }
+        return true;
     }
 
     void AddCardPresenter::OnScrollStart(int16_t index, UIView *view)
@@ -67,12 +73,30 @@ namespace OHOS {
         model->SetSelectedCardIndex(index);
     }
 
-    void AddCardPresenter::OnItemSelected(int16_t index, UIView* view) 
+    void AddCardPresenter::OnItemSelected(int16_t index, UIView* view)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AddCardPresenter::OnItemSelected index = %d", index);
         if (view == nullptr) {
             return;
-        }    
+        }
+    }
+
+    void AddCardPresenter::OnTickEvent()
+    {
+        if (cardCountEvent) {
+            uint64_t current_time = osKernelGetTick2ms();
+            if (current_time - startTime > TOAST_KEEP_TIME) {
+                view_->ExceedsCardCountEvent(false);
+                cardCountEvent = false;
+            }
+        }
+        return;
+    }
+
+    void AddCardPresenter::ResetTickTimer(void)
+    {
+        startTime = osKernelGetTick2ms();
+        return;
     }
 
 }
index a696032..6e87bde 100644 (file)
@@ -34,6 +34,7 @@ void AddCardView::OnStart()
     addCardAdapter_->SetItemClickListener(presenter_);
     SetUpListInfo();
     SetUpListView();
+    SetUpToast();
 }
 
 void AddCardView::OnSetUpView()
@@ -104,10 +105,31 @@ void AddCardView::SetUpListView(void)
     container_->Add(&contentList_);
 }
 
+void AddCardView::SetUpToast(void)
+{
+    toastLabel_.SetPosition(77, 220);
+    toastLabel_.Resize(454, 60);
+    toastLabel_.SetViewId("toast");
+    toastLabel_.SetText("卡片数量已经到达上限");
+    toastLabel_.SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);
+    toastLabel_.SetStyle(STYLE_BACKGROUND_OPA, 255);
+    toastLabel_.SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+    toastLabel_.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+    toastLabel_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+    toastLabel_.SetVisible(false);
+    container_->Add(&toastLabel_);
+}
+
 void AddCardView::RefreshCardList(void)
 {
     SetUpListInfo();
     contentList_.RefreshList();
 }
 
+void AddCardView::ExceedsCardCountEvent(bool isVisible)
+{
+    toastLabel_.SetVisible(isVisible);
+    toastLabel_.Invalidate();
+}
+
 }