UILabelExt *SedentaryReminderLabel{nullptr};
UIButton *SedentaryReminderButton{nullptr};
- static constexpr const char *SedentaryReminderBUTTONVIEWID = "SedentaryReminderButton";
+ static constexpr const int X_DRAG_OFFSET = 20;
+ static constexpr const int DOUBLES = 2;
+
+ static constexpr const char *SEDENTARY_REMINDER_GROUPVIEWID = "sedentary_reminder_groupviewid";
+ static constexpr const char *SEDENTARY_REMINDER_BUTTONVIEWID = "sedentary_reminder_buttonviewid";
SedentaryReminderViewEventListener::SedentaryReminderViewEventListener()
{
bool SedentaryReminderViewEventListener::OnRelease(UIView &view, const ReleaseEvent &event)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SedentaryReminderViewEventListener::OnRelease");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SedentaryReminderViewEventListener::OnRelease");
UNUSED(event);
std::string viewId = view.GetViewId();
- if (viewId == SedentaryReminderBUTTONVIEWID)
+ if (viewId == SEDENTARY_REMINDER_BUTTONVIEWID)
{
NotificationManager::GetInstance()->StopNotify();
}
return true;
}
+ bool SedentaryReminderViewEventListener::OnDrag(UIView &view, const DragEvent &event)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SedentaryReminderViewEventListener::OnDrag");
+ UNUSED(view);
+ if ((event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) // 拖动过程中判断是否是水平滑动
+ {
+ SedentaryReminderViewEventListener::X_DRAG_FLAG = true;
+ }
+ return true;
+ }
+
+ bool SedentaryReminderViewEventListener::OnDragEnd(UIView &view, const DragEvent &event)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SedentaryReminderViewEventListener::OnDragEnd");
+ std::string viewId = view.GetViewId();
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && SedentaryReminderViewEventListener::X_DRAG_FLAG)
+ {
+ if (viewId == SEDENTARY_REMINDER_GROUPVIEWID)
+ {
+ NotificationManager::GetInstance()->StopNotify();
+ }
+ SedentaryReminderViewEventListener::X_DRAG_FLAG = false;
+ }
+ return true;
+ }
+
// 是否是久坐提醒时间段内
bool SedentaryReminderViewEventListener::IsReminderTime()
{
int SedentaryReminderViewEventListener::GetIntervalTime()
{
interval = ConfigModel::GetInstance()->GetSedentaryInterval();
- return interval;
+ return interval;
}
/*创建久坐提醒视图*/
return nullptr;
}
SedentaryReminderGroupView->SetPosition(0, 0, 466, 466);
+ SedentaryReminderGroupView->SetViewId(SEDENTARY_REMINDER_GROUPVIEWID);
SedentaryReminderGroupView->SetTouchable(true);
SedentaryReminderGroupView->SetDraggable(true);
+ UIView::OnDragListener *dragListener = static_cast<UIView::OnDragListener *>(&SedentaryReminderViewEventListener::GetInstance());
+ if (dragListener == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateSedentaryReminderView] dragListener new fail!!");
+ return nullptr;
+ }
+ SedentaryReminderGroupView->SetOnDragListener(dragListener);
/* ------------------------- SedentaryReminderTitleLabel ------------------------ */
SedentaryReminderTitleLabel = new UILabelExt();
if (SedentaryReminderTitleLabel == nullptr)
return nullptr;
}
SedentaryReminderButton->SetPosition(0, 366, 466, 100);
- SedentaryReminderButton->SetViewId(SedentaryReminderBUTTONVIEWID);
+ SedentaryReminderButton->SetViewId(SEDENTARY_REMINDER_BUTTONVIEWID);
const char *buttonImgSrc = "/user/res/466x100button.bin";
SedentaryReminderButton->SetImageSrc(buttonImgSrc, buttonImgSrc);
SedentaryReminderButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
- UIView::OnTouchListener *listener = static_cast<UIView::OnTouchListener *>(&SedentaryReminderViewEventListener::GetInstance());
- SedentaryReminderButton->SetOnTouchListener(listener);
+ UIView::OnTouchListener *TouchListener = static_cast<UIView::OnTouchListener *>(&SedentaryReminderViewEventListener::GetInstance());
+ if (TouchListener == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateSedentaryReminderView] TouchListener new fail!!");
+ return nullptr;
+ }
+ SedentaryReminderButton->SetOnTouchListener(TouchListener);
/* --------------------------- SedentaryReminderLabel --------------------------- */
SedentaryReminderLabel = new UILabelExt();
if (SedentaryReminderLabel == nullptr)