#endif
{TOPIC_EVENT_FIND_WATCH,PRIORITY_TWO},
{TOPIC_EVENT_CANCEL_FIND_WATCH,PRIORITY_TWO},
+ {TOPIC_EVENT_DRINKREMINDER,PRIORITY_TWO},
};
static bool CheckPriority(const Topic topic)
#endif
MsgCenterSubscribeTopic(TOPIC_EVENT_FIND_WATCH);
MsgCenterSubscribeTopic(TOPIC_EVENT_CANCEL_FIND_WATCH);
+ MsgCenterSubscribeTopic(TOPIC_EVENT_DRINKREMINDER);
}
static OHOS::UIViewGroup* showAlarmNotify(void)
return OHOS::CreateFindWatchView();
}
+/*显示喝水提醒视图*/
+static OHOS::UIViewGroup* showDrinkReminderNotify(void)
+{
+ return OHOS::CreateDrinkReminderView();
+}
+
void MsgCenterNotifyAlarmProc(const Topic topic, Request* req)
{
unused(req);
}
#ifdef FD230
#ifdef SUPPORT_CHARGER_PLUG_DETECTION_NOTIFICATION
+/*充电器已插上*/
void MsgCenterNotifyChargePlugProc(const Topic topic, Request* req)
{
unused(req);
}
+/*充电器已拔掉*/
void MsgCenterNotifyChargeUnPlugProc(const Topic topic, Request* req)
{
unused(req);
}
}
+/*低电量提醒*/
void MsgCenterNotifyLowPowerAlarmProc(const Topic topic, Request* req)
{
//unused(req);
}
FindWatchViewEventListener::GetInstance().SetFindWatchNotifyFlag(false);
}
+
+//喝水提醒通知
+void MsgCenterNotifyDrinkReminderProc(const Topic topic, Request* req)
+{
+ unused(topic);
+ unused(req);
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifyDrinkReminderProc !");
+ NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_TWO);
+ NotificationManager::GetInstance()->ShowNotify(showDrinkReminderNotify, (uint16_t)topic, true);
+}
void MsgCenterNotifyActivityProc(const Topic topic, Request* req)
{
unused(topic);
{TOPIC_EVENT_HFP_WATCH_TO_PHONE, MsgCenterNotifyHfpPhoneProc},
{TOPIC_EVENT_HFP_WATCH_ACTIVE, MsgCenterNotifyHfpWatchProc},
{TOPIC_EVENT_HFP_PHONE_TO_WATCH, MsgCenterNotifyHfpWatchProc},
- {TOPIC_EVENT_FIND_WATCH,MsgCenterNotifyFindWatchProc},
- {TOPIC_EVENT_CANCEL_FIND_WATCH,MsgCenterNotifyCanCelFindWatchProc},
#ifdef CYWEE_SPORT
{TOPIC_EVENT_ACTIVITY_UPDATE, MsgCenterNotifyActivityProc},
{TOPIC_EVENT_INACTIVITY_UPDATE, MsgCenterNotifyInactivityProc},
#endif
{TOPIC_EVENT_FIND_WATCH,MsgCenterNotifyFindWatchProc},
{TOPIC_EVENT_CANCEL_FIND_WATCH,MsgCenterNotifyCanCelFindWatchProc},
+ {TOPIC_EVENT_DRINKREMINDER,MsgCenterNotifyDrinkReminderProc},
};
static msg_center_notify_table_t *MsgCenterGetNotifyTblCb(uint8_t idx)
--- /dev/null
+#include "notification_manager.h"
+#include "wearable_log.h"
+#include "components/ui_button.h"
+#include "components/ui_image_view.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+#include <UIComponents.h>
+
+namespace OHOS
+{
+
+ UIViewGroup *DrinkReminderGroupView{nullptr};
+ UILabelExt *DrinkReminderTitleLabel{nullptr}; // 标题: 喝水提醒
+ UIImageView *DrinkReminderImage{nullptr};
+ UILabel *DrinkReminderNoteLabel{nullptr}; // 喝水提醒note
+ UILabelExt *DrinkReminderLabel{nullptr};
+ UIButton *DrinkReminderButton{nullptr};
+
+ static constexpr const char *DRINKREMINDERBUTTONVIEWID = "DrinkReminderButton";
+
+ DrinkReminderViewEventListener::DrinkReminderViewEventListener()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::DrinkReminderViewEventListener");
+ }
+
+ DrinkReminderViewEventListener::~DrinkReminderViewEventListener()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::~DrinkReminderViewEventListener");
+ }
+
+ DrinkReminderViewEventListener &DrinkReminderViewEventListener::GetInstance()
+ {
+ static DrinkReminderViewEventListener instance;
+ return instance;
+ }
+
+ bool DrinkReminderViewEventListener::OnRelease(UIView &view, const ReleaseEvent &event)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderViewEventListener::OnRelease");
+ UNUSED(event);
+ std::string viewId = view.GetViewId();
+ if (viewId == DRINKREMINDERBUTTONVIEWID)
+ {
+ NotificationManager::GetInstance()->StopNotify();
+ }
+
+ return true;
+ }
+
+ /*创建喝水提醒视图*/
+ UIViewGroup *CreateDrinkReminderView(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateDrinkReminderView(void)");
+ if (DrinkReminderGroupView == nullptr)
+ {
+ DrinkReminderGroupView = new UIViewGroup();
+ if (DrinkReminderGroupView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDrinkReminderView] DrinkReminderGroupView new fail!!");
+ return nullptr;
+ }
+ DrinkReminderGroupView->SetPosition(0, 0, 466, 466);
+ DrinkReminderGroupView->SetTouchable(true);
+ DrinkReminderGroupView->SetDraggable(true);
+ /* ------------------------- DrinkReminderTitleLabel ------------------------ */
+ DrinkReminderTitleLabel = new UILabelExt();
+ if (DrinkReminderTitleLabel == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDrinkReminderView] DrinkReminderTitleLabel new fail!!");
+ return nullptr;
+ }
+ DrinkReminderTitleLabel->SetPosition(83, 52, 300, 35);
+ DrinkReminderTitleLabel->SetStyle(STYLE_TEXT_FONT, 30);
+ DrinkReminderTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+ // DrinkReminderTitleLabel->SetText("喝水提醒");
+ DrinkReminderTitleLabel->SetTextId(STR_DRINK_WATER_REMINDER);
+ DrinkReminderTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
+ DrinkReminderTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ DrinkReminderTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ /* --------------------------- DrinkReminderImage --------------------------- */
+ DrinkReminderImage = new UIImageView();
+ if (DrinkReminderImage == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDrinkReminderView] DrinkReminderImage new fail!!");
+ return nullptr;
+ }
+ DrinkReminderImage->SetPosition(193, 130, 80, 80);
+ DrinkReminderImage->SetSrc("/user/res/drinkReminder/DrinkReminder.bin");
+ /* ------------------------- DrinkReminderNoteLabel ------------------------- */
+ DrinkReminderNoteLabel = new UILabel();
+ if (DrinkReminderNoteLabel == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDrinkReminderView] DrinkReminderNoteLabel new fail!!");
+ return nullptr;
+ }
+ DrinkReminderNoteLabel->SetPosition(53, 248, 360, 70);
+ DrinkReminderNoteLabel->SetStyle(STYLE_TEXT_FONT, 30);
+ DrinkReminderNoteLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+ SetLabelId(DrinkReminderNoteLabel, STR_DRINK_WATER_REMINDER_NOTE);
+ DrinkReminderNoteLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+ DrinkReminderNoteLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ DrinkReminderNoteLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ /* --------------------------- DrinkReminderButton -------------------------- */
+ DrinkReminderButton = new UIButton();
+ if (DrinkReminderButton == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDrinkReminderView] DrinkReminderButton new fail!!");
+ return nullptr;
+ }
+ DrinkReminderButton->SetPosition(0, 366, 466, 100);
+ DrinkReminderButton->SetViewId(DRINKREMINDERBUTTONVIEWID);
+ const char *buttonImgSrc = "/user/res/466x100button.bin";
+ DrinkReminderButton->SetImageSrc(buttonImgSrc, buttonImgSrc);
+ DrinkReminderButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff0b1928, UIButton::PRESSED);
+ UIView::OnTouchListener *listener = static_cast<UIView::OnTouchListener *>(&DrinkReminderViewEventListener::GetInstance());
+ DrinkReminderButton->SetOnTouchListener(listener);
+ /* --------------------------- DrinkReminderLabel --------------------------- */
+ DrinkReminderLabel = new UILabelExt();
+ if (DrinkReminderLabel == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDrinkReminderView] DrinkReminderLabel new fail!!");
+ return nullptr;
+ }
+ DrinkReminderLabel->SetPosition(133, 399, 200, 35);
+ DrinkReminderLabel->SetStyle(STYLE_TEXT_FONT, 30);
+ DrinkReminderLabel->SetStyle(STYLE_LINE_HEIGHT, 35);
+ // DrinkReminderLabel->SetText("知道了");
+ DrinkReminderLabel->SetTextId(STR_KONW);
+ DrinkReminderLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
+ DrinkReminderLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ DrinkReminderLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ /* ----------------------------------- Add ---------------------------------- */
+ DrinkReminderGroupView->Add(DrinkReminderTitleLabel);
+ DrinkReminderGroupView->Add(DrinkReminderImage);
+ DrinkReminderGroupView->Add(DrinkReminderNoteLabel);
+ DrinkReminderGroupView->Add(DrinkReminderButton);
+ DrinkReminderGroupView->Add(DrinkReminderLabel);
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Create DrinkReminderView succeed!!");
+ }
+
+ return DrinkReminderGroupView;
+ }
+
+ /*释放喝水提醒视图*/
+ void FreeDrinkReminderView(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FreeDrinkReminderView(void)");
+ if (DrinkReminderGroupView != nullptr)
+ {
+ DrinkReminderGroupView->RemoveAll();
+
+ delete DrinkReminderTitleLabel;
+ DrinkReminderTitleLabel = nullptr;
+
+ delete DrinkReminderImage;
+ DrinkReminderImage = nullptr;
+
+ delete DrinkReminderNoteLabel;
+ DrinkReminderNoteLabel = nullptr;
+
+ delete DrinkReminderButton;
+ DrinkReminderButton = nullptr;
+
+ delete DrinkReminderLabel;
+ DrinkReminderLabel = nullptr;
+
+ RootView::GetInstance()->Remove(DrinkReminderGroupView);
+ delete DrinkReminderGroupView;
+ DrinkReminderGroupView = nullptr;
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Free DrinkReminderView succeed!!");
+ }
+ return;
+ }
+}
\ No newline at end of file