alarm文件夹修改
authorluozheng <1732036298@qq.com>
Tue, 28 May 2024 11:06:55 +0000 (19:06 +0800)
committerluozheng <1732036298@qq.com>
Tue, 28 May 2024 11:06:55 +0000 (19:06 +0800)
16 files changed:
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmPopUpPresenter.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmPresenter.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmSetWeekView.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/MainAlarmView.h
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmClockModel.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmCloseRingView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmConfigView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmMaxClock.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmNewTimeView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPopUpView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmRingView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmSetTimeView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmSetWeekView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp

index 09e6a9a..89e6b71 100644 (file)
@@ -116,6 +116,7 @@ public:
     int AlarmPlayerStat();\r
     int AlarmPlayerInit(void);\r
     int AlarmPlayerInit_BY_fir_name(char *);\r
+\r
     int AlarmPlayerStart();\r
     int testPlayerStart(char *);\r
     int AlarmPlayerStop();\r
index 7bdd647..e579b43 100644 (file)
@@ -16,8 +16,6 @@
 #include "UiConfig.h"\r
 #include "AlarmPopUpView.h"\r
 #include "window/window.h"\r
-#include "components/ui_label.h"\r
-#include "components/ui_label_ext.h"\r
 #include "common/screen.h"\r
 #include "components/ui_label.h"\r
 #include "components/ui_label_ext.h"\r
@@ -56,7 +54,7 @@ class AlarmPopUpPresenter : public Presenter<AlarmPopUpView>, public UIView::OnC
     public UIView::OnDragListener, public ModelListenerSample {\r
 public:\r
     AlarmPopUpPresenter();\r
-    virtual ~AlarmPopUpPresenter();\r
+    ~AlarmPopUpPresenter() override;\r
     void OnStart() override;\r
     void OnPause() override;\r
     void OnResume() override;\r
@@ -65,7 +63,7 @@ public:
     bool OnClick(UIView &view, const ClickEvent &event) override;\r
     bool OnDrag(UIView& view, const DragEvent& event) override;\r
     bool OnDragEnd(UIView& view, const DragEvent& event) override;\r
-    virtual void Notify() override;\r
+    void Notify() override;\r
     void CancelAlarmRing(void);\r
     void DelayAlarmRing(void);\r
 private:\r
index 33627aa..af32345 100644 (file)
@@ -13,8 +13,6 @@
 #include "ChangeSliceListener.h"\r
 #include "UiConfig.h"\r
 #include "window/window.h"\r
-#include "components/ui_label.h"\r
-#include "components/ui_label_ext.h"\r
 #include "common/screen.h"\r
 #include "components/ui_label.h"\r
 #include "components/ui_label_ext.h"\r
@@ -98,7 +96,7 @@ typedef enum {
 \r
 class AlarmStatusBtnChangeListener : public OHOS::UICheckBox::OnChangeListener {\r
 public:\r
-    AlarmStatusBtnChangeListener(UIView *uiView)\r
+    explicit AlarmStatusBtnChangeListener(UIView *uiView)\r
     {\r
         std::string alarmStatusId = uiView->GetViewId();\r
         std::string alarmCmpId;\r
@@ -121,7 +119,7 @@ class AlarmPresenter : public Presenter<MainAlarmView>, public UIView::OnClickLi
  public UITimePicker::SelectedListener, public UIView::OnDragListener {\r
 public:\r
     AlarmPresenter();\r
-    virtual ~AlarmPresenter();\r
+    ~AlarmPresenter() override;\r
     void OnStart() override;\r
     void OnPause() override;\r
     void OnResume() override;\r
index 665d212..fa667ae 100644 (file)
@@ -35,7 +35,6 @@ private:
     UIScrollView *group{nullptr};\r
     UILabelButton *weekImage{nullptr};\r
     UILabel *labelRespeat{nullptr};\r
-    UILabelButton *labelButton{nullptr};\r
     UILabelButton *buttonWeek[7]{nullptr}; // 星期一共有7天,因此设置了七个星期的按钮\r
     void CreateWeekButton1(void);\r
     void CreateWeekButton2(void);\r
index 9d8f847..9140a47 100644 (file)
@@ -12,7 +12,6 @@
 #include "View.h"
 #include "window/window.h"
 #include "components/ui_label.h"
-#include "components/ui_label_ext.h"
 #include "components/root_view.h"
 #include "components/ui_view_group.h"
 #include "components/ui_image_view.h"
@@ -40,7 +39,7 @@ class AlarmPresenter;
 class MainAlarmView : public View<AlarmPresenter> {
 public:
     MainAlarmView();
-    virtual ~MainAlarmView();
+    ~MainAlarmView() override;
     static MainAlarmView *GetInstance(void);
     void OnStart() override;
     void OnSetUpView() override;
index 32eb532..d01e843 100644 (file)
@@ -90,8 +90,8 @@ int32_t AlarmClockModel::SaveGlobalAlarmToFile(void)
 int32_t AlarmClockModel::GetAlarmGlobalData(uint8 id, AlarmClockInfo *info)
 {
     int32_t ret;
-    if (info == NULL) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetAlarmGlobalData info NULL!!");
+    if (info == nullptr) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetAlarmGlobalData info nullptr!!");
         return -1;
     }
     if (g_alarmClockData[id].alarmClockId != id) {
@@ -120,11 +120,11 @@ void AlarmClockModel::PushAlarmClockData(AlarmClockQueueMsg alarmClockMsg)
 
 int32_t AlarmClockModel::FetchedAlarmClockData(AlarmClockQueueMsg *alarmClockMsg)
 {
-    if (alarmClockMsg == NULL) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FetchedAlarmClockData alarmClockMsg NULL!!");
+    if (alarmClockMsg == nullptr) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FetchedAlarmClockData alarmClockMsg nullptr!!");
         return -1;
     }
-    if (listAlarmClock.IsEmpty() == true) {
+    if (listAlarmClock.IsEmpty()) {
         return -1;
     } else {
         MUTEX_Lock(g_alarmClockDataMutex);
@@ -299,17 +299,17 @@ bool AlarmClockModel::GetClockListenerTime(uint32_t &alarmGetTime)
     return true;
 }
 
-bool AlarmClockModel::GetListenClockId(uint8_t *alarmId)
+bool AlarmClockModel::GetListenClockId(uint8_t *alarm)
 {
-    if (alarmId == nullptr) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::GetClockStatus alarmId == nullptr error!");
+    if (alarm == nullptr) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::GetClockStatus alarm == nullptr error!");
     }
     if (currentAlarm[clockListener] == nullptr) {
         return false;
     } else if (currentAlarm[clockListener]->alarmType == TYPE_INVALID_ALARM_CLOCK) {
         return false;
     }
-    *alarmId = currentAlarm[clockListener]->alarmClockId;
+    *alarm = currentAlarm[clockListener]->alarmClockId;
     return true;
 }
 
@@ -434,9 +434,9 @@ bool AlarmClockModel::ButtonStatusRing(int16_t num, bool alarmStatus)
         return false;
     }
     uint8 tempAlarmEnable = currentAlarm[num]->alarmClockEnable;
-    if (alarmStatus == true) {
+    if (alarmStatus) {
         currentAlarm[num]->alarmClockEnable = 1;
-    } else if (alarmStatus == false) {
+    } else if (!alarmStatus) {
         currentAlarm[num]->alarmClockEnable = 0;
     }
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::ButtonStatusRing alarm[%d] status is %u", num,
@@ -449,7 +449,7 @@ bool AlarmClockModel::ButtonStatusRing(int16_t num, bool alarmStatus)
     return true;
 }
 
-void AlarmClockModel::SetDelayAlarm(uint8_t alarmId)
+void AlarmClockModel::SetDelayAlarm(uint8_t alarm)
 {
     AlarmClockQueueMsg *clockQueueMsg = new AlarmClockQueueMsg();
     if (clockQueueMsg == nullptr) {
@@ -460,12 +460,12 @@ void AlarmClockModel::SetDelayAlarm(uint8_t alarmId)
     clockQueueMsg->eventType = EVENT_ALARM_RING_DELAY;
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::ButtonStatusRing clockQueueMsg->eventType is %u",
         clockQueueMsg->eventType);
-    (clockQueueMsg->data).value = alarmId;
+    (clockQueueMsg->data).value = alarm;
     AlmmgrAlarmClockEventProcess(clockQueueMsg);
     return;
 }
 
-void AlarmClockModel::SetCancelAlarm(uint8_t alarmId)
+void AlarmClockModel::SetCancelAlarm(uint8_t alarm)
 {
     AlarmClockQueueMsg *clockQueueMsg = new AlarmClockQueueMsg();
     if (clockQueueMsg == nullptr) {
@@ -475,7 +475,7 @@ void AlarmClockModel::SetCancelAlarm(uint8_t alarmId)
     clockQueueMsg->eventType = EVENT_ALARM_RING_CANCEL;
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::ButtonStatusRing clockQueueMsg->eventType is %u",
         clockQueueMsg->eventType);
-    (clockQueueMsg->data).value = alarmId;
+    (clockQueueMsg->data).value = alarm;
     AlmmgrAlarmClockEventProcess(clockQueueMsg);
     return;
 }
@@ -620,8 +620,6 @@ void AlarmClockModel::GetPopTimeData(int16 *hour, int16 *min)
 void AlarmClockModel::AlarmGetClockNum()
 {
     struct tm curTime;
-    int32 hour, min;
-
     if (AlarmGetCurrentTimeInfo(&curTime) != 0) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmTimerCallback AlarmGetCurrentTimeInfo failed!!");
         return;
@@ -634,8 +632,8 @@ void AlarmClockModel::AlarmGetClockNum()
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum get num(%d)fail!", num);
             return;
         }
-        hour = currentAlarm[num]->alarmTime >> TWO_BYTES_BITS;
-        min = ((currentAlarm[num]->alarmTime & AND_FOR_LOW_TWO_BYTES) + (currentAlarm[num]->delayNum * DELAY_TEM_MIN));
+        int32_t hour = currentAlarm[num]->alarmTime >> TWO_BYTES_BITS;
+        int32_t min = ((currentAlarm[num]->alarmTime & AND_FOR_LOW_TWO_BYTES) + (currentAlarm[num]->delayNum * DELAY_TEM_MIN));
         hour = (hour + min / ONE_HOUR_MIN) % TWENTY_FOUR_HOUR;
         min = min % ONE_HOUR_MIN;
         if (curTime.tm_hour == hour && curTime.tm_min == min) {
@@ -650,15 +648,14 @@ void AlarmClockModel::AlarmGetClockNum()
     }
 }
 
-void AlarmClockModel::GetAlarmCallId(uint8_t *alarmId)
+void AlarmClockModel::GetAlarmCallId(uint8_t *alarm)
 {
-    if (alarmId == nullptr) {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::alarmId is nullptr!");
+    if (alarm == nullptr) {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::alarm is nullptr!");
         return;
     }
 
     struct tm curTime;
-    int32 hour, min;
     if (AlarmGetCurrentTimeInfo(&curTime) != 0) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmTimerCallback AlarmGetCurrentTimeInfo failed!!");
         return;
@@ -670,14 +667,14 @@ void AlarmClockModel::GetAlarmCallId(uint8_t *alarmId)
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum get num fail!");
             return;
         }
-        hour = currentAlarm[num]->alarmTime >> TWO_BYTES_BITS;
-        min = ((currentAlarm[num]->alarmTime & AND_FOR_LOW_TWO_BYTES) + (currentAlarm[num]->delayNum * DELAY_TEM_MIN));
+        int32_t hour = currentAlarm[num]->alarmTime >> TWO_BYTES_BITS;
+        int32_t min = ((currentAlarm[num]->alarmTime & AND_FOR_LOW_TWO_BYTES) + (currentAlarm[num]->delayNum * DELAY_TEM_MIN));
         hour = (hour + min / ONE_HOUR_MIN) % TWENTY_FOUR_HOUR;
         min = min % ONE_HOUR_MIN;
         if (curTime.tm_hour == hour && curTime.tm_min == min) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum %d:%d!",
                 currentAlarm[num]->alarmTime >> TWO_BYTES_BITS, currentAlarm[num]->alarmTime & AND_FOR_LOW_TWO_BYTES);
-            *alarmId = currentAlarm[num]->alarmClockId;
+            *alarm = currentAlarm[num]->alarmClockId;
             return;
         }
     }
@@ -685,7 +682,7 @@ void AlarmClockModel::GetAlarmCallId(uint8_t *alarmId)
 
 void AlarmClockModel::PopInterCancelMusic()
 {
-    SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, NULL, 0);
+    SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0);
     GraphicService::GetInstance()->PostGraphicEvent(
         std::bind(&AlarmClockModel::AlarmPlayerStop, AlarmClockModel::GetInstance()));
 }
@@ -758,12 +755,11 @@ int AlarmClockModel::AlarmPlayerInit(void)
 {
     // 本地播放文件路径和状态
     sliceId = (char *)"alarm.mp3"; // 播放音乐的文件名
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayerInit start!");
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit start!");
 
     std::string strSongName = sliceId;
     std::string pureName = strSongName.substr(0, strSongName.rfind(".")); // 播放音乐的路径需要引用.号
-    const char *songName = pureName.c_str();
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayerInit, url:%s ", sliceId);
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit, url:%s ", sliceId);
     std::string strSrcMusic(APP_MUSIC_PATH);
     std::string tempStr("/");
     std::string strName = sliceId;
@@ -780,7 +776,7 @@ int AlarmClockModel::AlarmPlayerInit(void)
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playerCallback new fail");
         return OHOS_FAILURE;
     }
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayerInit end!");
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit end!");
     return OHOS_SUCCESS;
 }
 
@@ -876,14 +872,14 @@ uint16_t AlarmClockModel::JudgePreSlice(void)
 void AlarmClockModel::DeactAudioInter(void)
 {
     bool alarmStatus;
-    uint8_t alarmId = 0;
-    alarmStatus = AlarmClockModel::GetInstance()->GetListenClockId(&alarmId);
-    if (alarmStatus == false) {
+    uint8_t alarm = 0;
+    alarmStatus = AlarmClockModel::GetInstance()->GetListenClockId(&alarm);
+    if (!alarmStatus) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPopUpPresenter::CancelAlarmRing get alarm Id false!");
         return;
     }
     AlarmClockModel::GetInstance()->ResetRingClockStatus();
-    AlarmClockModel::GetInstance()->SetDelayAlarm(alarmId);
+    AlarmClockModel::GetInstance()->SetDelayAlarm(alarm);
     PopInterCancelMusic();
 }
 
@@ -909,7 +905,7 @@ void AlarmClockModel::AlarmNextDayNotify()
 {
     for (uint8_t num = 0; num < CLOCK_MAX; num++) {
         if (currentAlarm[num] == nullptr || currentAlarm[num]->alarmType == TYPE_INVALID_ALARM_CLOCK) {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::currentAlarm[%u] is NULL");
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::currentAlarm[%u] is nullptr");
             return;
         }
         currentAlarm[num]->delayNum = 0;
@@ -928,17 +924,17 @@ void AlarmClockModel::AlarmClockNotify()
     int32_t timeout = -1;
     SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
     AlarmGetClockNum();
-    NativeAbility::GetInstance().ChangeSlice(VIEW_ALARM_POP_UP, TRANSITION_INVALID, PRIORITY_TWO);
+    NativeAbility::GetInstance().ChangeSlice(VIEW_ALARM_POP_UP, TransitionType::TRANSITION_INVALID, PRIORITY_TWO);
     return;
 }
 
 void AlarmClockModel::PhoneCallAlarm()
 {
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::PhoneCallAlarm");
-    uint8_t alarmId = 0;
+    uint8_t alarm = 0;
     OHOS::AlarmClockModel::GetInstance()->AlarmGetClockNum();
-    OHOS::AlarmClockModel::GetInstance()->GetAlarmCallId(&alarmId);
-    OHOS::AlarmClockModel::GetInstance()->SetDelayAlarm(alarmId);
+    OHOS::AlarmClockModel::GetInstance()->GetAlarmCallId(&alarm);
+    OHOS::AlarmClockModel::GetInstance()->SetDelayAlarm(alarm);
 }
 
 uint32 AlarmClockModel::GetAlarmData()
index b8c5099..dcd5a26 100644 (file)
@@ -18,7 +18,7 @@
 namespace OHOS {\r
 #define CLOSE "关闭"\r
 \r
-osTimerId_t g_stopAlarmCloseHandle = NULL;\r
+osTimerId_t g_stopAlarmCloseHandle = nullptr;\r
 static AlarmCloseRingView *g_pAlarmCloseRingView = nullptr;\r
 constexpr int16_t MAX_SET_ZERO_LEN = 0;\r
 constexpr int16_t MAX_SET_SRC_LEN = 90;\r
@@ -91,7 +91,7 @@ UIViewGroup *AlarmCloseRingView::InitCloseRingView(void)
     label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, MAX_LABEL_FONT_LEN);\r
     label->SetText(CLOSE);\r
     group->Add(label);\r
-    UIView::OnDragListener *listener =static_cast<UIView::OnDragListener*>(AlarmPopUpPresenter::GetInstance());\r
+    UIView::OnDragListener *listener = static_cast<UIView::OnDragListener*>(AlarmPopUpPresenter::GetInstance());\r
     group->SetOnDragListener(listener);\r
     group->SetDraggable(true);\r
     group->SetTouchable(true);\r
@@ -100,13 +100,13 @@ UIViewGroup *AlarmCloseRingView::InitCloseRingView(void)
 \r
 void AlarmCloseRingView::CancelCloseHandle(void)\r
 {\r
-    if (g_stopAlarmCloseHandle != NULL) {\r
+    if (g_stopAlarmCloseHandle != nullptr) {\r
         osStatus_t ret = osTimerDelete(g_stopAlarmCloseHandle);\r
         if (ret != osOK) {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CloseTimerCallback osTimerDelete failed, ret = %lx!!", ret);\r
             return;\r
         }\r
-        g_stopAlarmCloseHandle = NULL;\r
+        g_stopAlarmCloseHandle = nullptr;\r
     }\r
 }\r
 \r
@@ -135,8 +135,8 @@ void CloseTimerCallback(int data)
 \r
 void AlarmCloseRingView::AlarmCloseShowTimer(void)\r
 {\r
-    g_stopAlarmCloseHandle = osTimerNew((osTimerFunc_t)CloseTimerCallback, osTimerPeriodic, NULL, NULL);\r
-    if (g_stopAlarmCloseHandle == NULL) {\r
+    g_stopAlarmCloseHandle = osTimerNew((osTimerFunc_t)CloseTimerCallback, osTimerPeriodic, nullptr, nullptr);\r
+    if (g_stopAlarmCloseHandle == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmCloseShowTimer osTimerNew failed!!");\r
         return;\r
     }\r
@@ -144,13 +144,13 @@ void AlarmCloseRingView::AlarmCloseShowTimer(void)
     osStatus_t retTimer = osTimerStart(g_stopAlarmCloseHandle, tick);\r
     if (retTimer != osOK) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmCloseShowTimer osTimerStart failed, ret = %lx!!", retTimer);\r
-        if (g_stopAlarmCloseHandle != NULL) {\r
+        if (g_stopAlarmCloseHandle != nullptr) {\r
             retTimer = osTimerDelete(g_stopAlarmCloseHandle);\r
             if (retTimer != osOK) {\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmCloseShowTimer osTimerDelete failed, ret = %lx!!", retTimer);\r
                 return;\r
             }\r
-            g_stopAlarmCloseHandle = NULL;\r
+            g_stopAlarmCloseHandle = nullptr;\r
         }\r
         return;\r
     }\r
index b5d4e8f..171caef 100644 (file)
@@ -112,13 +112,13 @@ AlarmConfigView *AlarmConfigView::GetInstance(void)
 UILabel *AlarmConfigView::CreateConfigLabel(const char *buttonText, int16_t labelFont, int16_t x, int16_t y, int16_t width)\r
 {\r
     if (buttonText == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: buttonText NULL!");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: buttonText nullptr!");\r
         return nullptr;\r
     }\r
     UILabel *label = nullptr;\r
     label = new UILabel();\r
     if (label == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: CreateConfigLabel return NULL");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: CreateConfigLabel return nullptr");\r
         return nullptr;\r
     }\r
     label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelFont);\r
@@ -175,7 +175,7 @@ void AlarmConfigView::CreateConfigButton(void)
     configScroll->Add(editLabel);\r
     UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
     if (clickListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::OnStart clickListener NULL");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::OnStart clickListener nullptr");\r
         return;\r
     }\r
     labelTime = new UIDigitalClock();\r
index 1a8903c..823ff67 100644 (file)
@@ -16,11 +16,11 @@ namespace OHOS {
 #define MAX_INETERFACES "当前闹钟个数已达上限"\r
 #define INTERFACE_ID "maxclock"\r
 \r
-osTimerId_t g_stopAlarmMaxHandle = NULL;\r
+osTimerId_t g_stopAlarmMaxHandle = nullptr;\r
 static AlarmMaxClock *g_AlarmMaxClock = nullptr;\r
 static constexpr uint64_t MS_THREE_SECONDS = 3000;\r
-static void ScanTimerCallback(int data);\r
-static void EndScanHandle(void);\r
+void ScanTimerCallback(int data);\r
+void EndScanHandle(void);\r
 \r
 static AlarmMaxClock *g_JudgeView = nullptr;\r
 constexpr int16_t CONTAINER_X = 0;\r
@@ -59,7 +59,7 @@ AlarmMaxClock *AlarmMaxClock::GetInstance(void)
     return g_AlarmMaxClock;\r
 }\r
 \r
-UIScrollView * AlarmMaxClock::InitAlarmMax(void)\r
+UIScrollView *AlarmMaxClock::InitAlarmMax(void)\r
 {\r
     container = new UIScrollView();\r
     if (container == nullptr) {\r
@@ -83,7 +83,7 @@ UIScrollView * AlarmMaxClock::InitAlarmMax(void)
     container->SetDraggable(true);\r
     UIView::OnDragListener *maxClockDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();\r
     if (maxClockDragListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock:: maxClockDragListener is NULL");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock:: maxClockDragListener is nullptr");\r
         return container;\r
     }\r
     container->SetOnDragListener(maxClockDragListener);\r
@@ -94,17 +94,17 @@ UIScrollView * AlarmMaxClock::InitAlarmMax(void)
 \r
 void CancelScanHandle(void)\r
 {\r
-    if (g_stopAlarmMaxHandle != NULL) {\r
+    if (g_stopAlarmMaxHandle != nullptr) {\r
         osStatus_t ret = osTimerDelete(g_stopAlarmMaxHandle);\r
         if (ret != osOK) {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScanTimerCallback osTimerDelete failed, ret = %lx!!", ret);\r
             return;\r
         }\r
-        g_stopAlarmMaxHandle = NULL;\r
+        g_stopAlarmMaxHandle = nullptr;\r
     }\r
 }\r
 \r
-static void EndScanHandle(void)\r
+void EndScanHandle(void)\r
 {\r
     OHOS::MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_MAXCLOCK, MAIN_INTERFACE);\r
 }\r
@@ -117,15 +117,15 @@ static void ScanTimerCallbackProc(int data)
     EndScanHandle();\r
 }\r
 \r
-static void ScanTimerCallback(int data)\r
+void ScanTimerCallback(int data)\r
 {\r
     GraphicService::GetInstance()->PostGraphicEvent(std::bind(ScanTimerCallbackProc, data));\r
 }\r
 \r
 void AlarmMaxClock::AlarmMaxDelayExit(void)\r
 {\r
-    g_stopAlarmMaxHandle = osTimerNew((osTimerFunc_t)ScanTimerCallback, osTimerPeriodic, NULL, NULL);\r
-    if (g_stopAlarmMaxHandle == NULL) {\r
+    g_stopAlarmMaxHandle = osTimerNew((osTimerFunc_t)ScanTimerCallback, osTimerPeriodic, nullptr, nullptr);\r
+    if (g_stopAlarmMaxHandle == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmMaxDelayExit osTimerNew failed!!");\r
         return;\r
     }\r
@@ -133,13 +133,13 @@ void AlarmMaxClock::AlarmMaxDelayExit(void)
     osStatus_t retTimer = osTimerStart(g_stopAlarmMaxHandle, tick);\r
     if (retTimer != osOK) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmMaxDelayExit osTimerStart failed, ret = %lx!!", retTimer);\r
-        if (g_stopAlarmMaxHandle != NULL) {\r
+        if (g_stopAlarmMaxHandle != nullptr) {\r
             retTimer = osTimerDelete(g_stopAlarmMaxHandle);\r
             if (retTimer != osOK) {\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmMaxDelayExit osTimerDelete failed, ret = %lx!!", retTimer);\r
                 return;\r
             }\r
-            g_stopAlarmMaxHandle = NULL;\r
+            g_stopAlarmMaxHandle = nullptr;\r
         }\r
         return;\r
     }\r
index b410711..55db62d 100644 (file)
@@ -105,7 +105,7 @@ void AlarmNewTimeView::CreateLabelTime(void)
     UITimePicker::SelectedListener *selectedListener =\r
         (UITimePicker::SelectedListener *)OHOS::AlarmPresenter::GetInstance();\r
     if (selectedListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateLabelTime:: selectedListener is NULL");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateLabelTime:: selectedListener is nullptr");\r
         return;\r
     }\r
     picker->EnableSecond(false);\r
@@ -168,13 +168,13 @@ void AlarmNewTimeView::RefreshNewTime(void)
 {\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::RefreshStep");\r
     struct tm local_time;\r
-    time_t seconds = time(NULL);\r
-\r
-    if (localtime_r(&seconds, &local_time) == NULL) {\r
+    time_t seconds = time(nullptr);\r
+    if (localtime_r(&seconds, &local_time) == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum get localtime error!");\r
         return;\r
     }\r
-    std::ostringstream ostrHour, ostMin;\r
+    std::ostringstream ostrHour;\r
+    std::ostringstream ostMin;\r
     ostrHour << local_time.tm_hour;\r
     ostMin << local_time.tm_min;\r
     std::string weekStr = ostrHour.str() + ":" + ostMin.str();\r
index fdb5943..9d1324a 100644 (file)
@@ -79,8 +79,7 @@ void AlarmPopUpView::AlarmCreateLabel(void)
         return;\r
     }\r
     struct tm local_time;\r
-    time_t seconds = time(NULL);\r
-    int16 thisHour, thisMin;\r
+    time_t seconds = time(nullptr);\r
 \r
     labelPopup->SetPosition(LABEL_X, LABEL_Y, LABEL_WIDTH, LABEL_HEIGHT);\r
     labelPopup->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT);\r
@@ -95,10 +94,13 @@ void AlarmPopUpView::AlarmCreateLabel(void)
     dClock->SetPosition(CLOCK_X, CLOCK_Y);\r
     dClock->Resize(DIGITAL_CLOCK_WIDTH, DIGITAL_CLOCK_HEIGHT);\r
     dClock->SetFont(DEFAULT_VECTOR_FONT_FILENAME, CLOCK_FONT);\r
-    if (localtime_r(&seconds, &local_time) == NULL) {\r
+    if (localtime_r(&seconds, &local_time) == nullptr) {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPopUpView::AlarmCreateLabel get localtime error!");\r
         return;\r
     }\r
+\r
+    int16_t thisHour;\r
+    int16_t thisMin;\r
     AlarmClockModel::GetInstance()->GetPopTimeData(&thisHour, &thisMin);\r
     dClock->SetDisplayMode(UIDigitalClock::DISPLAY_24_HOUR_NO_SECONDS);\r
     dClock->SetTime24Hour(thisHour, thisMin, 0);\r
index d0dca05..275eb8f 100644 (file)
@@ -1,9 +1,9 @@
 /*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: Alarm\r
- * Author:\r
- * Create: 2021-09-11\r
- */\r
+* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
+* Description: Alarm\r
+* Author:\r
+* Create: 2021-09-11\r
+*/\r
 \r
 #include "AlarmPresenter.h"\r
 #include "MainAlarmView.h"\r
 \r
 namespace OHOS\r
 {\r
-    static AlarmPresenter *g_pAlarmPresenter = nullptr;\r
+static AlarmPresenter *g_pAlarmPresenter = nullptr;\r
+\r
+constexpr int16_t CLOSE_SWITCHES = 0;\r
+constexpr int16_t OPEN_SWITCHES = 1;\r
+constexpr int16_t SET_ZERO = 0;\r
+constexpr int16_t NEW_TIME_LISTENER = 0;\r
+constexpr int16_t SET_TIME_LISTENER = 1;\r
+constexpr uint16_t THE_FIRST_ALARM = 0;\r
+constexpr uint16_t SECOND_ALARM = 1;\r
+constexpr uint16_t THIRD_ALARM = 2;\r
+constexpr uint16_t FOURTH_ALARM = 3;\r
+constexpr uint16_t FIVE_ALARM = 4;\r
+constexpr uint16_t SIX_ALARM = 5;\r
+constexpr uint16_t UNUSED_NUM = 6;\r
+constexpr int16_t FIRST_ALARM = 0;\r
+constexpr uint8_t WEEK_BIT6 = 6;\r
+constexpr uint8_t WEEK_BIT5 = 5;\r
+constexpr uint8_t WEEK_BIT4 = 4;\r
+constexpr uint8_t WEEK_BIT3 = 3;\r
+constexpr uint8_t WEEK_BIT2 = 2;\r
+constexpr uint8_t WEEK_BIT1 = 1;\r
+constexpr uint8_t WEEK_BIT0 = 0;\r
+constexpr uint16_t ALARM_MAX_NUM = 4;\r
+constexpr int32_t BUTTON_MAX_NUM = 7;\r
+constexpr uint16_t CLOCK_NUM = 5;\r
+constexpr uint8_t CANCEL_DATA = 0;\r
+constexpr uint8_t SELECT_DATA = 1;\r
+constexpr uint8_t SLIDING_LENGTH = 30;\r
+\r
+AlarmPresenter::AlarmPresenter()\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new");\r
+    g_pAlarmPresenter = this;\r
+}\r
+\r
+AlarmPresenter::~AlarmPresenter()\r
+{\r
+    g_pAlarmPresenter = nullptr;\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::~AlarmPresenter");\r
+}\r
+\r
+ColorType AlarmPresenter::ShadowBlue()\r
+{\r
+    return Color::GetColorFromRGB(0x17, 0x8F, 0xF8);\r
+}\r
+\r
+void AlarmPresenter::OnStart()\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter OnStart");\r
+    Presenter<MainAlarmView>::OnStart();\r
+}\r
+\r
+void AlarmPresenter::OnPause(void) {}\r
+\r
+void AlarmPresenter::OnResume(void) {}\r
+\r
+void AlarmPresenter::OnStop(void) {}\r
+\r
+AlarmPresenter *AlarmPresenter::GetInstance()\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter GetInstance");\r
+    return g_pAlarmPresenter;\r
+}\r
+\r
+void AlarmPresenter::OnTimePickerStoped(UITimePicker &picker)\r
+{\r
+    std::string hour(picker.GetSelectHour());\r
+    std::string minute(picker.GetSelectMinute());\r
+    timeHour = stoi(hour);\r
+    timeMin = stoi(minute);\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnTimePickerStoped the hour is %u,and the minute is %u", timeHour, timeMin);\r
+}\r
+\r
+void AlarmPresenter::OnTimePickerInaction(uint32_t hour, uint32_t min)\r
+{\r
+    timeHour = hour;\r
+    timeMin = min;\r
+}\r
 \r
-    constexpr int16_t CLOSE_SWITCHES = 0;\r
-    constexpr int16_t OPEN_SWITCHES = 1;\r
-    constexpr int16_t SET_ZERO = 0;\r
-    constexpr int16_t NEW_TIME_LISTENER = 0;\r
-    constexpr int16_t SET_TIME_LISTENER = 1;\r
-    constexpr uint16_t THE_FIRST_ALARM = 0;\r
-    constexpr uint16_t SECOND_ALARM = 1;\r
-    constexpr uint16_t THIRD_ALARM = 2;\r
-    constexpr uint16_t FOURTH_ALARM = 3;\r
-    constexpr uint16_t FIVE_ALARM = 4;\r
-    constexpr uint16_t SIX_ALARM = 5;\r
-    constexpr uint16_t UNUSED_NUM = 6;\r
-    constexpr int16_t FIRST_ALARM = 0;\r
-    constexpr uint8_t WEEK_BIT6 = 6;\r
-    constexpr uint8_t WEEK_BIT5 = 5;\r
-    constexpr uint8_t WEEK_BIT4 = 4;\r
-    constexpr uint8_t WEEK_BIT3 = 3;\r
-    constexpr uint8_t WEEK_BIT2 = 2;\r
-    constexpr uint8_t WEEK_BIT1 = 1;\r
-    constexpr uint8_t WEEK_BIT0 = 0;\r
-    constexpr uint16_t ALARM_MAX_NUM = 4;\r
-    constexpr int32_t BUTTON_MAX_NUM = 7;\r
-    constexpr uint16_t CLOCK_NUM = 5;\r
-    constexpr uint8_t CANCEL_DATA = 0;\r
-    constexpr uint8_t SELECT_DATA = 1;\r
-    constexpr uint8_t SLIDING_LENGTH = 30;\r
+void AlarmPresenter::PlayRing(void *arg)\r
+{\r
+    UNUSED(arg);\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::playRing");\r
+}\r
 \r
-    AlarmPresenter::AlarmPresenter()\r
+int16_t AlarmPresenter::GetInterStatus(void)\r
+{\r
+    return interListener;\r
+}\r
+\r
+void AlarmPresenter::ClickSetTime(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_TIME");\r
+    UNUSED(num);\r
+    uint32_t clockTime;\r
+    if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new");\r
-        g_pAlarmPresenter = this;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetTime error");\r
+        return;\r
     }\r
-\r
-    AlarmPresenter::~AlarmPresenter()\r
+    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_TIME);\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
     {\r
-        g_pAlarmPresenter = nullptr;\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::~AlarmPresenter");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new MainAlarmView::GetInstance() error");\r
+        return;\r
     }\r
-\r
-    ColorType AlarmPresenter::ShadowBlue()\r
+    AlarmSetTimeView::GetInstance()->RefreshSetTime(clockTime);\r
+    if (AlarmSetTimeView::GetInstance() == nullptr)\r
     {\r
-        return Color::GetColorFromRGB(0x17, 0x8F, 0xF8);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new AlarmSetTimeView::GetInstance() error");\r
+        return;\r
     }\r
+}\r
 \r
-    void AlarmPresenter::OnStart()\r
+void AlarmPresenter::ClickSetWeek(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_WEEK");\r
+    UNUSED(num);\r
+    uint8_t clockWeek;\r
+    if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter OnStart");\r
-        Presenter<MainAlarmView>::OnStart();\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetWeek error");\r
+        return;\r
     }\r
-\r
-    void AlarmPresenter::OnPause(void) {}\r
-\r
-    void AlarmPresenter::OnResume(void) {}\r
-\r
-    void AlarmPresenter::OnStop(void) {}\r
-\r
-    AlarmPresenter *AlarmPresenter::GetInstance()\r
+    interListener = SET_TIME_LISTENER;\r
+    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_WEEK);\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter GetInstance");\r
-        return g_pAlarmPresenter;\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new MainAlarmView::GetInstance() error");\r
+        return;\r
     }\r
-\r
-    void AlarmPresenter::OnTimePickerStoped(UITimePicker &picker)\r
+    memset_s(alarmWeek, sizeof(alarmWeek), 0, sizeof(alarmWeek));\r
+    AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
+    if (AlarmSetWeekView::GetInstance() == nullptr)\r
     {\r
-        std::string hour(picker.GetSelectHour());\r
-        std::string minute(picker.GetSelectMinute());\r
-        timeHour = stoi(hour);\r
-        timeMin = stoi(minute);\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnTimePickerStoped the hour is %u,and the minute is %u", timeHour, timeMin);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new AlarmSetWeekView::GetInstance() error");\r
+        return;\r
     }\r
+    AlarmSetWeekView::GetInstance()->RefreshSetWeek2(clockWeek);\r
+}\r
 \r
-    void AlarmPresenter::OnTimePickerInaction(uint32_t hour, uint32_t min)\r
+void AlarmPresenter::ClickAlarmClockDelete(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClockDelete");\r
+    UNUSED(num);\r
+    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_JUDGE);\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
     {\r
-        timeHour = hour;\r
-        timeMin = min;\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClockDelete new MainAlarmView::GetInstance() error");\r
+        return;\r
     }\r
+}\r
 \r
-    void AlarmPresenter::PlayRing(void *arg)\r
+void AlarmPresenter::ClickJudgeDelete(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
+    UNUSED(num);\r
+    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
     {\r
-        UNUSED(arg);\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::playRing");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeDelete new MainAlarmView::GetInstance() error");\r
+        return;\r
     }\r
+}\r
 \r
-    int16_t AlarmPresenter::GetInterStatus(void)\r
+void AlarmPresenter::ClickJudgeTrue(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
+    UNUSED(num);\r
+    uint32_t clockTime;\r
+    AlarmClockModel::GetInstance()->DeleteClockModel(alarmListener);\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
     {\r
-        return interListener;\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeTrue new MainAlarmView::GetInstance() error");\r
+        return;\r
     }\r
-\r
-    void AlarmPresenter::ClickSetTime(uint16_t num)\r
+    MainAlarmView::GetInstance()->RefreshAlarm();\r
+    clockQty--;\r
+    for (uint16_t alarmNum = 0; alarmNum < clockQty; alarmNum++)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_TIME");\r
-        UNUSED(num);\r
-        uint32_t clockTime;\r
-        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
+        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmNum, &clockTime)) == false)\r
         {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetTime error");\r
-            return;\r
-        }\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_TIME);\r
-        if (MainAlarmView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
-        AlarmSetTimeView::GetInstance()->RefreshSetTime(clockTime);\r
-        if (AlarmSetTimeView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetTime new AlarmSetTimeView::GetInstance() error");\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickJudgeTrue error");\r
             return;\r
         }\r
+        MainAlarmView::GetInstance()->RefreshAlarm();\r
     }\r
+    AlarmClockModel::GetInstance()->SetSerialRdc();\r
+    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
+}\r
 \r
-    void AlarmPresenter::ClickSetWeek(uint16_t num)\r
+void AlarmPresenter::ClickAlarmTimeOk(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_OK");\r
+    UNUSED(num);\r
+    AlarmClockModel::GetInstance()->SetAlarmTime(timeHour, timeMin, alarmListener);\r
+    uint32_t clockTime = ((timeHour << 16) | timeMin); // 闹钟时间小时的存储位需要右移16位\r
+    uint8_t clockWeek;\r
+    if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter VIEW_ALARM_SET_WEEK");\r
-        UNUSED(num);\r
-        uint8_t clockWeek;\r
-        if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
-        {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickSetWeek error");\r
-            return;\r
-        }\r
-        interListener = SET_TIME_LISTENER;\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_SET_WEEK);\r
-        if (MainAlarmView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
-        memset_s(alarmWeek, sizeof(alarmWeek), 0, sizeof(alarmWeek));\r
-        AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
-        if (AlarmSetWeekView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickSetWeek new AlarmSetWeekView::GetInstance() error");\r
-            return;\r
-        }\r
-        AlarmSetWeekView::GetInstance()->RefreshSetWeek2(clockWeek);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmTimeOk error");\r
+        return;\r
     }\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter time = %u", clockTime);\r
+    AlarmClockModel::GetInstance()->DelAlarmDelay(alarmListener);\r
 \r
-    void AlarmPresenter::ClickAlarmClockDelete(uint16_t num)\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClockDelete");\r
-        UNUSED(num);\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_CONFIG, CHANGE_INTERFACE_JUDGE);\r
-        if (MainAlarmView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClockDelete new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new MainAlarmView::GetInstance() error");\r
+        return;\r
     }\r
-\r
-    void AlarmPresenter::ClickJudgeDelete(uint16_t num)\r
+    AlarmClockModel::GetInstance()->ButtonStatusRing(alarmListener, true);\r
+    MainAlarmView::GetInstance()->RefreshAlarm();\r
+    if (AlarmConfigView::GetInstance() == nullptr)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
-        UNUSED(num);\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
-        if (MainAlarmView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeDelete new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new AlarmConfigView::GetInstance() error");\r
+        return;\r
     }\r
+    AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
+    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_TIME, CHANGE_INTERFACE_CONFIG);\r
+}\r
 \r
-    void AlarmPresenter::ClickJudgeTrue(uint16_t num)\r
+void AlarmPresenter::ClickAlarmClock(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter AlarmClock1");\r
+    clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "------AlarmPresenter alarmNumbel = %u", clockQty);\r
+    setListener = SET_TIME_LISTENER;\r
+    alarmListener = num;\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmListener = %u", alarmListener);\r
+    uint32_t clockTime;\r
+    uint8_t clockWeek;\r
+    if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter JUDGE_DELETE");\r
-        UNUSED(num);\r
-        uint32_t clockTime;\r
-        AlarmClockModel::GetInstance()->DeleteClockModel(alarmListener);\r
-        if (MainAlarmView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickJudgeTrue new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
-        MainAlarmView::GetInstance()->RefreshAlarm();\r
-        clockQty--;\r
-        for (uint16_t alarmNum = 0; alarmNum < clockQty; alarmNum++)\r
-        {\r
-            if ((AlarmClockModel::GetInstance()->GetClockTime(alarmNum, &clockTime)) == false)\r
-            {\r
-                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickJudgeTrue error");\r
-                return;\r
-            }\r
-            MainAlarmView::GetInstance()->RefreshAlarm();\r
-        }\r
-        AlarmClockModel::GetInstance()->SetSerialRdc();\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_JUDGE, MAIN_INTERFACE);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
+        return;\r
+    }\r
+    if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
+        return;\r
+    }\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new MainAlarmView::GetInstance() error");\r
+        return;\r
+    }\r
+    MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_CONFIG);\r
+    if (AlarmConfigView::GetInstance() == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new AlarmConfigView::GetInstance() error");\r
+        return;\r
     }\r
+    AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, num);\r
+}\r
 \r
-    void AlarmPresenter::ClickAlarmTimeOk(uint16_t num)\r
+void AlarmPresenter::ClickAlarmWeekOk(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_WEEK_OK");\r
+    UNUSED(num);\r
+    uint32_t clockTime;\r
+    uint8_t clockWeek = ((alarmWeek[WEEK_BIT6] << WEEK_BIT6) | (alarmWeek[WEEK_BIT5] << WEEK_BIT5) | (alarmWeek[WEEK_BIT4] << WEEK_BIT4) |\r
+                            (alarmWeek[WEEK_BIT3] << WEEK_BIT3) | (alarmWeek[WEEK_BIT2] << WEEK_BIT2) | (alarmWeek[WEEK_BIT1] << WEEK_BIT1) | alarmWeek[WEEK_BIT0]);\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk setListener = %u!", setListener);\r
+\r
+    if (setListener == SET_TIME_LISTENER)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_OK");\r
-        UNUSED(num);\r
-        AlarmClockModel::GetInstance()->SetAlarmTime(timeHour, timeMin, alarmListener);\r
-        uint32_t clockTime = ((timeHour << 16) | timeMin); // 闹钟时间小时的存储位需要右移16位\r
-        uint8_t clockWeek;\r
-        if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk set time!");\r
+        if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
         {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmTimeOk error");\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
             return;\r
         }\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter time = %u", clockTime);\r
-        AlarmClockModel::GetInstance()->DelAlarmDelay(alarmListener);\r
-\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
+        AlarmClockModel::GetInstance()->SetAlarmWeek(clockWeek, alarmListener);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
+        AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
         if (MainAlarmView::GetInstance() == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new MainAlarmView::GetInstance() error");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
             return;\r
         }\r
         AlarmClockModel::GetInstance()->ButtonStatusRing(alarmListener, true);\r
         MainAlarmView::GetInstance()->RefreshAlarm();\r
-        if (AlarmConfigView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmTimeOk new AlarmConfigView::GetInstance() error");\r
-            return;\r
-        }\r
-        AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_TIME, CHANGE_INTERFACE_CONFIG);\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, CHANGE_INTERFACE_CONFIG);\r
     }\r
-\r
-    void AlarmPresenter::ClickAlarmClock(uint16_t num)\r
+    else if (setListener == NEW_TIME_LISTENER)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter AlarmClock1");\r
-        clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "------AlarmPresenter alarmNumbel = %u", clockQty);\r
-        setListener = SET_TIME_LISTENER;\r
-        alarmListener = num;\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmListener = %u", alarmListener);\r
-        uint32_t clockTime;\r
-        uint8_t clockWeek;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk new time!");\r
+        clockQty++;\r
+        alarmListener = clockQty;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "******************ClickAlarmWeekOk  alarmListener = %d***************", alarmListener);\r
+        AlarmClockModel::GetInstance()->SetSerialAdd();\r
+        AlarmClockModel::GetInstance()->SetAlarmInfo(timeHour, timeMin, clockWeek, alarmListener, setListener);\r
         if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
         {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
-            return;\r
-        }\r
-        if ((AlarmClockModel::GetInstance()->GetClockWeek(alarmListener, &clockWeek)) == false)\r
-        {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmClock error");\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
             return;\r
         }\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
         if (MainAlarmView::GetInstance() == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
-        MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_CONFIG);\r
-        if (AlarmConfigView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmClock new AlarmConfigView::GetInstance() error");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
             return;\r
         }\r
-        AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, num);\r
+        MainAlarmView::GetInstance()->RefreshAlarm();\r
+        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, MAIN_INTERFACE);\r
     }\r
+}\r
 \r
-    void AlarmPresenter::ClickAlarmWeekOk(uint16_t num)\r
+void AlarmPresenter::ClickAlarmNewTime(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEW_TIME");\r
+    clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmNumbel = %u", clockQty);\r
+    UNUSED(num);\r
+    if (clockQty >= ALARM_MAX_NUM)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_WEEK_OK");\r
-        UNUSED(num);\r
-        uint32_t clockTime;\r
-        uint8_t clockWeek = ((alarmWeek[WEEK_BIT6] << WEEK_BIT6) | (alarmWeek[WEEK_BIT5] << WEEK_BIT5) | (alarmWeek[WEEK_BIT4] << WEEK_BIT4) |\r
-                             (alarmWeek[WEEK_BIT3] << WEEK_BIT3) | (alarmWeek[WEEK_BIT2] << WEEK_BIT2) | (alarmWeek[WEEK_BIT1] << WEEK_BIT1) | alarmWeek[WEEK_BIT0]);\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk setListener = %u!", setListener);\r
-\r
-        if (setListener == SET_TIME_LISTENER)\r
-        {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk set time!");\r
-            if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
-            {\r
-                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
-                return;\r
-            }\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
-            AlarmClockModel::GetInstance()->SetAlarmWeek(clockWeek, alarmListener);\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
-            AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, UNUSED_NUM);\r
-            if (MainAlarmView::GetInstance() == nullptr)\r
-            {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
-                return;\r
-            }\r
-            AlarmClockModel::GetInstance()->ButtonStatusRing(alarmListener, true);\r
-            MainAlarmView::GetInstance()->RefreshAlarm();\r
-            MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, CHANGE_INTERFACE_CONFIG);\r
-        }\r
-        else if (setListener == NEW_TIME_LISTENER)\r
-        {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk new time!");\r
-            clockQty++;\r
-            alarmListener = clockQty;\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "******************ClickAlarmWeekOk  alarmListener = %d***************", alarmListener);\r
-            AlarmClockModel::GetInstance()->SetSerialAdd();\r
-            AlarmClockModel::GetInstance()->SetAlarmInfo(timeHour, timeMin, clockWeek, alarmListener, setListener);\r
-            if ((AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime)) == false)\r
-            {\r
-                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
-                return;\r
-            }\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  time = %d", clockTime);\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk  week = %u", clockWeek);\r
-            if (MainAlarmView::GetInstance() == nullptr)\r
-            {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmWeekOk new MainAlarmView::GetInstance() error");\r
-                return;\r
-            }\r
-            MainAlarmView::GetInstance()->RefreshAlarm();\r
-            MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, MAIN_INTERFACE);\r
-        }\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new alarm max");\r
+        MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_MAXCLOCK);\r
+        return;\r
+    }\r
+    setListener = NEW_TIME_LISTENER;\r
+    timeHour = 0;\r
+    timeMin = 0;\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new MainAlarmView::GetInstance() error");\r
+        return;\r
     }\r
+    MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_NEW_TIME);\r
+    if (AlarmNewTimeView::GetInstance() == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new AlarmNewTimeView::GetInstance() error");\r
+        return;\r
+    }\r
+    AlarmNewTimeView::GetInstance()->RefreshNewTime();\r
+}\r
 \r
-    void AlarmPresenter::ClickAlarmNewTime(uint16_t num)\r
+void AlarmPresenter::ClickAlarmNext(uint16_t num)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEXT");\r
+    UNUSED(num);\r
+    for (int i = 0; i < BUTTON_MAX_NUM; i++)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEW_TIME");\r
-        clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmNumbel = %u", clockQty);\r
-        UNUSED(num);\r
-        if (clockQty >= ALARM_MAX_NUM)\r
-        {\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new alarm max");\r
-            MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_MAXCLOCK);\r
-            return;\r
-        }\r
-        setListener = NEW_TIME_LISTENER;\r
-        timeHour = 0;\r
-        timeMin = 0;\r
-        if (MainAlarmView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
-        MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_NEW_TIME);\r
-        if (AlarmNewTimeView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new AlarmNewTimeView::GetInstance() error");\r
-            return;\r
-        }\r
-        AlarmNewTimeView::GetInstance()->RefreshNewTime();\r
+        alarmWeek[i] = 0;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[%d] = %u", i, alarmWeek[i]);\r
+    }\r
+    interListener = NEW_TIME_LISTENER;\r
+    if (MainAlarmView::GetInstance() == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new MainAlarmView::GetInstance() error");\r
+        return;\r
+    }\r
+    MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_NEW_TIME, CHANGE_INTERFACE_SET_WEEK);\r
+    if (AlarmNewTimeView::GetInstance() == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmNewTimeView::GetInstance() error");\r
+        return;\r
+    }\r
+    if (AlarmSetWeekView::GetInstance() == nullptr)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmSetWeekView::GetInstance() error");\r
+        return;\r
     }\r
+    AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
+}\r
 \r
-    void AlarmPresenter::ClickAlarmNext(uint16_t num)\r
+bool AlarmPresenter::OnDrag(UIView &view, const DragEvent &event)\r
+{\r
+    if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEXT");\r
-        UNUSED(num);\r
-        for (int i = 0; i < BUTTON_MAX_NUM; i++)\r
+        int16_t deltaX;\r
+        int16_t deltaY;\r
+        deltaX = event.GetDeltaX();\r
+        deltaY = event.GetDeltaY();\r
+        if (MATH_ABS(deltaX) >= MATH_ABS(deltaY) && MATH_ABS(deltaX) > SLIDING_LENGTH)\r
         {\r
-            alarmWeek[i] = 0;\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[%d] = %u", i, alarmWeek[i]);\r
+            MainAlarmView::GetInstance()->DropView(view);\r
         }\r
-        interListener = NEW_TIME_LISTENER;\r
-        if (MainAlarmView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new MainAlarmView::GetInstance() error");\r
-            return;\r
-        }\r
-        MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_NEW_TIME, CHANGE_INTERFACE_SET_WEEK);\r
-        if (AlarmNewTimeView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmNewTimeView::GetInstance() error");\r
-            return;\r
-        }\r
-        if (AlarmSetWeekView::GetInstance() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmSetWeekView::GetInstance() error");\r
-            return;\r
-        }\r
-        AlarmSetWeekView::GetInstance()->RefreshSetWeek1();\r
     }\r
+    return true;\r
+}\r
 \r
-    bool AlarmPresenter::OnDrag(UIView &view, const DragEvent &event)\r
+struct AlarmPresentMapper1\r
+{\r
+    const char *viewId;\r
+    void (AlarmPresenter::*func)(uint16_t);\r
+};\r
+\r
+static const AlarmPresentMapper1 PresentMapper[] = {\r
+    {SET_TIME, &AlarmPresenter::ClickSetTime},\r
+    {SET_WEEK, &AlarmPresenter::ClickSetWeek},\r
+    {ALARM_CLOCK_DELETE, &AlarmPresenter::ClickAlarmClockDelete},\r
+    {JUDGE_DELETE, &AlarmPresenter::ClickJudgeDelete},\r
+    {JUDGE_TRUE, &AlarmPresenter::ClickJudgeTrue},\r
+    {ALARM_OK, &AlarmPresenter::ClickAlarmTimeOk},\r
+    {ADD_BUTTON, &AlarmPresenter::ClickAlarmNewTime},\r
+    {ALARM_NEXT, &AlarmPresenter::ClickAlarmNext},\r
+    {ALARM_WEEK_OK, &AlarmPresenter::ClickAlarmWeekOk},\r
+    {ALARM_CLOCK[THE_FIRST_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+    {ALARM_CLOCK[SECOND_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+    {ALARM_CLOCK[THIRD_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+    {ALARM_CLOCK[FOURTH_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+    {ALARM_CLOCK[FIVE_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+    {ALARM_CLOCK[SIX_ALARM], &AlarmPresenter::ClickAlarmClock},\r
+};\r
+\r
+bool AlarmPresenter::ClickFuncId(const char *buttonName)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "buttonName = %s", buttonName);\r
+    uint16_t num;\r
+    for (uint16_t i = 0; i < sizeof(PresentMapper) / sizeof(PresentMapper[0]); i++)\r
     {\r
-        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+        for (num = 0; num < CLOCK_NUM; num++)\r
         {\r
-            int16_t deltaX;\r
-            int16_t deltaY;\r
-            deltaX = event.GetDeltaX();\r
-            deltaY = event.GetDeltaY();\r
-            if (MATH_ABS(deltaX) >= MATH_ABS(deltaY) && MATH_ABS(deltaX) > SLIDING_LENGTH)\r
+            if (strcmp(buttonName, ALARM_CLOCK[num]) == 0)\r
             {\r
-                MainAlarmView::GetInstance()->DropView(view);\r
+                break;\r
             }\r
         }\r
-        return true;\r
-    }\r
-\r
-    struct AlarmPresentMapper1\r
-    {\r
-        const char *viewId;\r
-        void (AlarmPresenter::*func)(uint16_t);\r
-    };\r
-\r
-    static const AlarmPresentMapper1 PresentMapper[] = {\r
-        {SET_TIME, &AlarmPresenter::ClickSetTime},\r
-        {SET_WEEK, &AlarmPresenter::ClickSetWeek},\r
-        {ALARM_CLOCK_DELETE, &AlarmPresenter::ClickAlarmClockDelete},\r
-        {JUDGE_DELETE, &AlarmPresenter::ClickJudgeDelete},\r
-        {JUDGE_TRUE, &AlarmPresenter::ClickJudgeTrue},\r
-        {ALARM_OK, &AlarmPresenter::ClickAlarmTimeOk},\r
-        {ADD_BUTTON, &AlarmPresenter::ClickAlarmNewTime},\r
-        {ALARM_NEXT, &AlarmPresenter::ClickAlarmNext},\r
-        {ALARM_WEEK_OK, &AlarmPresenter::ClickAlarmWeekOk},\r
-        {ALARM_CLOCK[THE_FIRST_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-        {ALARM_CLOCK[SECOND_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-        {ALARM_CLOCK[THIRD_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-        {ALARM_CLOCK[FOURTH_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-        {ALARM_CLOCK[FIVE_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-        {ALARM_CLOCK[SIX_ALARM], &AlarmPresenter::ClickAlarmClock},\r
-    };\r
-\r
-    bool AlarmPresenter::ClickFuncId(const char *buttonName)\r
-    {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "buttonName = %s", buttonName);\r
-        uint16_t num;\r
-        for (uint16_t i = 0; i < sizeof(PresentMapper) / sizeof(PresentMapper[0]); i++)\r
+        if (strcmp(buttonName, PresentMapper[i].viewId) == 0)\r
         {\r
-            for (num = 0; num < CLOCK_NUM; num++)\r
-            {\r
-                if (strcmp(buttonName, ALARM_CLOCK[num]) == 0)\r
-                {\r
-                    break;\r
-                }\r
-            }\r
-            if (strcmp(buttonName, PresentMapper[i].viewId) == 0)\r
-            {\r
-                (this->*(PresentMapper[i].func))(num);\r
-                return true;\r
-            }\r
+            (this->*(PresentMapper[i].func))(num);\r
+            return true;\r
         }\r
-        return false;\r
     }\r
+    return false;\r
+}\r
 \r
-    bool AlarmPresenter::ClickFuncView(UIView &view)\r
+bool AlarmPresenter::ClickFuncView(UIView &view)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickFuncView view = %s", view.GetViewId());\r
+    for (int num = 0; num < BUTTON_MAX_NUM; num++)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickFuncView view = %s", view.GetViewId());\r
-        for (int num = 0; num < BUTTON_MAX_NUM; num++)\r
+        if (strcmp(view.GetViewId(), WEEK_CONTAINER[num]) == 0)\r
         {\r
-            if (strcmp(view.GetViewId(), WEEK_CONTAINER[num]) == 0)\r
+            alarmWeek[num] = alarmWeek[num] ? CANCEL_DATA : SELECT_DATA;\r
+            if (alarmWeek[num] == CANCEL_DATA)\r
+            {\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
+                view.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+                dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
+                                                                Color::Black().full, UIButton::PRESSED);\r
+            }\r
+            else if (alarmWeek[num] == SELECT_DATA)\r
             {\r
-                alarmWeek[num] = alarmWeek[num] ? CANCEL_DATA : SELECT_DATA;\r
-                if (alarmWeek[num] == CANCEL_DATA)\r
-                {\r
-                    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
-                    view.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
-                    dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
-                                                                    Color::Black().full, UIButton::PRESSED);\r
-                }\r
-                else if (alarmWeek[num] == SELECT_DATA)\r
-                {\r
-                    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
-                    view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full);\r
-                    dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
-                                                                    Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full, UIButton::PRESSED);\r
-                }\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
+                view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full);\r
+                dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
+                                                                Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full, UIButton::PRESSED);\r
             }\r
         }\r
-        view.Invalidate();\r
-        return true;\r
     }\r
+    view.Invalidate();\r
+    return true;\r
+}\r
 \r
-    bool AlarmPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
-    {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnKeyAct");\r
+bool AlarmPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+{\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnKeyAct");\r
 #if 0\r
-    uint16 keyID = event.GetKeyId();\r
-    // 如果是power键就返回上一级\r
-    if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
-    {\r
-        uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
-        NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
-    }\r
+uint16 keyID = event.GetKeyId();\r
+// 如果是power键就返回上一级\r
+if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))\r
+{\r
+    uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+    NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
+}\r
 #endif\r
-        return true;\r
-    }\r
+    return true;\r
+}\r
 \r
-    bool AlarmPresenter::OnClick(UIView &view, const ClickEvent &event)\r
+bool AlarmPresenter::OnClick(UIView &view, const ClickEvent &event)\r
+{\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnClick ");\r
+    bool jug = ClickFuncId(view.GetViewId());\r
+    if (jug == false)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::OnClick ");\r
-        bool jug = ClickFuncId(view.GetViewId());\r
-        if (jug == false)\r
-        {\r
-            ClickFuncView(view);\r
-        }\r
-        return true;\r
+        ClickFuncView(view);\r
     }\r
+    return true;\r
+}\r
 \r
-    bool AlarmStatusBtnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
+bool AlarmStatusBtnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
+{\r
+    if (MainAlarmView::GetInstance()->GetRefreshStatus() == true)\r
     {\r
-        if (MainAlarmView::GetInstance()->GetRefreshStatus() == true)\r
-        {\r
-            return true;\r
-        }\r
-        switch (state)\r
-        {\r
-        case UICheckBox::SELECTED:\r
-            AlarmClockModel::GetInstance()->ButtonStatusRing(alarmStatusNum, true);\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmStatusBtnChangeListener::OnChange true");\r
-            break;\r
-\r
-        case UICheckBox::UNSELECTED:\r
-            AlarmClockModel::GetInstance()->ButtonStatusRing(alarmStatusNum, false);\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmStatusBtnChangeListener::OnChange false");\r
-            break;\r
-        default:\r
-            break;\r
-        }\r
         return true;\r
     }\r
+    switch (state)\r
+    {\r
+    case UICheckBox::SELECTED:\r
+        AlarmClockModel::GetInstance()->ButtonStatusRing(alarmStatusNum, true);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmStatusBtnChangeListener::OnChange true");\r
+        break;\r
+\r
+    case UICheckBox::UNSELECTED:\r
+        AlarmClockModel::GetInstance()->ButtonStatusRing(alarmStatusNum, false);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmStatusBtnChangeListener::OnChange false");\r
+        break;\r
+    default:\r
+        break;\r
+    }\r
+    return true;\r
+}\r
 \r
 }
\ No newline at end of file
index 7e0d3ea..f628675 100644 (file)
@@ -18,7 +18,7 @@
 namespace OHOS {\r
 #define RING_AGAIN "响铃将在十分钟后再次响起"\r
 \r
-osTimerId_t g_stopAlarmRingHandle = NULL;\r
+osTimerId_t g_stopAlarmRingHandle = nullptr;\r
 static AlarmRingView *g_pAlarmRingView = nullptr;\r
 constexpr int16_t SET_ZERO = 0;\r
 constexpr int16_t SET_SRC = 150;\r
@@ -98,13 +98,13 @@ UIViewGroup *AlarmRingView::InitRingView(void)
 \r
 void AlarmRingView::CancelTimerHandle(void)\r
 {\r
-    if (g_stopAlarmRingHandle != NULL) {\r
+    if (g_stopAlarmRingHandle != nullptr) {\r
         osStatus_t ret = osTimerDelete(g_stopAlarmRingHandle);\r
         if (ret != osOK) {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScanTimerCallback osTimerDelete failed, ret = %lx!!", ret);\r
             return;\r
         }\r
-        g_stopAlarmRingHandle = NULL;\r
+        g_stopAlarmRingHandle = nullptr;\r
     }\r
 }\r
 \r
@@ -124,8 +124,8 @@ void RingTimerCallbacks(int data)
 \r
 void AlarmRingView::AlarmRingDelayShowtimer(void)\r
 {\r
-    g_stopAlarmRingHandle = osTimerNew((osTimerFunc_t)RingTimerCallbacks, osTimerPeriodic, NULL, NULL);\r
-    if (g_stopAlarmRingHandle == NULL) {\r
+    g_stopAlarmRingHandle = osTimerNew((osTimerFunc_t)RingTimerCallbacks, osTimerPeriodic, nullptr, nullptr);\r
+    if (g_stopAlarmRingHandle == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmRingDelayShowtimer osTimerNew failed!!");\r
         return;\r
     }\r
@@ -133,13 +133,13 @@ void AlarmRingView::AlarmRingDelayShowtimer(void)
     osStatus_t retTimer = osTimerStart(g_stopAlarmRingHandle, tick);\r
     if (retTimer != osOK) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmRingDelayShowtimer osTimerStart failed, ret = %lx!!", retTimer);\r
-        if (g_stopAlarmRingHandle != NULL) {\r
+        if (g_stopAlarmRingHandle != nullptr) {\r
             retTimer = osTimerDelete(g_stopAlarmRingHandle);\r
             if (retTimer != osOK) {\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmMaxClock::AlarmRingDelayShowtimer osTimerDelete failed, ret = %lx!!", retTimer);\r
                 return;\r
             }\r
-            g_stopAlarmRingHandle = NULL;\r
+            g_stopAlarmRingHandle = nullptr;\r
         }\r
         return;\r
     }\r
index 84dcdb4..5f0d470 100644 (file)
@@ -133,7 +133,7 @@ UIScrollView *AlarmSetTimeView::InitSetTimeView(void)
     UITimePicker::SelectedListener *selectedListener =\r
         (UITimePicker::SelectedListener *)OHOS::AlarmPresenter::GetInstance();\r
     if (selectedListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: selectedListener is NULL");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: selectedListener is nullptr");\r
         return nullptr;\r
     }\r
     picker->EnableSecond(false);\r
@@ -153,7 +153,7 @@ UIScrollView *AlarmSetTimeView::InitSetTimeView(void)
     group->SetDraggable(true);\r
     UIView::OnDragListener *setTimeDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();\r
     if (setTimeDragListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: setTimeDragListener is NULL");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: setTimeDragListener is nullptr");\r
         return group;\r
     }\r
     group->SetOnDragListener(setTimeDragListener);\r
index df9e819..397430b 100644 (file)
@@ -77,8 +77,6 @@ AlarmSetWeekView::~AlarmSetWeekView()
     group->RemoveAll();\r
     delete labelRespeat;\r
     labelRespeat = nullptr;\r
-    delete labelButton;\r
-    labelButton = nullptr;\r
     delete weekImage;\r
     weekImage = nullptr;\r
     for (int16_t alarmNum = 0; alarmNum < 7; alarmNum++) {\r
index 07c98f0..ac5c700 100644 (file)
@@ -164,7 +164,6 @@ void MainAlarmView::NewClockCtl(int16_t alarmNum)
         statusButton[0]->SetPosition(STATUS_BUTTON_X, alarmPositionY, STATUS_BUTTON_W, STATUS_BUTTON_H);
     } else {
         statusButton[alarmNum]->SetPosition(STATUS_BUTTON_X, statusButton[0]->GetY() + (alarmInterval * alarmNum), STATUS_BUTTON_W, STATUS_BUTTON_H);
-
     }
     statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, alarmNum);
     UICheckBox::OnChangeListener *statusListener{nullptr};