Merge #938 into sdk602patch0626 from refs/changes/938/head 940/target/1
author罗正 <1732036298@qq.com>
Wed, 11 Sep 2024 05:13:13 +0000 (05:13 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Wed, 11 Sep 2024 05:13:13 +0000 (05:13 +0000)
Code review from 罗正

* refs/changes/938/head: (3 commits squashed)

  - 闹钟UI优化:
    1.#636,解决,手表,闹钟只响铃3次bug
    2.闹钟编辑界面优化
    3.闹钟界面中星期缩写中文为:一,二...日,其他语言为:Mon,Tue...Sun

  - Merge branch &#39;sdk602patch0626&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626

  - #534,解决闹钟设置多个闹钟,只响第一个,后续的没有提示闹钟bug

Signed-off-by: 罗正 <1732036298@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/938
15 files changed:
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmConfigView.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmNewTimeView.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmPresenter.h
code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmSetTimeView.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/AlarmConfigView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmNewTimeView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/AlarmSetTimeView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp
code/sdk/application/wearable/fd230app/nativeui/alarmclockmanage/src/AlarmClockManage.cpp
code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp
code/sdk/application/wearable/service/msg_center/src/notify/alarm_notification.cpp

index 7666e1c..6bb071b 100644 (file)
@@ -123,6 +123,7 @@ public:
     int InitAlarmData(void);\r
 \r
     void UpdateAlarmInfoByAppSet(void);\r
+    void CancelAlarmRing();\r
 \r
 private:\r
     void SetAlarmId(uint8_t id);\r
index 1187f49..7001111 100644 (file)
@@ -1,10 +1,12 @@
 /*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: Alarm\r
- * Author:\r
- * Create: 2021-09-11\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-09-02 20:04:12\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-09-10 16:31:01\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmConfigView.h\r
  */\r
 \r
+\r
 #ifndef ALARM_CONFIG_VIEW_H\r
 #define ALARM_CONFIG_VIEW_H\r
 \r
@@ -21,6 +23,7 @@
 #include "common/screen.h"\r
 #include "gfx_utils/graphic_log.h"\r
 #include "AlarmClockModel.h"\r
+#include "components/ui_label_button_ext.h"\r
 \r
 namespace OHOS {\r
 class AlarmConfigView {\r
@@ -31,22 +34,18 @@ public:
     static AlarmConfigView *GetInstance(void);\r
     void RefreshConfig(const uint32 time, uint8 week, uint16_t alarmNum);\r
 private:\r
-    // UILabelButton *deleteImage{nullptr};\r
-    UIScrollView *configScroll{nullptr};\r
+    void InitLabel();\r
+    void InitButton();\r
     UIScrollView *group{nullptr};\r
-    UILabel *editLabel{nullptr};\r
-    UIDigitalClock *labelTime{nullptr};\r
+    UIScrollView *configScroll{nullptr};\r
+    UILabelExt *editLabel{nullptr};\r
+    UILabelButtonExt* button1{nullptr};\r
+    UILabelButtonExt* button2{nullptr};\r
+    UILabelExt *labelTime{nullptr};\r
     UILabel *labelSetTime{nullptr};\r
     UILabel *labelDay{nullptr};\r
     UILabel *labelSetWeek{nullptr};\r
-    // UILabel *labelChangeName{nullptr};\r
-    // UILabel *labelSetName{nullptr};\r
-    UIImageView *changeIcon1{nullptr};\r
-    UIImageView *changeIcon2{nullptr};\r
-    // UIImageView *changeIcon3{nullptr};\r
-    UILabel *CreateConfigLabel(const char *buttonText, int16_t labelFont, int16_t x, int16_t y, int16_t width);\r
-    void CreateConfigButton(void);\r
-    void CreateChangeIcons(void);\r
+    char showtime[12]{0};\r
 };\r
 } // namespace OHOS\r
 #endif // ALARM_CONFIG_VIEW_H
\ No newline at end of file
index 47db9b8..ac5482d 100644 (file)
@@ -1,21 +1,22 @@
 /*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: Alarm\r
- * Author:\r
- * Create: 2021-09-11\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-08-29 10:39:02\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-09-10 10:21:45\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmNewTimeView.h\r
  */\r
 \r
 #ifndef ALARM_NEW_TIME_VIEW_H\r
 #define ALARM_NEW_TIME_VIEW_H\r
 \r
-#include "components/ui_label_button.h"\r
+#include "components/ui_label_button_ext.h"\r
 #include "components/ui_picker.h"\r
 #include "components/ui_scroll_view.h"\r
 #include "components/ui_time_picker.h"\r
 #include "View.h"\r
 #include "BaseView.h"\r
-#include "AlarmPresenter.h"\r
-#include "AlarmClockModel.h"\r
+#include "alarm/include/AlarmPresenter.h"\r
+#include "alarm/include/AlarmClockModel.h"\r
 \r
 namespace OHOS {\r
 class AlarmNewTimeView : public UITimePicker::SelectedListener {\r
@@ -28,10 +29,9 @@ public:
 private:\r
     void CreateLabelTime(void);\r
     UIScrollView *group{nullptr};\r
-    UILabel *title{nullptr};\r
+    UILabelExt *title{nullptr};\r
     UITimePicker *picker{nullptr};\r
-    UILabelButton *labelButton{nullptr};\r
-    UILabel *GetTitleLabel(const char *titleName);\r
+    UILabelButtonExt *labelButton{nullptr};\r
 };\r
 } // namespace OHOS\r
 #endif // ALARM_SET_TIME_VIEW_H
\ No newline at end of file
index 3ce4546..12906bb 100644 (file)
@@ -34,7 +34,7 @@
 #include "common/key_code.h"\r
 \r
 namespace OHOS {\r
-constexpr char* EVERY_DAY = (char *)"每天";\r
+constexpr char* EVERY_DAY = (char *)"每日";\r
 constexpr char* DO_NOT_REPEAT = (char *)"不重复";\r
 \r
 constexpr char* MON_DAY = (char *)"一 ";\r
@@ -45,6 +45,17 @@ constexpr char* FRI_DAY = (char *)"五 ";
 constexpr char* SAT_DAY = (char *)"六 ";\r
 constexpr char* SUN_DAY = (char *)"日";\r
 \r
+constexpr char* EVERY_DAY_EN = (char *)"Everyday";\r
+constexpr char* DO_NOT_REPEAT_EN = (char *)"no-repeat";\r
+\r
+constexpr char* MON_DAY_EN = (char *)"Mon ";\r
+constexpr char* TUE_DAY_EN = (char *)"Tue ";\r
+constexpr char* WED_DAY_EN = (char *)"Wed ";\r
+constexpr char* THUR_DAY_EN = (char *)"Thu ";\r
+constexpr char* FRI_DAY_EN = (char *)"Fri ";\r
+constexpr char* SAT_DAY_EN = (char *)"Sat ";\r
+constexpr char* SUN_DAY_EN = (char *)"Sun";\r
+\r
 constexpr char* SET_TIME = (char *)"settime";\r
 constexpr char* SET_WEEK = (char *)"setweek";\r
 constexpr char* ALARM_CLOCK_DELETE = (char *)"alarmclockdelete";\r
@@ -165,6 +176,7 @@ public:
 \r
     void ClickDeleteButtonAlarmClockDelete(uint16_t num);\r
     void UpdateAlarmInfoByAppSet(void);\r
+    void RefreshAlarmStatus(int i);\r
 \r
 private:\r
     uint32_t timeHour{0};\r
index eb668c5..0e8b814 100644 (file)
@@ -1,14 +1,16 @@
 /*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: Alarm\r
- * Author:\r
- * Create: 2021-09-11\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-09-02 20:04:12\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-09-10 10:59:27\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmSetTimeView.h\r
  */\r
 \r
+\r
 #ifndef ALARM_SET_TIME_VIEW_H\r
 #define ALARM_SET_TIME_VIEW_H\r
 \r
-#include "components/ui_label_button.h"\r
+#include "components/ui_label_button_ext.h"\r
 #include "components/ui_picker.h"\r
 #include "components/ui_scroll_view.h"\r
 #include "components/ui_time_picker.h"\r
@@ -29,8 +31,8 @@ public:
 private:\r
     UIScrollView *group{nullptr};\r
     // UILabelButton *timeImage{nullptr};\r
-    UILabelButton * labelButton{nullptr};\r
-    UILabel *title{nullptr};\r
+    UILabelButtonExt * labelButton{nullptr};\r
+    UILabelExt *title{nullptr};\r
     UITimePicker *picker{nullptr};\r
     UILabel *GetTitleLabel(const char *titleName);\r
     void SetLabelButton(void);\r
index 77b9a4e..8b8b1e0 100644 (file)
@@ -60,9 +60,9 @@ public:
     bool ChangeMaxClock(int16_t thisView);
     bool ClickFunc(int16_t interface);
     bool GetRefreshStatus(void);
+    void RefreshAlarmStatus(uint8_t alarmEnable, int16_t num);
 private:
     void LabelGetWeek(uint8_t week, int16_t alarmNum);
-    void RefreshAlarmStatus(uint8_t alarmEnable, int16_t num);
     void NewClockCtl(int16_t alarmNum);
     UIViewGroup * NewClockCtlExt(int16_t alarmNum, uint8_t index);
     void AlarmTitleCreate(void);
@@ -82,7 +82,7 @@ private:
     UIToggleButton *statusButton[6]{nullptr}; // 6代表界面中最多存在六个按键
     // UIImageView *addButton{nullptr};
     UIDigitalClock *dClock[6]{nullptr}; // 6代表界面中最多存在六个闹钟
-    UILabel *dLabel[6]{nullptr}; // 6代表界面中显示闹钟日期的控件个数
+    UILabelExt *dLabel[6]{nullptr}; // 6代表界面中显示闹钟日期的控件个数
     UIScrollView *container[7]{nullptr}; // 7代表容器存有主界面以及跳转的四个副界面,用于跳转后显示或隐藏界面
     uint8_t alarmHour, alarmMin;
     int8_t dClockNum{-1};
index c7b6365..c0cb884 100644 (file)
@@ -721,7 +721,7 @@ void AlarmClockModel::ResetRingClockStatus()
     }
     if (currentAlarm[clockListener]->repeatPeriod == 0) {
         currentAlarm[clockListener]->alarmClockEnable = 0;
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::ResetRingClockStatus");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::ResetRingClockStatus clockListener = %d",clockListener);
     }
 }
 
@@ -1080,6 +1080,22 @@ void AlarmClockModel::UpdateAlarmInfoByAppSet(void)
     }
 }
 
+void AlarmClockModel::CancelAlarmRing()
+{
+    bool alarmStatus;
+    uint8_t alarm = 0;
+    alarmStatus = AlarmClockModel::GetInstance()->GetListenClockId(&alarm);
+    if (!alarmStatus) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPopUpPresenter::CancelAlarmRing get alarm Id false!");
+        return;
+    }
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CancelAlarmRing alarm = %d",alarm);
+    AlarmClockModel::GetInstance()->ResetRingClockStatus();
+    AlarmClockModel::GetInstance()->SetCancelAlarm(alarm);
+    if(AlarmPresenter::GetInstance()) {
+        AlarmPresenter::GetInstance()->RefreshAlarmStatus(clockListener);
+    }
+}
 
 bool AlarmPlayerListener::IsPaused()
 {
index ffc42d6..2799c22 100644 (file)
@@ -5,14 +5,16 @@
  * Create: 2021-09-11\r
  */\r
 \r
-#include "AlarmConfigView.h"\r
+#include "alarm/include/AlarmConfigView.h"\r
 #include "UiConfig.h"\r
 #include <string>\r
-#include "AlarmPresenter.h"\r
+#include "alarm/include/AlarmPresenter.h"\r
 #include <sstream>\r
 #include "color.h"\r
+#include "ConfigModel.h"\r
 \r
-namespace OHOS {\r
+namespace OHOS\r
+{\r
 #define SET_ALARM "编辑闹钟"\r
 #define TIME "9:00:00"\r
 #define SET_THIS_TIME "更改时间"\r
@@ -24,333 +26,381 @@ namespace OHOS {
 #define EVERY_DAY "每天"\r
 #define DO_NOT_REPEAT "不重复"\r
 \r
-static AlarmConfigView *g_pAlarmConfigView = nullptr;\r
-constexpr int16_t CONTAINER_X = 0;\r
-constexpr int16_t CONTAINER_Y = 0;\r
-constexpr int16_t SET_ONE = 1;\r
-constexpr int16_t SET_FOUR = 4;\r
-constexpr int16_t TITLE_X_LEN = 100;\r
-constexpr int16_t MAX_TITLE_X_LEN = 160;\r
-constexpr int16_t MAX_TITLE_Y_LEN = 45;\r
-constexpr int16_t MAX_DATA_X = 65;\r
-constexpr int16_t CLOCK_X = 165;\r
-constexpr int16_t LABEL_WID = 250;\r
-constexpr int16_t MAX_LABEL_H_LEN = 80;\r
-constexpr int16_t MAX_DATA_W_LEN = 275;\r
-constexpr int16_t DIGITAL_CLOCK_FONT = 45;\r
-constexpr int16_t MAX_LABEL_TIME_Y_LEN = 195 - 25;\r
-constexpr int16_t LABEL_SET_TIME_Y = 245 - 25;\r
-constexpr int16_t MAX_LABEL_DAY_Y_LEN = 320 - 30;\r
-constexpr int16_t MAX_LABEL_SET_WEEK_Y_LEN = 380 - 30;\r
-constexpr int16_t MAX_LABEL_LABEL_CHANGE_NAME_Y_LEN = 460;\r
-constexpr int16_t MAX_LABEL_SET_NAME_Y_LEN = 505;\r
-constexpr int16_t MAX_DEFAULT_FONT_LEN = 34;\r
-constexpr int16_t LITTLE_LABEL_FONT = 30;\r
-constexpr int16_t MAX_DEFAULT_FONT_2_LEN = 35;\r
-constexpr int16_t MAX_DEFAULT_LIT_FONT2_LEN = 40;\r
-constexpr int16_t MAX_BACK_BUTTON_HEIGHT_LEN = 64;\r
-constexpr int16_t MAX_FONT_DEFAULT_SIZE_LEN = 24;\r
-constexpr int16_t MAX_DELETE_BUTTON_W_LEN = 320;\r
-constexpr int16_t LABEL_DAY_WIDTH = 320;\r
-constexpr int16_t MAX_DELETE_BUTTON_H_LEN = 100;\r
-constexpr int16_t MAX_DELETE_BUTTON_X_LEN = 63;\r
-constexpr int16_t MAX_DELETE_BUTTON_Y_LEN = 365;\r
-constexpr int16_t MAX_IMAGE_CHANGE_X_LEN = 370;\r
-constexpr int16_t MAX_IMAGE_CHANGE1_Y_LEN = 210 - 25;\r
-constexpr int16_t MAX_IMAGE_CHANGE2_Y_LEN = 350 - 30;\r
-constexpr int16_t MAX_IMAGE_CHANGE3_Y_LEN = 470;\r
-constexpr int16_t MAX_IMAGE_CHANGE_WIDTH = 50;\r
-constexpr int16_t MAX_IMAGE_CHANGE_HEIGHT = 60;\r
-constexpr int16_t CONFIG_SCROLL_SIZE = 50;\r
-constexpr int16_t LABEL_SEMITRANSPARENT = 168;\r
+    static AlarmConfigView *g_pAlarmConfigView = nullptr;\r
+    constexpr int16_t CONTAINER_X = 0;\r
+    constexpr int16_t CONTAINER_Y = 0;\r
+    constexpr int16_t SET_ONE = 1;\r
+    constexpr int16_t SET_FOUR = 4;\r
+    constexpr int16_t TITLE_X_LEN = 100;\r
+    constexpr int16_t MAX_TITLE_X_LEN = 160;\r
+    constexpr int16_t MAX_TITLE_Y_LEN = 45;\r
+    constexpr int16_t MAX_DATA_X = 65;\r
+    constexpr int16_t CLOCK_X = 165;\r
+    constexpr int16_t LABEL_WID = 250;\r
+    constexpr int16_t MAX_LABEL_H_LEN = 80;\r
+    constexpr int16_t MAX_DATA_W_LEN = 275;\r
+    constexpr int16_t DIGITAL_CLOCK_FONT = 45;\r
+    constexpr int16_t MAX_LABEL_TIME_Y_LEN = 195 - 25;\r
+    constexpr int16_t LABEL_SET_TIME_Y = 245 - 25;\r
+    constexpr int16_t MAX_LABEL_DAY_Y_LEN = 320 - 30;\r
+    constexpr int16_t MAX_LABEL_SET_WEEK_Y_LEN = 380 - 30;\r
+    constexpr int16_t MAX_LABEL_LABEL_CHANGE_NAME_Y_LEN = 460;\r
+    constexpr int16_t MAX_LABEL_SET_NAME_Y_LEN = 505;\r
+    constexpr int16_t MAX_DEFAULT_FONT_LEN = 34;\r
+    constexpr int16_t LITTLE_LABEL_FONT = 30;\r
+    constexpr int16_t MAX_DEFAULT_FONT_2_LEN = 35;\r
+    constexpr int16_t MAX_DEFAULT_LIT_FONT2_LEN = 40;\r
+    constexpr int16_t MAX_BACK_BUTTON_HEIGHT_LEN = 64;\r
+    constexpr int16_t MAX_FONT_DEFAULT_SIZE_LEN = 24;\r
+    constexpr int16_t MAX_DELETE_BUTTON_W_LEN = 320;\r
+    constexpr int16_t LABEL_DAY_WIDTH = 320;\r
+    constexpr int16_t MAX_DELETE_BUTTON_H_LEN = 100;\r
+    constexpr int16_t MAX_DELETE_BUTTON_X_LEN = 63;\r
+    constexpr int16_t MAX_DELETE_BUTTON_Y_LEN = 365;\r
+    constexpr int16_t MAX_IMAGE_CHANGE_X_LEN = 370;\r
+    constexpr int16_t MAX_IMAGE_CHANGE1_Y_LEN = 210 - 25;\r
+    constexpr int16_t MAX_IMAGE_CHANGE2_Y_LEN = 350 - 30;\r
+    constexpr int16_t MAX_IMAGE_CHANGE3_Y_LEN = 470;\r
+    constexpr int16_t MAX_IMAGE_CHANGE_WIDTH = 50;\r
+    constexpr int16_t MAX_IMAGE_CHANGE_HEIGHT = 60;\r
+    constexpr int16_t CONFIG_SCROLL_SIZE = 50;\r
+    constexpr int16_t LABEL_SEMITRANSPARENT = 168;\r
 \r
-AlarmConfigView::AlarmConfigView()\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::AlarmConfigView");\r
-    g_pAlarmConfigView = this;\r
-}\r
+    AlarmConfigView::AlarmConfigView()\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::AlarmConfigView");\r
+        g_pAlarmConfigView = this;\r
+    }\r
 \r
-AlarmConfigView::~AlarmConfigView()\r
-{\r
-    if(nullptr != group)\r
+    AlarmConfigView::~AlarmConfigView()\r
     {\r
-        group->RemoveAll();\r
+        if (nullptr != group)\r
+        {\r
+            group->RemoveAll();\r
+            if (nullptr != configScroll)\r
+            {\r
+                configScroll->RemoveAll();\r
+                if (nullptr != editLabel)\r
+                {\r
+                    delete editLabel;\r
+                    editLabel = nullptr;\r
+                }\r
+                if (nullptr != labelTime)\r
+                {\r
+                    delete labelTime;\r
+                    labelTime = nullptr;\r
+                }\r
+                if (nullptr != labelSetTime)\r
+                {\r
+                    delete labelSetTime;\r
+                    labelSetTime = nullptr;\r
+                }\r
+                if (nullptr != labelDay)\r
+                {\r
+                    delete labelDay;\r
+                    labelDay = nullptr;\r
+                }\r
+                if (nullptr != labelSetWeek)\r
+                {\r
+                    delete labelSetWeek;\r
+                    labelSetWeek = nullptr;\r
+                }\r
+                if (nullptr != button1)\r
+                {\r
+                    delete button1;\r
+                    button1 = nullptr;\r
+                }\r
+                if (nullptr != button2)\r
+                {\r
+                    delete button2;\r
+                    button2 = nullptr;\r
+                }\r
+                delete configScroll;\r
+                configScroll = nullptr;\r
+            }\r
+            delete group;\r
+            group = nullptr;\r
+        }\r
+        g_pAlarmConfigView = nullptr;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::~AlarmConfigView");\r
+    }\r
 \r
-        if(nullptr != configScroll)\r
+    AlarmConfigView *AlarmConfigView::GetInstance(void)\r
+    {\r
+        return g_pAlarmConfigView;\r
+    }\r
+    void AlarmConfigView::InitLabel()\r
+    {\r
+        if (editLabel == nullptr)\r
         {\r
-            configScroll->RemoveAll();\r
-            if(nullptr != editLabel)\r
+            editLabel = new UILabelExt();\r
+            if (editLabel == nullptr)\r
             {\r
-                delete editLabel;\r
-                editLabel = nullptr;\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new editLabel fail");\r
+                return;\r
             }\r
-            // delete deleteImage;\r
-            // deleteImage = nullptr;\r
-            if(nullptr != labelTime)\r
+        }\r
+        editLabel->SetPosition(83, 50, 300, 35);\r
+        editLabel->SetText("编辑闹钟");\r
+        editLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+        editLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        editLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        editLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        editLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+        editLabel->SetRollSpeed(70);\r
+        /* -------------------------------------------------------------------------- */\r
+        // if (labelTime == nullptr)\r
+        // {\r
+        //     labelTime = new UIDigitalClock();\r
+        //     if (labelTime == nullptr)\r
+        //     {\r
+        //         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new labelTime fail");\r
+        //         return;\r
+        //     }\r
+        // }\r
+        // labelTime->SetPosition(93, (120 - 80) / 2, 150, 45);\r
+        // labelTime->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 45);\r
+        // labelTime->SetTouchable(true);\r
+        // labelTime->SetDisplayMode(UIDigitalClock::DISPLAY_24_HOUR_NO_SECONDS);\r
+        if (labelTime == nullptr)\r
+        {\r
+            labelTime = new UILabelExt();\r
+            if (labelTime == nullptr)\r
             {\r
-                delete labelTime;\r
-                labelTime = nullptr;\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new labelSetTime fail");\r
+                return;\r
             }\r
-            if(nullptr != labelSetTime)\r
+        }\r
+        labelTime->SetPosition(93, 120 + 12, 250, 45);\r
+        labelTime->SetStyle(STYLE_TEXT_FONT, 40);\r
+        labelTime->SetStyle(STYLE_LINE_HEIGHT, 45);\r
+        labelTime->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+        labelTime->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+        labelTime->SetRollSpeed(70);\r
+        /* -------------------------------------------------------------------------- */\r
+        if (labelSetTime == nullptr)\r
+        {\r
+            labelSetTime = new UILabelExt();\r
+            if (labelSetTime == nullptr)\r
             {\r
-                delete labelSetTime;\r
-                labelSetTime = nullptr;\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new labelSetTime fail");\r
+                return;\r
             }\r
-            if(nullptr != labelDay)\r
+        }\r
+        labelSetTime->SetPosition(93, labelTime->GetY() + labelTime->GetHeight(), 250, 35);\r
+        labelSetTime->SetText("更改时间");\r
+        labelSetTime->SetStyle(STYLE_TEXT_FONT, 30);\r
+        labelSetTime->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        labelSetTime->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+        labelSetTime->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        labelSetTime->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+        labelSetTime->SetRollSpeed(70);\r
+        /* -------------------------------------------------------------------------- */\r
+        if (labelDay == nullptr)\r
+        {\r
+            labelDay = new UILabelExt();\r
+            if (labelDay == nullptr)\r
             {\r
-                delete labelDay;\r
-                labelDay = nullptr;\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new labelDay fail");\r
+                return;\r
             }\r
-            if(nullptr != labelSetWeek)\r
+        }\r
+        labelDay->SetPosition(93, 240 + 12, 250, 45);\r
+        labelDay->SetStyle(STYLE_TEXT_FONT, 40);\r
+        labelDay->SetStyle(STYLE_LINE_HEIGHT, 45);\r
+        labelDay->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+        labelDay->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+        labelDay->SetRollSpeed(70);\r
+        /* -------------------------------------------------------------------------- */\r
+        if (labelSetWeek == nullptr)\r
+        {\r
+            labelSetWeek = new UILabelExt();\r
+            if (labelSetWeek == nullptr)\r
             {\r
-                delete labelSetWeek;\r
-                labelSetWeek = nullptr;\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new labelSetWeek fail");\r
+                return;\r
             }\r
-            // delete labelChangeName;\r
-            // labelChangeName = nullptr;\r
-            // delete labelSetName;\r
-            // labelSetName = nullptr;\r
-            if(nullptr != changeIcon1)\r
+        }\r
+        labelSetWeek->SetPosition(93, labelDay->GetY() + labelDay->GetHeight(), 250, 35);\r
+        labelSetWeek->SetText("更改星期");\r
+        labelSetWeek->SetStyle(STYLE_TEXT_FONT, 30);\r
+        labelSetWeek->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        labelSetWeek->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));\r
+        labelSetWeek->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        labelSetWeek->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+        labelSetWeek->SetRollSpeed(70);\r
+    }\r
+\r
+    void AlarmConfigView::InitButton()\r
+    {\r
+        UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
+        if (clickListener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::OnStart clickListener nullptr");\r
+            return;\r
+        }\r
+        if (nullptr == button1)\r
+        {\r
+            button1 = new UILabelButtonExt();\r
+            if (nullptr == button1)\r
             {\r
-                delete changeIcon1;\r
-                changeIcon1 = nullptr;\r
+                return;\r
             }\r
-            if(nullptr != changeIcon2)\r
+        }\r
+        button1->SetPosition(43, 120, 380, 100);\r
+        button1->SetViewId(SET_TIME); // 设置时间\r
+        button1->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+        button1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        button1->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        button1->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
+        button1->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+        button1->SetLabelPosition(115, 0);\r
+        button1->SetImagePosition(326, 37);\r
+        button1->SetImageSrc(PNG_SETTING_NEXT_IMAGE, PNG_SETTING_NEXT_IMAGE);\r
+        button1->SetOnClickListener(clickListener);\r
+        /* -------------------------------------------------------------------------- */\r
+        if (nullptr == button2)\r
+        {\r
+            button2 = new UILabelButtonExt();\r
+            if (nullptr == button2)\r
             {\r
-                delete changeIcon2;\r
-                changeIcon2 = nullptr;\r
+                return;\r
             }\r
-            // delete changeIcon3;\r
-            // changeIcon3 = nullptr;\r
-\r
-            delete configScroll;\r
-            configScroll = nullptr;\r
         }\r
-        delete group;\r
-        group = nullptr;\r
+        button2->SetPosition(43, 240, 380, 100);\r
+        button2->SetViewId(SET_WEEK); // 设置星期\r
+        button2->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+        button2->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        button2->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        button2->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
+        button2->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+        button2->SetLabelPosition(115, 0);\r
+        button2->SetImagePosition(326, 37);\r
+        button2->SetImageSrc(PNG_SETTING_NEXT_IMAGE, PNG_SETTING_NEXT_IMAGE);\r
+        button2->SetOnClickListener(clickListener);\r
     }\r
-    g_pAlarmConfigView = nullptr;\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::~AlarmConfigView");\r
-}\r
 \r
-AlarmConfigView *AlarmConfigView::GetInstance(void)\r
-{\r
-    return g_pAlarmConfigView;\r
-}\r
-\r
-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 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 nullptr");\r
-        return nullptr;\r
-    }\r
-    label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelFont);\r
-    label->SetText(buttonText);\r
-    label->SetPosition(x, y, width, MAX_LABEL_H_LEN);\r
-    return label;\r
-}\r
-\r
-void AlarmConfigView::CreateChangeIcons(void)\r
-{\r
-    changeIcon1 = new UIImageView();\r
-    if (changeIcon1 == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new changeIcon1 fail");\r
-        return;\r
-    }\r
-    changeIcon1->SetPosition(MAX_IMAGE_CHANGE_X_LEN, MAX_IMAGE_CHANGE1_Y_LEN, MAX_IMAGE_CHANGE_WIDTH, MAX_IMAGE_CHANGE_HEIGHT);\r
-    changeIcon1->SetSrc(PNG_SETTTING_BUTTON_IMAGE);\r
-    configScroll->Add(changeIcon1);\r
-\r
-    changeIcon2 = new UIImageView();\r
-    if (changeIcon2 == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new changeIcon2 fail");\r
-        return;\r
-    }\r
-    changeIcon2->SetPosition(MAX_IMAGE_CHANGE_X_LEN, MAX_IMAGE_CHANGE2_Y_LEN, MAX_IMAGE_CHANGE_WIDTH, MAX_IMAGE_CHANGE_HEIGHT);\r
-    changeIcon2->SetSrc(PNG_SETTTING_BUTTON_IMAGE);\r
-    configScroll->Add(changeIcon2);\r
-\r
-    // changeIcon3 = new UIImageView();\r
-    // if (changeIcon3 == nullptr) {\r
-    //     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new changeIcon3 fail");\r
-    //     return;\r
-    // }\r
-    // changeIcon3->SetPosition(MAX_IMAGE_CHANGE_X_LEN, MAX_IMAGE_CHANGE3_Y_LEN, MAX_IMAGE_CHANGE_WIDTH, MAX_IMAGE_CHANGE_HEIGHT);\r
-    // changeIcon3->SetSrc(PNG_SETTTING_BUTTON_IMAGE);\r
-    // configScroll->Add(changeIcon3);\r
-\r
-    UIView::OnDragListener *configDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();\r
-    if (configDragListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new configDragListener fail");\r
-        return;\r
-    }\r
-    group->SetOnDragListener(configDragListener);\r
-}\r
-\r
-void AlarmConfigView::CreateConfigButton(void)\r
-{\r
-    // editLabel = CreateConfigLabel(SET_ALARM, MAX_DEFAULT_FONT_LEN, TITLE_X_LEN, MAX_TITLE_Y_LEN, LABEL_WID);\r
-    editLabel = CreateConfigLabel(SET_ALARM, 30, 83, 50, 300);\r
-    if (editLabel == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new editLabel fail");\r
-        return;\r
-    }\r
-    editLabel->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
-    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 nullptr");\r
-        return;\r
-    }\r
-    labelTime = new UIDigitalClock();\r
-    if (labelTime == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new labelTime fail");\r
-        return;\r
-    }\r
-    labelTime->SetViewId(SET_TIME);\r
-    labelTime->SetPosition(CLOCK_X, MAX_LABEL_TIME_Y_LEN, LABEL_WID, MAX_LABEL_H_LEN);\r
-    labelTime->SetFont(DEFAULT_VECTOR_FONT_FILENAME, DIGITAL_CLOCK_FONT);\r
-    labelTime->SetTouchable(true);\r
-    labelTime->SetDisplayMode(UIDigitalClock::DISPLAY_24_HOUR_NO_SECONDS);\r
-    labelTime->SetOnClickListener(clickListener);\r
-    configScroll->Add(labelTime);\r
-\r
-    labelSetTime = CreateConfigLabel(SET_THIS_TIME, LITTLE_LABEL_FONT, MAX_TITLE_X_LEN, LABEL_SET_TIME_Y, LABEL_WID);\r
-    if (labelSetTime == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new labelSetTime fail");\r
-        return;\r
-    }\r
-    labelSetTime->SetStyle(STYLE_TEXT_OPA, LABEL_SEMITRANSPARENT);\r
-    configScroll->Add(labelSetTime);\r
-    labelDay = CreateConfigLabel(WEEK_MON_TUE, MAX_DEFAULT_FONT_LEN, MAX_DATA_X, MAX_LABEL_DAY_Y_LEN, LABEL_DAY_WIDTH);\r
-    if (labelDay == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new labelDay fail");\r
-        return;\r
-    }\r
-    labelDay->SetAlign(UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER, UITextLanguageAlignment::TEXT_ALIGNMENT_CENTER);\r
-    configScroll->Add(labelDay);\r
-    labelDay->SetViewId(SET_WEEK);\r
-    labelDay->SetTouchable(true);\r
-    labelDay->SetOnClickListener(clickListener);\r
-    labelSetWeek = CreateConfigLabel(SET_DATA, LITTLE_LABEL_FONT, MAX_TITLE_X_LEN, MAX_LABEL_SET_WEEK_Y_LEN, LABEL_WID);\r
-    if (labelSetWeek == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new labelSetWeek fail");\r
-        return;\r
-    }\r
-    labelSetWeek->SetStyle(STYLE_TEXT_OPA, LABEL_SEMITRANSPARENT);\r
-    configScroll->Add(labelSetWeek);\r
-}\r
-\r
-UIScrollView *AlarmConfigView::InitConfigView(void)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::OnStart");\r
-    group = new UIScrollView();\r
-    if (group == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new group fail");\r
-        return nullptr;\r
-    }\r
-    group->SetPosition(CONTAINER_X, CONTAINER_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
-\r
-    configScroll = new UIScrollView();\r
-    if (configScroll == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new configScroll fail");\r
-        return nullptr;\r
+    UIScrollView *AlarmConfigView::InitConfigView(void)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::OnStart");\r
+        if (group == nullptr)\r
+        {\r
+            group = new UIScrollView();\r
+            if (group == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new group fail");\r
+                return nullptr;\r
+            }\r
+            group->SetPosition(CONTAINER_X, CONTAINER_Y, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+            UIView::OnDragListener *configDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();\r
+            if (configDragListener == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new configDragListener fail");\r
+                return nullptr;\r
+            }\r
+            group->SetOnDragListener(configDragListener);\r
+            /* -------------------------------------------------------------------------- */\r
+            if (configScroll == nullptr)\r
+            {\r
+                configScroll = new UIScrollView();\r
+                if (configScroll == nullptr)\r
+                {\r
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new configScroll fail");\r
+                    return nullptr;\r
+                }\r
+            }\r
+            configScroll->SetPosition(CONTAINER_X, CONTAINER_Y, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+            configScroll->SetReboundSize(CONFIG_SCROLL_SIZE);\r
+            configScroll->SetHorizontalScrollState(false);\r
+            InitButton();\r
+            InitLabel();\r
+            /* ----------------------------------- Add ---------------------------------- */\r
+            configScroll->Add(button1);\r
+            configScroll->Add(button2);\r
+            configScroll->Add(editLabel);\r
+            configScroll->Add(labelTime);\r
+            configScroll->Add(labelSetTime);\r
+            configScroll->Add(labelDay);\r
+            configScroll->Add(labelSetWeek);\r
+            group->Add(configScroll);\r
+        }\r
+        return group;\r
     }\r
-    configScroll->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
-    // configScroll->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION - MAX_BACK_BUTTON_HEIGHT_LEN);\r
-    configScroll->SetReboundSize(CONFIG_SCROLL_SIZE);\r
-    configScroll->SetHorizontalScrollState(false);\r
-    CreateConfigButton();\r
-    // labelChangeName = CreateConfigLabel(CHANGE_NAME, MAX_DEFAULT_FONT_LEN, MAX_TITLE_X_LEN,\r
-    // MAX_LABEL_LABEL_CHANGE_NAME_Y_LEN, LABEL_WID);\r
-    // if (labelChangeName == nullptr) {\r
-    //     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new labelChangeName fail");\r
-    //     return nullptr;\r
-    // }\r
-    // configScroll->Add(labelChangeName);\r
-    // labelSetName = CreateConfigLabel(SET_NAME, LITTLE_LABEL_FONT, MAX_TITLE_X_LEN, MAX_LABEL_SET_NAME_Y_LEN, LABEL_WID);\r
-    // if (labelSetName == nullptr) {\r
-    //     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new labelSetName fail");\r
-    //     return nullptr;\r
-    // }\r
-    // labelSetName->SetStyle(STYLE_TEXT_OPA, LABEL_SEMITRANSPARENT);\r
-    // configScroll->Add(labelSetName);\r
-    // deleteImage = new UILabelButton();\r
-    // if (deleteImage == nullptr) {\r
-    //     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView:: new deleteImage fail");\r
-    //     return nullptr;\r
-    // }\r
-    // deleteImage->SetPosition(MAX_DELETE_BUTTON_X_LEN, MAX_DELETE_BUTTON_Y_LEN, MAX_DELETE_BUTTON_W_LEN, MAX_DELETE_BUTTON_H_LEN);\r
-    // deleteImage->SetText(DELETE_INTERFACES);\r
-    // deleteImage->SetTouchable(true);\r
-    // deleteImage->SetViewId(ALARM_CLOCK_DELETE);\r
-    // deleteImage->SetTextColor(Color::Red());\r
-    // deleteImage->SetFont(DEFAULT_VECTOR_FONT_FILENAME, MAX_DEFAULT_LIT_FONT2_LEN);\r
-    // UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
-    // deleteImage->SetOnClickListener(clickListener);\r
-    // deleteImage->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE);\r
-    \r
-    CreateChangeIcons();\r
-    group->Add(configScroll);\r
-    // group->Add(deleteImage);\r
-    return group;\r
-}\r
 \r
-void AlarmConfigView::RefreshConfig(const uint32_t time, uint8_t week, uint16_t alarmNum)\r
-{\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep");\r
-    uint8_t hour = time >> 16; // 闹钟存储小时位需右移16位\r
-    uint8_t min = time & 0x00FF; // 闹钟存储分钟的位数右边16位需要全部置0\r
-    uint16_t ret;\r
-    std::string weekStr;\r
-    if (hour > 24) { // 小时数最大为24,加入判断若小时的参数超过24则错误\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep hour > 24 error!");\r
-        return;\r
-    }\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::week = %u!", week);\r
-    if ((week & 0x7f) == 0x7f) { // 判断0~6位是否都为1,如若都为1,则一周7天闹钟都响应\r
-        weekStr = EVERY_DAY;\r
-    } else if (week == 0) { // 判断0~6位是否都为0,如若都为0,则一周7天都不响应,闹钟为不重复开启\r
-        weekStr = DO_NOT_REPEAT;\r
-    } else {\r
-        if ((week & 0x02) == 0x02) { // 判断第1位是否为1,如若为1,则星期一响应\r
-            weekStr += MON_DAY;\r
-        }\r
-        if ((week & 0x04) == 0x04) { // 判断第2位是否为1,如若为1,则星期二响应\r
-            weekStr += TUE_DAY;\r
-        }\r
-        if ((week & 0x08) == 0x08) { // 判断第3位是否为1,如若为1,则星期三响应\r
-            weekStr += WED_DAY;\r
+    void AlarmConfigView::RefreshConfig(const uint32_t time, uint8_t week, uint16_t alarmNum)\r
+    {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep");\r
+        uint8_t hour = time >> 16;   // 闹钟存储小时位需右移16位\r
+        uint8_t min = time & 0x00FF; // 闹钟存储分钟的位数右边16位需要全部置0\r
+        uint16_t ret;\r
+        std::string weekStr;\r
+        std::string weekStr_en;\r
+        if (hour > 24)\r
+        { // 小时数最大为24,加入判断若小时的参数超过24则错误\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep hour > 24 error!");\r
+            return;\r
         }\r
-        if ((week & 0x10) == 0x10) { // 判断第4位是否为1,如若为1,则星期四响应\r
-            weekStr += THUR_DAY;\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::week = %u!", week);\r
+        if ((week & 0x7f) == 0x7f)\r
+        { // 判断0~6位是否都为1,如若都为1,则一周7天闹钟都响应\r
+            weekStr = EVERY_DAY;\r
+            weekStr_en = EVERY_DAY_EN;\r
         }\r
-        if ((week & 0x20) == 0x20) { // 判断第5位是否为1,如若为1,则星期五响应\r
-            weekStr += FRI_DAY;\r
+        else if (week == 0)\r
+        { // 判断0~6位是否都为0,如若都为0,则一周7天都不响应,闹钟为不重复开启\r
+            weekStr = DO_NOT_REPEAT;\r
+            weekStr_en = DO_NOT_REPEAT_EN;\r
         }\r
-        if ((week & 0x40) == 0x40) { // 判断第6位是否为1,如若为1,则星期六响应\r
-            weekStr += SAT_DAY;\r
+        else\r
+        {\r
+            if ((week & 0x02) == 0x02)\r
+            { // 判断第1位是否为1,如若为1,则星期一响应\r
+                weekStr += MON_DAY;\r
+                weekStr_en += MON_DAY_EN;\r
+            }\r
+            if ((week & 0x04) == 0x04)\r
+            { // 判断第2位是否为1,如若为1,则星期二响应\r
+                weekStr += TUE_DAY;\r
+                weekStr_en += TUE_DAY_EN;\r
+            }\r
+            if ((week & 0x08) == 0x08)\r
+            { // 判断第3位是否为1,如若为1,则星期三响应\r
+                weekStr += WED_DAY;\r
+                weekStr_en += WED_DAY_EN;\r
+            }\r
+            if ((week & 0x10) == 0x10)\r
+            { // 判断第4位是否为1,如若为1,则星期四响应\r
+                weekStr += THUR_DAY;\r
+                weekStr_en += THUR_DAY_EN;\r
+            }\r
+            if ((week & 0x20) == 0x20)\r
+            { // 判断第5位是否为1,如若为1,则星期五响应\r
+                weekStr += FRI_DAY;\r
+                weekStr_en += FRI_DAY_EN;\r
+            }\r
+            if ((week & 0x40) == 0x40)\r
+            { // 判断第6位是否为1,如若为1,则星期六响应\r
+                weekStr += SAT_DAY;\r
+                weekStr_en += SAT_DAY_EN;\r
+            }\r
+            if ((week & 0x01) == 0x01)\r
+            { // 判断第0位是否为1,如若为1,则星期日响应\r
+                weekStr += SUN_DAY;\r
+                weekStr_en += SUN_DAY_EN;\r
+            }\r
         }\r
-        if ((week & 0x01) == 0x01) { // 判断第0位是否为1,如若为1,则星期日响应\r
-            weekStr += SUN_DAY;\r
+        if (labelTime == nullptr || labelDay == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep labelTime or labelDay error!");\r
+            return;\r
         }\r
+        showtime[12] = {0};\r
+        sprintf(showtime, "%02d:%02d", hour, min);\r
+        // labelTime->SetTime24Hour(hour, min, 0);\r
+        labelTime->SetText(showtime);\r
+        if (ConfigModel::GetInstance()->GetLanguage() == 0)\r
+            labelDay->SetText(weekStr.c_str());\r
+        else\r
+            labelDay->SetText(weekStr_en.c_str());\r
     }\r
-    if (labelTime == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep labelTime error!");\r
-        return;\r
-    }\r
-    // if (alarmNum == 0) {\r
-    //     deleteImage->SetVisible(false);\r
-    // } else if (alarmNum >= SET_ONE && alarmNum <= SET_FOUR) {\r
-    //     deleteImage->SetVisible(true);\r
-    // }\r
-    labelTime->SetTime24Hour(hour, min, 0);\r
-    labelDay->SetText(weekStr.c_str());\r
-}\r
 }
\ No newline at end of file
index 65faf0c..3ad1ac2 100644 (file)
@@ -5,7 +5,7 @@
  * Create: 2021-09-11\r
  */\r
 \r
-#include "AlarmNewTimeView.h"\r
+#include "alarm/include/AlarmNewTimeView.h"\r
 #include "common/screen.h"\r
 #include "components/ui_label.h"\r
 #include "components/ui_label_ext.h"\r
 #include <string>\r
 #include <iostream>\r
 #include <sstream>\r
-\r
-namespace OHOS {\r
+#include "ui_resource_string.h"\r
+namespace OHOS\r
+{\r
 #ifndef NEW_TIME\r
 // #define NEW_TIME "设置时间"\r
 #define NEW_TIME "时间"\r
 #endif\r
 #define NEXT "下一步"\r
 \r
-static AlarmNewTimeView *g_pAlarmNewTimeView = nullptr;\r
-constexpr int16_t CONTAINER_X = 0;\r
-constexpr int16_t CONTAINER_Y = 0;\r
-constexpr int16_t TITLE_X = 153;\r
-constexpr int16_t TITLE_Y = 30;\r
-constexpr int16_t TIME_PICKER_X = 75;\r
-constexpr int16_t TIME_PICKER_WIDTH = 250;\r
-constexpr int16_t TIME_ITEM_HEIGHT = 80;\r
-constexpr int16_t TIME_LABEL_BUTTON_X = 63;\r
-constexpr int16_t TIME_LABEL_BUTTON_Y = 360;\r
-constexpr int16_t LABEL_X = 0;\r
-constexpr int16_t LABEL_Y = 45;\r
-constexpr int16_t LABEL_BLANK = 38;\r
-constexpr int16_t LIST_W = 300;\r
-constexpr int16_t LIST_H = 260;\r
-constexpr int16_t TITLE_LABEL_DEFAULT_HEIGHT = 50;\r
-constexpr int16_t BUTTON_WIDHT3 = 324;\r
-constexpr int16_t BUTTON_HEIGHT3 = 101;\r
-constexpr int16_t PICKER_FONT_SIZE = 25;\r
-constexpr uint8_t BACKGROUND_FONT = 40;\r
-constexpr uint8_t HIGHTLIGHT_FONT = 50;\r
-constexpr uint16_t LABEL_FONT = 40;\r
-\r
-AlarmNewTimeView::AlarmNewTimeView()\r
-{\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::AlarmNewTimeView");\r
-    g_pAlarmNewTimeView = this;\r
-}\r
-\r
-AlarmNewTimeView::~AlarmNewTimeView()\r
-{\r
-    group->RemoveAll();\r
-    delete labelButton;\r
-    labelButton = nullptr;\r
-    delete picker;\r
-    picker = nullptr;\r
-    delete title;\r
-    title = nullptr;\r
-    delete group;\r
-    group = nullptr;\r
-    g_pAlarmNewTimeView = nullptr;\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::~AlarmNewTimeView");\r
-}\r
-\r
-AlarmNewTimeView *AlarmNewTimeView::GetInstance(void)\r
-{\r
-    return g_pAlarmNewTimeView;\r
-}\r
-\r
-UILabel *AlarmNewTimeView::GetTitleLabel(const char *titleName)\r
-{\r
-    if (titleName == nullptr) {\r
-        return nullptr;\r
-    }\r
-    UILabel *label = new UILabel();\r
-    if (label == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new label fail");\r
-        return nullptr;\r
-    }\r
-    // 2: half of screen width\r
-    label->SetPosition(LABEL_X, LABEL_Y, HORIZONTAL_RESOLUTION / 2, TITLE_LABEL_DEFAULT_HEIGHT);\r
-    label->SetText(titleName);\r
-    label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT);\r
-    return label;\r
-}\r
-\r
-void AlarmNewTimeView::CreateLabelTime(void)\r
-{\r
-    title = GetTitleLabel(NEW_TIME);\r
-    if (title == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateLabelTime Set title fail");\r
-        return;\r
-    }\r
-    group->Add(title);\r
-    // title->SetPosition(TITLE_X, TITLE_Y); // 672: x-coordinate\r
-    title->SetPosition(83, 50, 300, 35);\r
-    title->SetStyle(STYLE_TEXT_FONT, 30);\r
-    title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-    title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-    title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
-    title->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
-    picker = new UITimePicker();\r
-    if (picker == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateLabelTime:: new picker fail");\r
-        return;\r
+    static AlarmNewTimeView *g_pAlarmNewTimeView = nullptr;\r
+    constexpr int16_t CONTAINER_X = 0;\r
+    constexpr int16_t CONTAINER_Y = 0;\r
+    constexpr int16_t TITLE_X = 153;\r
+    constexpr int16_t TITLE_Y = 30;\r
+    constexpr int16_t TIME_PICKER_X = 75;\r
+    constexpr int16_t TIME_PICKER_WIDTH = 250;\r
+    constexpr int16_t TIME_ITEM_HEIGHT = 80;\r
+    constexpr int16_t TIME_LABEL_BUTTON_X = 63;\r
+    constexpr int16_t TIME_LABEL_BUTTON_Y = 360;\r
+    constexpr int16_t LABEL_X = 0;\r
+    constexpr int16_t LABEL_Y = 45;\r
+    constexpr int16_t LABEL_BLANK = 38;\r
+    constexpr int16_t LIST_W = 300;\r
+    constexpr int16_t LIST_H = 260;\r
+    constexpr int16_t TITLE_LABEL_DEFAULT_HEIGHT = 50;\r
+    constexpr int16_t BUTTON_WIDHT3 = 324;\r
+    constexpr int16_t BUTTON_HEIGHT3 = 101;\r
+    constexpr int16_t PICKER_FONT_SIZE = 25;\r
+    constexpr uint8_t BACKGROUND_FONT = 40;\r
+    constexpr uint8_t HIGHTLIGHT_FONT = 50;\r
+    constexpr uint16_t LABEL_FONT = 40;\r
+\r
+    AlarmNewTimeView::AlarmNewTimeView()\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::AlarmNewTimeView");\r
+        g_pAlarmNewTimeView = this;\r
     }\r
 \r
-    UITimePicker::SelectedListener *selectedListener =\r
-        (UITimePicker::SelectedListener *)OHOS::AlarmPresenter::GetInstance();\r
-    if (selectedListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateLabelTime:: selectedListener is nullptr");\r
-        return;\r
+    AlarmNewTimeView::~AlarmNewTimeView()\r
+    {\r
+        if (group)\r
+        {\r
+            group->RemoveAll();\r
+            if (labelButton)\r
+            {\r
+                delete labelButton;\r
+                labelButton = nullptr;\r
+            }\r
+            if (picker)\r
+            {\r
+                delete picker;\r
+                picker = nullptr;\r
+            }\r
+            if (title)\r
+            {\r
+                delete title;\r
+                title = nullptr;\r
+            }\r
+            delete group;\r
+            group = nullptr;\r
+        }\r
+        g_pAlarmNewTimeView = nullptr;\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::~AlarmNewTimeView");\r
     }\r
-    picker->EnableSecond(false);\r
-    picker->SetPosition(TIME_PICKER_X, LABEL_Y + LABEL_BLANK, LIST_W, LIST_H); // 652: x-coordinate\r
-    picker->SetItemHeight(TIME_ITEM_HEIGHT);\r
-    picker->SetLoopState(0, true);\r
-    picker->SetLoopState(1, true);\r
-    // picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, BACKGROUND_FONT);\r
-    // picker->SetHighlightFont(DEFAULT_VECTOR_FONT_FILENAME, HIGHTLIGHT_FONT);\r
-    picker->SetHighlightFont(GILROY_BOLD_FONT, 65);                    // 设置突出显示文本的字体名称和大小。\r
-    picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, 50); \r
-    picker->SetTextColor(Color::GetColorFromRGBA(0xcc, 0xcc, 0xcc, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
-    picker->RegisterSelectedListener(selectedListener);\r
-    group->Add(picker);\r
-}\r
 \r
-UIScrollView *AlarmNewTimeView::InitNewTimeView(void)\r
-{\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::OnStart");\r
-    group = new UIScrollView();\r
-    if (group == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new group fail");\r
-        return nullptr;\r
+    AlarmNewTimeView *AlarmNewTimeView::GetInstance(void)\r
+    {\r
+        return g_pAlarmNewTimeView;\r
     }\r
-    group->SetPosition(CONTAINER_X, CONTAINER_Y);\r
-    group->SetWidth(HORIZONTAL_RESOLUTION);\r
-    group->SetHeight(VERTICAL_RESOLUTION);\r
-\r
-    CreateLabelTime();\r
 \r
-    labelButton = new UILabelButton();\r
-    if (labelButton == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new labelButton fail");\r
-        return group;\r
+    void AlarmNewTimeView::CreateLabelTime(void)\r
+    {\r
+        if (title == nullptr)\r
+        {\r
+            title = new UILabelExt();\r
+            if (title == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new title fail");\r
+                return;\r
+            }\r
+        }\r
+        title->SetPosition(83, 50, 300, 35);\r
+        title->SetTextId(STR_TIME);\r
+        title->SetStyle(STYLE_TEXT_FONT, 30);\r
+        title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+        title->SetRollSpeed(70);\r
+        group->Add(title);\r
+        /* -------------------------------------------------------------------------- */\r
+        if (picker == nullptr)\r
+        {\r
+            picker = new UITimePicker();\r
+            if (picker == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateLabelTime:: new picker fail");\r
+                return;\r
+            }\r
+        }\r
+        picker->EnableSecond(false);\r
+        picker->SetPosition(TIME_PICKER_X, LABEL_Y + LABEL_Y, LIST_W, LIST_H);\r
+        picker->SetItemHeight(TIME_ITEM_HEIGHT);\r
+        picker->SetLoopState(0, true);\r
+        picker->SetLoopState(1, true);\r
+        // picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, BACKGROUND_FONT);\r
+        // picker->SetHighlightFont(DEFAULT_VECTOR_FONT_FILENAME, HIGHTLIGHT_FONT);\r
+        picker->SetHighlightFont(GILROY_BOLD_FONT, 65); // 设置突出显示文本的字体名称和大小。\r
+        picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, 50);\r
+        picker->SetTextColor(Color::GetColorFromRGBA(0xcc, 0xcc, 0xcc, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
+        UITimePicker::SelectedListener *selectedListener = (UITimePicker::SelectedListener *)OHOS::AlarmPresenter::GetInstance();\r
+        if (selectedListener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreateLabelTime:: selectedListener is nullptr");\r
+            return;\r
+        }\r
+        picker->RegisterSelectedListener(selectedListener);\r
+        group->Add(picker);\r
     }\r
-    // labelButton->Resize(BUTTON_WIDHT3, BUTTON_HEIGHT3);\r
-    // labelButton->SetPosition(TIME_LABEL_BUTTON_X, TIME_LABEL_BUTTON_Y);\r
-    // labelButton->SetText(NEXT);\r
-    // labelButton->SetViewId(ALARM_NEXT);\r
-    // labelButton->SetTouchable(true);\r
-    // labelButton->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE);\r
-    // labelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT);\r
-\r
-    labelButton->SetPosition(0, 366, 466, 100);\r
-    labelButton->SetViewId(ALARM_NEXT);\r
-    labelButton->SetText(NEXT);\r
-    labelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-    labelButton->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
-    labelButton->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE);\r
-    labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0x00, UIButton::PRESSED);\r
-    labelButton->SetTouchable(true);\r
 \r
-    if (OHOS::AlarmPresenter::GetInstance() == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new ShadowBlue fail");\r
-        return group;\r
-    }\r
-    // labelButton->SetTextColor(OHOS::AlarmPresenter::GetInstance()->ShadowBlue());\r
-    UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
-    labelButton->SetOnClickListener(clickListener);\r
-    group->Add(labelButton);\r
+    UIScrollView *AlarmNewTimeView::InitNewTimeView(void)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::InitNewTimeView");\r
+        if (group == nullptr)\r
+        {\r
+            group = new UIScrollView();\r
+            if (group == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new group fail");\r
+                return nullptr;\r
+            }\r
+        }\r
+        group->SetPosition(CONTAINER_X, CONTAINER_Y, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+        UIView::OnDragListener *newTimeDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();\r
+        if (newTimeDragListener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new newTimeDragListener fail");\r
+            return group;\r
+        }\r
+        group->SetOnDragListener(newTimeDragListener);\r
+        /* -------------------------------------------------------------------------- */\r
+        CreateLabelTime();\r
+        if (labelButton == nullptr)\r
+        {\r
+            labelButton = new UILabelButtonExt();\r
+            if (labelButton == nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new labelButton fail");\r
+                return group;\r
+            }\r
+        }\r
+        labelButton->SetPosition(0, 366, 466, 100);\r
+        labelButton->SetViewId(ALARM_NEXT);\r
+        labelButton->SetTextId(STR_NEXT_STEP); // 下一步\r
+        labelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        labelButton->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
+        labelButton->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE);\r
+        labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0x00, UIButton::PRESSED);\r
+        labelButton->SetTouchable(true);\r
+        UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
+        if (clickListener == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new newTimeDragListener fail");\r
+            return group;\r
+        }\r
+        labelButton->SetOnClickListener(clickListener);\r
+        group->Add(labelButton);\r
 \r
-    UIView::OnDragListener *newTimeDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();\r
-    if (newTimeDragListener == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new newTimeDragListener fail");\r
         return group;\r
     }\r
-    group->SetOnDragListener(newTimeDragListener);\r
-\r
-    return group;\r
-}\r
 \r
-void AlarmNewTimeView::RefreshNewTime(void)\r
-{\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::RefreshStep");\r
-    struct tm local_time;\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
+    void AlarmNewTimeView::RefreshNewTime(void)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::RefreshStep");\r
+        struct tm local_time;\r
+        time_t seconds = time(nullptr);\r
+        if (localtime_r(&seconds, &local_time) == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::AlarmGetClockNum get localtime error!");\r
+            return;\r
+        }\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
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time = %s!", weekStr.c_str());\r
+        picker->SetSelected(weekStr.c_str()); // 添加的时间默认初始时间为0点\r
+        uint32_t timeHour = stoi(ostrHour.str());\r
+        uint32_t timeMin = stoi(ostMin.str());\r
+        AlarmPresenter::GetInstance()->OnTimePickerInaction(timeHour, timeMin);\r
     }\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
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time = %s!", weekStr.c_str());\r
-    picker->SetSelected(weekStr.c_str()); // 添加的时间默认初始时间为0点\r
-    uint32_t timeHour = stoi(ostrHour.str());\r
-    uint32_t timeMin = stoi(ostMin.str());\r
-    AlarmPresenter::GetInstance()->OnTimePickerInaction(timeHour, timeMin);\r
-}\r
 } // namespace OHOS\r
index a28756f..6e7abde 100644 (file)
@@ -555,4 +555,17 @@ void AlarmPresenter::UpdateAlarmInfoByAppSet(void)
     NativeAbility::GetInstance().Back();\r
 }\r
 \r
+void AlarmPresenter::RefreshAlarmStatus(int i)\r
+{\r
+    uint8_t alarmEnable = 0;\r
+    bool alarmStatus;\r
+    alarmStatus = AlarmClockModel::GetInstance()->GetClockStatus(i, &alarmEnable);\r
+    if (!alarmStatus) {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter:: GetClockStatus fail! i = %d", i);\r
+    }\r
+    if( MainAlarmView::GetInstance())\r
+    {\r
+        MainAlarmView::GetInstance()->RefreshAlarmStatus(alarmEnable, i);\r
+    }\r
+}\r
 }
\ No newline at end of file
index 91fce4d..b126649 100644 (file)
@@ -5,13 +5,13 @@
  * Create: 2021-09-11\r
  */\r
 \r
-#include "AlarmSetTimeView.h"\r
+#include "alarm/include/AlarmSetTimeView.h"\r
 #include "common/screen.h"\r
 #include "components/ui_label.h"\r
 #include "components/ui_label_ext.h"\r
 #include "components/ui_label_button.h"\r
 #include <string>\r
-\r
+#include "ui_resource_string.h"\r
 namespace OHOS {\r
 #define SET_THIS_TIME "设置时间"\r
 #define SURE "确认"\r
@@ -51,8 +51,6 @@ AlarmSetTimeView::~AlarmSetTimeView()
     if(nullptr != group)\r
     {\r
         group->RemoveAll();\r
-        // delete timeImage;\r
-        // timeImage = nullptr;\r
         if(nullptr != labelButton)\r
         {\r
             delete labelButton;\r
@@ -120,16 +118,17 @@ void AlarmSetTimeView::SetLabelButton(void)
     // timeImage->SetImageSrc(PNG_NEW_DEVICE, PNG_NEW_DEVICE);\r
     // group->Add(timeImage);\r
 \r
-    \r
-    labelButton = new UILabelButton();\r
     if (labelButton == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView::SetLabelButton");\r
-        return ;\r
+        labelButton = new UILabelButtonExt();\r
+        if (labelButton == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView::SetLabelButton");\r
+            return ;\r
+        }\r
     }\r
-\r
     labelButton->SetPosition(0, 366, 466, 100);\r
     labelButton->SetViewId(ALARM_OK);\r
-    labelButton->SetText(SURE);\r
+    // labelButton->SetText(SURE);\r
+    labelButton->SetTextId(STR_OK);//确定\r
     labelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
     labelButton->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
     labelButton->SetImageSrc(PNG_BUTTON_466x100_IMAGE, PNG_BUTTON_466x100_IMAGE);\r
@@ -143,31 +142,48 @@ void AlarmSetTimeView::SetLabelButton(void)
 UIScrollView *AlarmSetTimeView::InitSetTimeView(void)\r
 {\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView::OnStart");\r
-    group = new UIScrollView();\r
     if (group == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: new group fail");\r
-        return nullptr;\r
+        group = new UIScrollView();\r
+        if (group == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: new group fail");\r
+            return nullptr;\r
+        }\r
     }\r
-    group->SetPosition(CONTAINER_X, CONTAINER_Y);\r
-    group->SetWidth(HORIZONTAL_RESOLUTION);\r
-    group->SetHeight(VERTICAL_RESOLUTION);\r
-\r
-    title = GetTitleLabel(SET_THIS_TIME);\r
-    if (title == nullptr) {\r
-        return nullptr;\r
+    group->SetPosition(CONTAINER_X, CONTAINER_Y,Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+    group->SetTouchable(true);\r
+    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 nullptr");\r
+        return group;\r
+    }\r
+    group->SetOnDragListener(setTimeDragListener);\r
+    /* -------------------------------------------------------------------------- */\r
+    if (title == nullptr)\r
+    {\r
+        title = new UILabelExt();\r
+        if (title == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView:: new title fail");\r
+            return group;\r
+        }\r
     }\r
-    group->Add(title);\r
-    // title->SetPosition(TITLE_X, TITLE_Y); // 672: x-coordinate\r
     title->SetPosition(83, 50, 300, 35);\r
+    title->SetTextId(STR_TIME);\r
     title->SetStyle(STYLE_TEXT_FONT, 30);\r
     title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
     title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
     title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-    title->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
-    picker = new UITimePicker();\r
+    title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+    title->SetRollSpeed(70);\r
+    group->Add(title);\r
+    /* -------------------------------------------------------------------------- */\r
     if (picker == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: new picker fail");\r
-        return nullptr;\r
+        picker = new UITimePicker();\r
+        if (picker == nullptr) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetTimeView:: new picker fail");\r
+            return nullptr;\r
+        }\r
     }\r
     UITimePicker::SelectedListener *selectedListener =\r
         (UITimePicker::SelectedListener *)OHOS::AlarmPresenter::GetInstance();\r
@@ -176,7 +192,7 @@ UIScrollView *AlarmSetTimeView::InitSetTimeView(void)
         return nullptr;\r
     }\r
     picker->EnableSecond(false);\r
-    picker->SetPosition(TIME_PICKER_X, LABEL_Y + LABEL_BLANK, LIST_W, LIST_H); // 652: x-coordinate\r
+    picker->SetPosition(TIME_PICKER_X, LABEL_Y + LABEL_Y, LIST_W, LIST_H); // 652: x-coordinate\r
     picker->SetItemHeight(TIME_ITEM_HEIGHT);\r
     // picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, BACKGROUND_FONT);\r
     // picker->SetHighlightFont(DEFAULT_VECTOR_FONT_FILENAME, HIGHTLIGHT_FONT);\r
@@ -191,14 +207,6 @@ UIScrollView *AlarmSetTimeView::InitSetTimeView(void)
 \r
     SetLabelButton();\r
 \r
-    group->SetTouchable(true);\r
-    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 nullptr");\r
-        return group;\r
-    }\r
-    group->SetOnDragListener(setTimeDragListener);\r
     return group;\r
 }\r
 \r
index 4adfe64..86e00a1 100644 (file)
@@ -10,6 +10,7 @@
 #include "ui_label_button.h"
 #include "PhoneService.h"
 #include "ui_resource_string.h"
+#include "ConfigModel.h"
 
 namespace OHOS {
 static MainAlarmView *g_MainAlarmView = nullptr;
@@ -214,8 +215,26 @@ void MainAlarmView::AlarmAddButtonCreate(void)
     }
 }
 
+//更新闹钟添加按钮的位置
 void MainAlarmView::AlarmAddButtonUpdate(uint8_t count)
 {
+    // if(nullptr == AddButton_|| group == nullptr)
+    // {
+    //     return; 
+    // }
+    // int y = 120;
+    // int bef_y = 0;
+    // int aft_y = 0;
+    // bef_y = AddButton_->GetY();
+    // AddButton_->SetY((0 == count) ? (y) : (y * (count + 1)));
+    // aft_y = AddButton_->GetY();
+    // bool is_up_drag = bef_y- aft_y > 0 ? false:true;
+    
+    // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: AddButton_before = %d", __LINE__, bef_y);
+    // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: AddButton_after  = %d", __LINE__, aft_y);
+    // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]: is_up_drag       = %d", __LINE__, is_up_drag);
+    // // group->ScrollBy(0, is_up_drag ? - 120 : 120);
+    // group->Invalidate();
     if(nullptr == AddButton_)
         return; 
 
@@ -252,17 +271,20 @@ UIViewGroup * MainAlarmView::NewClockCtlExt(int16_t alarmNum, uint8_t index)
         dClock[alarmNum]->SetPosition(50, 10, 110, 50);
         dClock[alarmNum]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, D_CLOCK_FONT_SIZE);
         dClock[alarmNum]->SetDisplayMode(UIDigitalClock::DISPLAY_24_HOUR_NO_SECONDS);
-
-        dLabel[alarmNum] = new UILabel();
+        /* -------------------------------------------------------------------------- */
+        dLabel[alarmNum] = new UILabelExt();
         if (dLabel[alarmNum] == nullptr) {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new dLabel fail");
             return nullptr;
         }
         dLabel[alarmNum]->SetPosition(50, 60, 200, 35);
+        dLabel[alarmNum]->SetStyle(STYLE_TEXT_FONT, 30);
+        dLabel[alarmNum]->SetStyle(STYLE_LINE_HEIGHT, 35);
+        dLabel[alarmNum]->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
         dLabel[alarmNum]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, D_CLOCK_LABEL_FONT);
         dLabel[alarmNum]->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
         dLabel[alarmNum]->SetRollSpeed(70);
-
+        /* -------------------------------------------------------------------------- */
         statusButton[alarmNum] = new UIToggleButton();
         if (statusButton[alarmNum] == nullptr) {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView:: new statusButton[alarmNum] fail");
@@ -281,7 +303,7 @@ UIViewGroup * MainAlarmView::NewClockCtlExt(int16_t alarmNum, uint8_t index)
             return nullptr;
         }
         statusButton[alarmNum]->SetOnChangeListener((UICheckBox::OnChangeListener *)statusListener);
-
+        /* ----------------------------------- Add ---------------------------------- */
         TempGroup_->Add(dClock[alarmNum]);
         TempGroup_->Add(dLabel[alarmNum]);
         TempGroup_->Add(statusButton[alarmNum]);
@@ -354,36 +376,48 @@ void MainAlarmView::LabelGetWeek(uint8_t week, int16_t alarmNum)
 {
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainAlarmView::week = %u!", week);
     std::string weekStr;
+    std::string weekStr_en;
     if ((week & 0x7f) == 0x7f) { // 判断0~6位是否都为1,如若都为1,则一周7天闹钟都响应
         weekStr = EVERY_DAY;
+        weekStr_en = EVERY_DAY_EN;
     } else if (week == 0) { // 判断0~6位是否都为0,如若都为0,则一周7天都不响应,闹钟为不重复开启
         weekStr = DO_NOT_REPEAT;
+        weekStr_en = DO_NOT_REPEAT_EN;
     } else {
         if ((week & 0x02) == 0x02) { // 判断第1位是否为1,如若为1,则星期一响应
             weekStr += MON_DAY;
+            weekStr_en += MON_DAY_EN;
         }
         if ((week & 0x04) == 0x04) { // 判断第2位是否为1,如若为1,则星期二响应
             weekStr += TUE_DAY;
+            weekStr_en += TUE_DAY_EN;
         }
         if ((week & 0x08) == 0x08) { // 判断第3位是否为1,如若为1,则星期三响应
             weekStr += WED_DAY;
+            weekStr_en += WED_DAY_EN;
         }
         if ((week & 0x10) == 0x10) { // 判断第4位是否为1,如若为1,则星期四响应
             weekStr += THUR_DAY;
+            weekStr_en += THUR_DAY_EN;
         }
         if ((week & 0x20) == 0x20) { // 判断第5位是否为1,如若为1,则星期五响应
             weekStr += FRI_DAY;
+            weekStr_en += FRI_DAY_EN;
         }
         if ((week & 0x40) == 0x40) { // 判断第6位是否为1,如若为1,则星期六响应
             weekStr += SAT_DAY;
+            weekStr_en += SAT_DAY_EN;
         }
         if ((week & 0x01) == 0x01) { // 判断第0位是否为1,如若为1,则星期日响应
             weekStr += SUN_DAY;
+            weekStr_en += SUN_DAY_EN;
         }
     }
-    dLabel[alarmNum]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, D_CLOCK_LABEL_FONT);
-    dLabel[alarmNum]->SetText(weekStr.c_str());
-    dLabel[alarmNum]->SetStyle(STYLE_TEXT_OPA, LABEL_SEMITRANSPARENT);
+    if(ConfigModel::GetInstance()->GetLanguage() == 0)
+        dLabel[alarmNum]->SetText(weekStr.c_str());
+    else
+        dLabel[alarmNum]->SetText(weekStr_en.c_str());
+    dLabel[alarmNum]->ForceResetText();
 }
 
 bool MainAlarmView::GetRefreshStatus(void)
@@ -393,17 +427,20 @@ bool MainAlarmView::GetRefreshStatus(void)
 
 void MainAlarmView::RefreshAlarmStatus(uint8_t alarmEnable, int16_t num)
 {
-    reflashStatus = true;
-    if (alarmEnable == 0) {
-        statusButton[num]->SetState(false);
-    } else if (alarmEnable == 1) {
-        statusButton[num]->SetState(true);
-    }
-    reflashStatus = false;
-    dClock[num]->SetVisible(true);
-    statusButton[num]->SetVisible(true);
+    if(statusButton[num] && dClock[num] && SwipeView_[num])
+    {
+        reflashStatus = true;
+        if (alarmEnable == 0) {
+            statusButton[num]->SetState(false);
+        } else if (alarmEnable == 1) {
+            statusButton[num]->SetState(true);
+        }
+        reflashStatus = false;
+        dClock[num]->SetVisible(true);
+        statusButton[num]->SetVisible(true);
 
-    SwipeView_[num]->SetCurrentPage(0);
+        SwipeView_[num]->SetCurrentPage(0);
+    }
 }
 
 void MainAlarmView::OnStart()
@@ -420,13 +457,16 @@ void MainAlarmView::OnStart()
         return;
     }
     // group->SetPosition(CONTAINER_X, CONTAINER_Y, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);
-    group->SetPosition(0, 30, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight() - 60);
-
+    group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
     UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();
-    // CreateImage();
-    group->SetScrollBlankSize(30);
+    group->SetScrollBlankSize(50);
+    // group->SetMaxScrollDistance(1000); // 1000: max scroll distance
+    // group->SetSwipeACCLevel(800);      // 800: compensation distance
+    // group->SetDragACCLevel(5);         // 5: drag acceleration
+    // group->SetThrowDrag(true);
     group->SetTouchable(true);
     group->SetDraggable(true);
+    group->SetDirection(UIScrollView::VERTICAL);
     UIView::OnDragListener *alarmDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();
     if (alarmDragListener == nullptr) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new alarmDragListener fail");
@@ -521,13 +561,7 @@ void MainAlarmView::RefreshAlarm(void)
         {
             if(SwipeView_[dClockNum])
             {   
-        group->Remove(SwipeView_[dClockNum]);
-        group->Remove(SwipeView_[dClockNum]);
-
-        // 0
                 group->Remove(SwipeView_[dClockNum]);
-
-        // 0
                 SwipeView_[dClockNum]->RemoveAll();
                 // 0
                 if(SwipeViewItem_[dClockNum][0])
index 6342f91..ce5948f 100644 (file)
@@ -340,7 +340,7 @@ static int32 DeleteAndUpdataListAlarmToday(uint8 id)
 
     if (node == g_alarmTodayList.end() || id > EVENT_ALARM_CLOCK_MAX) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DeleteAndUpdataListAlarmToday id is invalid, id = %u!!", id);
-        return STATUS_ALARM_ID_INVALID;
+        // return STATUS_ALARM_ID_INVALID;
     }
 
     (void)SetFirstAlarmToday(TYPE_CUR_NODE_NO_SKIP);
@@ -512,7 +512,7 @@ void AlmmgrAlarmClockEventProcess(const AlarmClockQueueMsg *alarmClockMsg)
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlmmgrAlarmClockEventProcess alarmClockMsg is invalid!!");
         return;
     }
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlmmgrAlarmClockEventProcess type = %lu ", alarmClockMsg->eventType);
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlmmgrAlarmClockEventProcess type = %lu ", alarmClockMsg->eventType);
 
     switch (alarmClockMsg->eventType) {
         case EVENT_ALARM_RING:
index d5e915d..b2b9f02 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-07-27 11:22:17
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-07 17:14:44
+ * @LastEditTime: 2024-09-10 19:57:44
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/obumessage/src/OBUMessageModel.cpp
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -298,7 +298,7 @@ namespace OHOS
 
         std::string strSongName = uri;
         std::string pureName = strSongName.substr(0, strSongName.rfind(".")); // 播放音乐的路径需要引用.号
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit, url:%s ", uri);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayerInit, url:%s ", uri.c_str());
         //std::string strSrcMusic(APP_MUSIC_PATH);
         std::string strSrcMusic("/music/ring");
         std::string tempStr("/");
index 4258294..db4838d 100755 (executable)
@@ -26,7 +26,7 @@ namespace OHOS
     constexpr int32_t NOTIFY_ONE_SECOND = 1000;
     constexpr int32_t NOTIFY_THIRTY_SECONDS = 30 * 1000; // 30秒
     constexpr int32_t NOTIFY_ONE_MINUTE = 60 * 1000;
-    static int popalarm_time = 60;
+    static int popalarm_time = 50;
     constexpr int32_t NOTOFY_NO_OPERATE_TIME = 30 * 1000; // 无操作30s超时时间
     osTimerId_t g_notifyStopHandle = nullptr;             // timer of close view and alarm ring view
     osTimerId_t g_alarmRing = nullptr;                    // timer of alarm view
@@ -101,6 +101,7 @@ namespace OHOS
         {
             DisableAlarmTimer(AlarmTimerType::NOTIFY_ALARM_RING);
             // AlarmPopUpPresenter::GetInstance()->CancelAlarmRing();
+            AlarmClockModel::GetInstance()->CancelAlarmRing();
             FindWatchViewEventListener::GetInstance().PopInterCancelMusic();
             NotificationManager::GetInstance()->StopNotify();
         }
@@ -214,7 +215,7 @@ namespace OHOS
                     return;
                 }
                 g_alarmRing = nullptr;
-                popalarm_time = 60;
+                popalarm_time = 50;
             }
             break;
         default:
@@ -595,7 +596,7 @@ namespace OHOS
             if (strcmp(view.GetViewId(), ALARM_VIEW_POPUP) == 0)
             {
                 DisableAlarmTimer(AlarmTimerType::NOTIFY_ALARM_RING);
-                // AlarmPopUpPresenter::GetInstance()->CancelAlarmRing();
+                AlarmClockModel::GetInstance()->CancelAlarmRing();
                 FindWatchViewEventListener::GetInstance().PopInterCancelMusic();
                 NotificationManager::GetInstance()->StopNotify();
             }
@@ -636,6 +637,7 @@ namespace OHOS
         {
             DisableAlarmTimer(AlarmTimerType::NOTIFY_ALARM_RING);
             // AlarmPopUpPresenter::GetInstance()->CancelAlarmRing();
+            AlarmClockModel::GetInstance()->CancelAlarmRing();
             FindWatchViewEventListener::GetInstance().PopInterCancelMusic();
             NotificationManager::GetInstance()->StopNotify();
         }