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
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
\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
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
#include "components/ui_list.h"
#include "components/ui_view.h"
#include "KeyInputListener.h"
+#include "ModelListenerSample.h"
namespace OHOS {
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};
};
}
class SetCardView : public View<SetCardPresenter> {
public:
SetCardView();
- virtual ~SetCardView();
+ ~SetCardView() override;
static SetCardView *GetInstance()
{
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);
item->SetItemInfo(*it);
item->SetViewIndex(index);
+ item->SetOnClickListener(itemClickListener_);
return item;
}
{\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
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetCardPresenter::SetCardPresenter");
model = &SetCardModel::GetInstance();
+ ResetTickTimer();
}
- SetCardPresenter::~SetCardPresenter() {
+ SetCardPresenter::~SetCardPresenter()
+ {
if (keyActListenr != nullptr) {
delete keyActListenr;
keyActListenr = nullptr;
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");
} 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)
if (view == nullptr) {
return;
}
- model->SetSelectedCardIndex(index);
+ SetSelectedCardIndex(index);
+ ResetTickTimer();
}
void SetCardPresenter::OnItemSelected(int16_t index, UIView* view)
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();
+ }
}
SetContainerView(new UIViewGroup());
container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
setCardAdapter_ = new SetCardAdapter();
+ setCardAdapter_->SetItemClickListener(presenter_);
SetUpListInfo();
SetUpListView();
SetUpDeleteView();
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_);
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)
deleteView_->SetVisible(true);
} else {
ShowCardListView(true);
- deleteView_->SetVisible(false);
+ deleteView_->SetVisible(false);
}
}
noCardView_->SetVisible(true);
} else {
ShowCardListView(true);
- noCardView_->SetVisible(false);
+ noCardView_->SetVisible(false);
}
}
}
}
+void SetCardView::SaveSelectCardIndex(void)
+{
+ uint8_t cardIdex = contentList_.GetSelectView()->GetViewIndex();
+ presenter_->SetSelectedCardIndex(cardIdex);
+}
+
}